2005-01-27  Keith Seitz  <keiths@redhat.com>

	* configure.in: Rename to ...
	* configure.ac: ... this.
	* configure: Regnerate.

2004-07-19  Martin Hunt  <hunt@redhat.com>

	* All: Updated load_lib calls to find new location
	of insight-support.exp.

2004-07-16  Andrew Cagney  <cagney@redhat.com>

	* insight-support.exp: Moved to here from ../lib.

2003-02-28  Martin M. Hunt  <hunt@redhat.com>

	* c_variable.test: Fix result for 6.22.

2003-02-27  Martin M. Hunt  <hunt@redhat.com>

	* cpp_variable.test: Major changes required because varobj_update
	now returns "-1" if a variable is out of scope.

	* c_variable.test: Major changes required because varobj_update
	now returns "-1" if a variable is out of scope. This fixes a bunch 
	of XFAILS. Change bug reporting address.
	
	* windows.test: Remove HtmlViewer from list of windows.

	* srcwin.test: Use "list get" instead of "listget" to
	get contents of comboboxes. 
	(2.1): Be less sensitive. 

	* srcwin2.test: Use "list get" instead of "listget" to
	get contents of comboboxes
	(2-1.3): Accept assembly == mixed
	for no source tests.

	* srcwin3.test:  Use "list get" instead of "listget" to
	get contents of comboboxes

2002-09-09  Fred Fish  <fnf@intrinsity.com>

	* simple.c:  Pass addresses to strncpy, not chars.

2002-04-26  Martin M. Hunt  <hunt@redhat.com>

	* defs (gdbtk_test_done): Call gdbtk_force_quit. 

2002-04-26  Martin M. Hunt  <hunt@redhat.com>

	* srcwin.test (click): Take a button number as an arg.
	Generate a ButtonPress event then a ButtonRelease event
	for that button number.
	(4.4): Fix args for click().
	(5.1): Fix results again.

2002-03-07  Martin M. Hunt  <hunt@redhat.com>

	* srcwin.test (5.1): Adjust line numbers to
	test now runs correctly.

2002-01-18  Keith Seitz  <keiths@redhat.com>

	* console.test: Don't rely on "event generate" to do
	keystrokes. It just doesn't work. Use the console window's
	"test" method instead.
	Use Console::test instead of Console::get_text.

2002-01-15  Keith Seitz  <keiths@redhat.com>

	* c_variable.test (1.4,2.14): Remove test for local frame
	variables. Varobj now forces evaluation in the current frame
	by default.
	(2.15): Ignore any changes and only check for out of scope
	locals (which is still unsupported).
	* cpp_variable.test (1.1): Support alternative names for
	local scope.
	(1.6a): Catch call to gdb_cmd to prevent an error from
	throwing testsuite into la-la land. Add to test.
	(1.7): Ignore results from children during step, since
	they may or may not change value when the parent changes.
	(2.2a): New test incorperating gdb_cmd (also wrapped in
	catch).
	(2.22a): Likewise.
	(2.71a): Likewise.

2001-12-20  Keith Seitz  <keiths@redhat.com>

	* cpp_variable.test: Catch non-test calls in case we
	could not run.

2001-10-25  Keith Seitz  <keiths@redhat.com>

	* defs (_report_error): Fix typo.
	(show_warning): Redefine the standard warning handler
	so that we don't end up stalling tests with a warning dialog.

	* windows.exp: New file.
	* windows.test: New file.

2001-10-08  Keith Seitz  <keiths@redhat.com>

	* c_variable.test (check_update): Forget about returning
	the "unchanged" list. It unneccessarily complicates things.
	Update all callers.
	* cpp_variable.test: Likewise.

2001-08-30  Keith Seitz  <keiths@redhat.com>

	* README: Update documentation to reflect recent changes.
	* browser.exp: Load the insight testsuite support library.
	* c_variable.exp: Likewise.
	* console.exp: Likewise.
	* cpp_variable.exp: Likewise.
	* srcwin.exp: Likewise.

