2007-07-27 Paul Jakma <paul.jakma@sun.com>

	* bgp_capability_test.c: new, capability parser unit tests.
	* Makefile.am: add previous.

2006-08-26 Paul Jakma <paul.jakma@sun.com>

	* heavy-wq.c: (slow_func_del,slow_func) update to match workqueue
	  changes

2006-08-06 Paul Jakma <paul.jakma@sun.com>

	* aspath_test.c: (validate) Fix the sense of the aspath_loop_check,
	  which was the wrong way around and had actually been testing for
	  aspath_loop_check to be buggy.

2006-05-28 Paul Jakma <paul.jakma@sun.com>

	* test-sig.c: (main) configure logging, there's no terminal
	  to write to for one thing, but we do want stdout, and we
	  don't want a test to spam syslog.

2006-03-16 Paul Jakma <paul.jakma@sun.com>

	* heavy-wq.c: (heavy_wq_init) delay is gone from workqueue
	  spec.
	* aspath_test.c: (test_segments) Add an AS_SET with redundant
	  ASNs.
	  ({empty_prepend,prepend,parse}_test) add static qualifiers

2006-01-16 Paul Jakma <paul.jakma@sun.com>

	* aspath_test.c: (validate) free the temporary aspaths.
	  (empty_get_test) ditto.

2006-01-10 Paul Jakma <paul.jakma@sun.com>

	* test-stream.c: new file, small unit test for new
	  resize and {put,get}-quad stream functions.
	* Makefile.am: build teststream unit test.

2005-11-23 Paul Jakma <paul.jakma@sun.com>

	* aspath_test.c: Add an empty aspath to test segments, and to
	  compare tests.
	  Add a segment identical to seq1, but with one extra asn.
	  Fix bogus free of stream in make_aspath for case where
	  no stream was allocated (empty path data).

2005-10-11 Paul Jakma <paul.jakma@sun.com>

	* test-privs.c: Privileges unit test.
	* Makefile.am: build testprivs
	* aspath_test.c: fix a few sign warnings

2005-09-06 Paul Jakma <paul@dishone.st>

	* aspath_test.c: Test bgp_aspath functionality.
	* Makefile.am: build aspathtest
	* ChangeLog: Fix date of previous commit

2005-09-06 Paul Jakma <paul@dishone.st>

	* test-buffer.c: include memory.h
          (main) call memory_init().
	
2004-09-05 Paul Jakma <paul@dishone.st>

	* heavy-wq.c: (slow_func_del,slow_func_err) make them take
	  void * argument to shut up silly gcc warning.
	  
2004-05-25 Paul Jakma <paul@dishone.st>

	* main.c: new file, common 'main' portion which then calls
	  test_init.
	* heavy.c: remove common portions now in 'main.
	* heavy-wq.c: ditto
	* heavy-thread.c: ditto
	* heavy*.c: Set the slow_function iteration number lower, to 300, it
	  was several orders of magnitude too 'slow' to be useful. :)
	* Makefile.am: main is a source of the tests. heavy should link
	  to the math library.

2004-05-22 Paul Jakma <paul@dishone.st>

	* heavy-thread.c: Andrew Schorr's adaptation of heavy.c to use a
	  background thread to avoid responsiveness problems.
	* Makefile.am: Build heavythread

2004-05-21 Paul Jakma <paul@dishone.st>

	* heavy.c: Add a timer thread to demonstrate thread interactivity,
	  Add a daemon_exit command to assist with debugging (eg for memory
	  tracers, etc..)

2004-05-19 Paul Jakma <paul@dishone.st>

	* heavy.c: test programme to show how long-running functions
	  kill responsiveness. Demonstrating the most niggly problem 
	  left in bgpd.

2004-05-13 Paul Jakma <paul@dishone.st>

	* test-buffer.c: Andrew's buffer tester
	* test-memory.c: basic memory tester
	* Makefile.am: Add new tests
