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

	* aspath_test.c: Test dupe-weeding from sets.
	  Test that reconciliation merges AS_PATH and AS4_PATH where
	  former is shorter than latter.

2007-09-26 Paul Jakma <paul.jakma@sun.com>

	* aspath_test.c: Test AS4_PATH reconcilation where length
	  of AS_PATH and AS4_PATH is same.

2007-09-25 Paul Jakma <paul.jakma@sun.com>

	* bgp_capability_test.c: (general) Extend tests to validate
	  peek_for_as4_capability.
	  Add test of full OPEN Option block, with multiple capabilities,
	  both as a series of Option, and a single option.
	  Add some crap to beginning of stream, to prevent code depending
	  on getp == 0.

2007-09-18 Paul Jakma <paul.jakma@sun.com>

	* bgp_capability_test.c: (parse_test) update for changes to
	  peek_for_as4_capability

2007-09-17 Paul Jakma <paul.jakma@sun.com>

	* bgp_capability_test.c: Test that peer's adv_recv and adv_nego get
	  set correctly for MP capability and given AFI/SAFI.
	  Colour OK/failed result so it's easier to find them.

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

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

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

	* aspath_test.c: Exercise 32bit parsing. Test reconcile
	  function.
	* ecommunity_test.c: New, test AS4 ecommunity changes, positive
	  test only at this time, error cases not tested yet.
	
2006-12-01 Juergen Kammer <j.kammer@eurodata.de>

	* aspath_test.c: Support asn32 changes, call aspath_parse with 16 bit.

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