2001-08-16  Keith Seitz  <keiths@redhat.com>

	* cpp_variable.test (2.29, 2.30, 2.43, 2.63, 2.72): Char
	pointers can now be dereferenced. Update test to reflect
	this change in varobj.
	* c_variable.test (4.9, 4.10, 4.47, 4.48, 5.1, 5.2, 5.3,
	5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.17, 5.18, 5.43, 5.44, 5.47,
	5.48, 5.49, 5.50, 5.51, 5.53, 6.30): Likewise.

2001-08-13  Jeff Holcomb  <jeffh@redhat.com>

	* cpp_variable.test: Use gdbtk_test_run to start the test
	program.

2001-05-07  Keith Seitz  <keiths@cygnus.com>

	* README: New file.

        * configure.in: Check for executable filename extension.
	* Makefile.in: Add filename extensions.
        * configure: Regenerated.

        * defs: Fix typo setting _test(verbose).
        (gdbtk_test_file): New proc to load executables into gdbtk.
        (gdbtk_test_run): New proc to run executables on gdbtk.
        * browser.exp: Don't check if DISPLAY is set: let
        gdbtk_initialize_display do it all for us.
        Call gdbtk_done when finished with tests.
        * c_variable.exp: Ditto.
        * console.exp: Ditto.
        * cpp_variable.exp: Ditto.
        Only run tests if c++ is supported in the configuration.
        * srcwin.exp: Ditto the DISPLAY stuff.
        Accumulate all test results for the end and report them then.

        * browser.test: Use gdbtk_test_file and gdbtk_test_run
        to load and run an executable.
        * c_variable.test: Use gdbtk_test_file and gdbtk_test_run
        to load and run an executable.
        * srcwin.test: Ditto.
        * srcwin1.test: Ditto.
        * srcwin2.test: Ditto.

        * browser.test: (set_search_mode): Use "configure
        -value" not "entryset" to set the combobox's value. We need
        to have the command fired.
        (browser-3.5): Remove trailing whitespace which causes test to
        fail.
        (browser-4.4): Expect something rational. Regexp "\_1$" cannot
        match "func_10"!
        (browser-4.5): Ditto.
        (browser-5.12): Select all files for search to make test
        match description.
        (browser-6.2): Renamed from another test also calledd 6.1.
        (browser-7.1): Delete all breakpoints at once without from_tty.
        Select all entries in the comobox before invoking BP set/delete
        button.
        (browser-7.2): Ditto.

        * list0.c, list1.c, list0.h: New files. Grabbed from gdb.base.
        * srcwin.exp: Use these local files instead of those in gdb.base.

1999-09-17  Fernando Nasser  <fnasser@totem.to.cygnus.com>

	* cpp_variable.test: Add test (2.75) to verify
	that a baseclass member value was effectively changed.

1999-09-17  Fernando Nasser  <fnasser@totem.to.cygnus.com>

	* cpp_variable.test: Update for new variable
	code.

1999-09-17  Fernando Nasser  <fnasser@totem.to.cygnus.com>

	* c_variable.test: Update for new variable code.

1999-09-17  Fernando Nasser  <fnasser@totem.to.cygnus.com>

	* cpp_variable.h (class V): Add type to virtual function
	declaration.

1999-06-08  Fernando Nasser  <fnasser@totem.to.cygnus.com>

	* browser.exp: Use untested and not warning when DISPLAY is
	not found.
	* c_variable.exp: Same.
	* console.exp: Same.
	* cpp_variable.exp: Same.
	* srcwin.exp: Same.

1999-04-12  Keith Seitz  <keiths@cygnus.com>

	* cpp_variable.exp: Pass the "c++" flag to gdb_compile so
	that it can grab the right compiler.

1999-03-16  Martin Hunt  <hunt@cygnus.com>

	* srcwin.test (srcwin-4.5): Change variable name
	to $b so test will run again.

1999-03-03  James Ingham  <jingham@cygnus.com>

	* browser.test: Fixed up to match the new function browser.
	This is not done yet...

	* srcwin.test: Check for errors when the bbox is called for a text 
	item that is not on screen (so bbox is "").  Return something more 
	useful.

1999-03-01  James Ingham  <jingham@cygnus.com>

	Changelog entries merged over from gdb development branch.

	1999-01-12  Martin Hunt  <hunt@cygnus.com>
	* srcwin.test: Add a bunch of tests for the source
	window filename and function comboboxes.  Add in stack tests.

	1999-01-11  Martin Hunt  <hunt@cygnus.com>
	* srcwin.test: New file. Source Window tests.
	* srcwin.exp: New file. Source Window tests.

	Wed Jan  6 09:22:52 1999  Keith Seitz  <keiths@cygnus.com>
	* c_variable.test (c_variable-1.9): Add new
	test to check for creation of a variable that is really a type.
	(c_variable-7.81): Use "output" instead of "print" to get PC.
	Include missing bits of test.

	* cpp_variable.test (cpp_variable-1.6): Default format
	is now "natural", not "hexadecimal"
	(cpp_variable-2.22): Ditto.
	(cpp_variable-2.24): Force format to hex before getting value.

	* cpp_variable.exp: Supply missing arg to gdbtk_analyze_results.

	Tue Jan  5 12:40:52 1999  Keith Seitz  <keiths@cygnus.com>
	* gdb.gdbtk/c_variable.c, c_variable.test, c_variable.exp: New C
	language tests for variable object interface.
	
	* gdb.gdbtk/cpp_variable.h, cpp_variable.cc, cpp_variable.test,
	cpp_variable.exp: New C++ language tests for variable object
	interface.
	
	* gdb.gdbtk/Makefile.in (EXECUTABLES): Add c_variable and cpp_variable.

	Tue Jan  5 12:33:47 1999  Keith Seitz  <keiths@cygnus.com>
	lib/gdb.exp (gdbtk_analyze_results): Generic function
	for outputting results of test run.
	
	* gdb.gdbtk/defs (gdbtk_test): Handle xpass and xfail.
	(gdbtk_test_error): New proc which handles error aborts.
	
	* gdb.gdbtk/console.exp: Use gdbtk_analyze_results.
	Check if we have a valid DISPLAY before running.
	* gdb.gdbtk/browser.exp: Ditto.

	1998-12-07  Martin M. Hunt  <hunt@cygnus.com>
	* lib/gdb.exp (gdbtk_start): Fix path for itcl library.
	* gdb.gdbtk/browser.test: Change "manage open" to ManagedWin::open.
	* gdb.gdbtk/console.test: Same.
	* gdb.gdbtk/*: Update from devo.

	Fri Jul 24 14:57:19 1998  Keith Seitz  <keiths@cygnus.com>
	* gdb.gdbtk/Makefile.in: Add new example program "stack".
	* gdb.gdbtk/browser.test,browser.exp: Add browser window
	  tests.
	* gdb.gdbtk/stack1.c,stack2.c: Test case for browser window.

1999-02-22  Martin Hunt  <hunt@cygnus.com>

	* srcwin.test (move_mouse_to): Fix typo.

1999-02-03  Martin Hunt  <hunt@cygnus.com>

	* console.test (clear_command_line): Add tests 1.5 - 1.8,
	which test the new Shift-Up and Shift-Down bindings.

1999-02-01  Martin Hunt  <hunt@cygnus.com>

	* srcwin.test (srcwin-4.3): Fix bp test.

1999-01-29  Martin Hunt  <hunt@cygnus.com>

	* srcwin.test (click): New function that generates an event
	at a location.
	(srcwin-4.4): New test. Simulate a click on a line and
	check for breakpoint set.
	(srcwin-4.5): New test. Right-click on a line and select "Continue
	to Here" from popup.

	* srcwin.exp: Source srcwin3.test, which will test source window
	assembly debugging on executables built without "-g".
	
1999-01-29  Martin Hunt  <hunt@cygnus.com>	

	* srcwin.exp: Add srcwin2.test, which are basically the same
	tests as srcwin.test, but run with a missing source file.

	* srcwin2.test: New file.

	* srcwin.test: Add tests for setting breakpoints in the source window,
	testing BP balloons, variable balloons, and mixed-mode disassembly
	of include files.

Sun Jun 28 22:34:34 1998  Martin M. Hunt  <hunt@cygnus.com>

	* gdb.gdbtk/simple.c (main): Make main return an
	int so compiler will stop complaining.

Fri Jun 26 14:27:13 1998  Keith Seitz  <keiths@cygnus.com>

	* gdb.gdbtk/console.{exp, test}: New console window tests.
