diff options
Diffstat (limited to 'gdb/testsuite')
29 files changed, 0 insertions, 10103 deletions
diff --git a/gdb/testsuite/gdb.gdbtk/ChangeLog b/gdb/testsuite/gdb.gdbtk/ChangeLog deleted file mode 100644 index 1099ce4c317..00000000000 --- a/gdb/testsuite/gdb.gdbtk/ChangeLog +++ /dev/null @@ -1,314 +0,0 @@ -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. diff --git a/gdb/testsuite/gdb.gdbtk/Makefile.in b/gdb/testsuite/gdb.gdbtk/Makefile.in deleted file mode 100644 index 51151a57814..00000000000 --- a/gdb/testsuite/gdb.gdbtk/Makefile.in +++ /dev/null @@ -1,36 +0,0 @@ -VPATH = @srcdir@ -srcdir = @srcdir@ - -EXEEXT = @EXEEXT@ - -EXECUTABLES = simple$(EXEEXT) stack$(EXEEXT) c_variable$(EXEEXT) \ - cpp_variable$(EXEEXT) - -# uuencoded format to avoid SCCS/RCS problems with binary files. -CROSS_EXECUTABLES = - -all: - @echo "Nothing to be done for all..." - -info: -install-info: -dvi: -install: -uninstall: force -installcheck: -check: - -clean mostlyclean: - -rm -f *~ *.o a.out xgdb *.x $(CROSS_EXECUTABLES) *.ci *.tmp - -rm -f core core.coremaker coremaker.core corefile $(EXECUTABLES) - -rm -f twice-tmp.c - -distclean maintainer-clean realclean: clean - -rm -f *~ core - -rm -f Makefile config.status config.log - -rm -f arch.inc - -rm -f *-init.exp - -rm -fr *.log summary detail *.plog *.sum *.psum site.* - -Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in - $(SHELL) ./config.status --recheck diff --git a/gdb/testsuite/gdb.gdbtk/README b/gdb/testsuite/gdb.gdbtk/README deleted file mode 100644 index b70488647b4..00000000000 --- a/gdb/testsuite/gdb.gdbtk/README +++ /dev/null @@ -1,421 +0,0 @@ - The Insight Testsuite - --------------------- - Keith Seitz (keiths@cygnus.com) - May 1, 2001 - -RUNNING THE TESTSUITE - -The Insight testsuite is run in much the same way that gdb's testsuites -are run. The one big difference is the environment variable GDB_DISPLAY, -which governs what display should be used for the tests. - -When GDB_DISPLAY is not set in the user's environment, the Insight testsuite -will attempt to run Xvfb, an X server with a virtual frame buffer. Using -Xvfb, the testsuite can run without interuppting the user. - -When Xvfb is not available, the testsuite will mark the Insight tests -"untested" and print out some appropriate warning to the testsuite log -file. - -If GDB_DISPLAY is set in the user's environment, the testsuite will attempt -to use this display for the tests. If this display is a desktop display, -it is very likely that any interaction between the user and his desktop -will interfere with the tests. Some tests warp the cursor, i.e., they -force the mouse to move on the screen. If you don't want this to happen to -you, put Xvfb in your path. - -On Cygwin systems, Xvfb is not supported. Only two choices are available in -this environment: run the testsuites using the desktop or do not run the -testsuite. To run the testsuite on Cygwin, just define the environment -variable GDB_DISPLAY to anything. - -The examples below summarize the usage of the environment variable GDB_DISPLAY -on unix/X-Windows hosts and Cygwin hosts. In all examples, assume that DISPLAY -set to the local workstation's main display (:0). - -To run the testsuite using Xvfb -- unix only (Xvfb must be in PATH): -$ make check - -To run the testsuite using a given display (either the desktop or a peviously -started Xvfb): -$ GDB_DISPLAY=$DISPLAY make check - -To run the testsuite on Cygwin: -$ GDB_DISPLAY=foo make check - - -TESTSUITE INFRASTRUCTURE - -The rest of this document deals with writing tests for Insight. This reading -is only noteworthy for developers and contributors. - -The Insight testsuite consists of two large portions of code: code which is -run in dejagnu and code which runs in Insight's built-in Tcl interpreter. Files -containing dejagnu code (those files ending in ".exp" in the testsuite directory) -are "glue code" between gdb's dejagnu testsuite and Insight's Tcl testsuite. - -Dejagnu testsuite files are considered "drivers" for any particular set of -tests, since they allow dejagnu to control Insight's Tcl testsuite. - - -Dejagnu Testsuite Infrastructure - -The dejagnu code is responsible for doing several things. Some of the more -important responsibilities include: - -o Initializing the display -o Determining if tests should be run -o Results accounting -o Compiling testcases in various languages -o Repoting results to gdb's testsuite - -There are various functions defined to facilitate the writing of tests. These -functions currently reside in gdb's gdb.exp (src/gdb/testsuite/lib/gdb.exp) and -include: - -Pulic functions: -proc gdbtk_initialize_display {} - - gdbtk_initialize_display should be the first function called from the - (dejagnu) test file. It initializes the DISPLAY variable on unix systems - and determines (for all host systems) whether or not the testsuite should - run. It returns 1 if the test should run. If tests should not run, it - marks the test as "untested" and leaves a suitable message about why - the test should not run. If gdbtk_initialize_display returns zero, a test - should simply exit. - -proc gdbtk_start {test} - - This function marks the start of a test and will execute Insight for - testing. The TEST parameter should be the file name of the Tcl test - file to load into Insight's Tcl interpreter. It returns a list of - test results suitable for passing to gdbtk_done or gdbtk_analyze_results. - See gdbtk_analyze_results for more information on the format of results. - - gdbtk_start is responsible for communicating target startup information - to Insight, so that Insight's testsuite may be run on any target supported - by gdb. It does this by setting several environment variables just before - it starts Insight. These environment variables are: - - OBJDIR - The object directory of the dejagnu testsuite (i.e., - objdir/gdb/testsuite). - SRCDIR - The dejagnu source directory in which the tests are located (i.e, - src/gdb/testsuite) - SUBDIR - The dejagnu testsuite subdirectory for the test (i.e., gdb.gdbtk) - DEFS - The location of the testsuite definitions file (i.e., - src/gdb/testsuite/gdb.gdbtk/defs) - - Note that DEFS is converted to abs$lute tcl-style paths. On unix, - this means that DEFS would point to, for example, - /home/keiths/insight/src/gdb/testsuite/gdb.gdbtk/defs. On Cygwin it - would point to C:/cygwin/home/keiths/insight/src/gdb/testsuite/gdb.gdbtk/defs. - This is because of a descrepency between Cygwin's posix paths and Tcl's - not-quite-posix paths. - -proc gdbtk_analyze_results {results} - This function translates the list of results in RESULTS into dejagnu - results, reporting the number of failures, errors, passes, and expected - failures and passes. It currently does not deal with "untested" and other - test statuses from dejagnu since Insight's tcl testsuite does not - issue such results. - - The format of the results expected by gdbtk_analyze_results is simple: - it is a list of {status name description msg}. "status" is the execution - status of one of the tcl tests run. This can be "PASS", "FAIL", "ERROR", - "XFAIL", or "XPASS". - - "name" is the name of the test, and it is reported in all testsuite - results in dejagnu. This speeds location of the failing test. This - "name" may also be given to Insight's testsuite, telling it to - only run this test. See "do_tests" in Tcl Testsuite Infrastructure - for more information. - - "description" is a textual description of the test given by "name". - - "msg" is currently not used. - -proc gdbtk_done {{results {}}} - gdbtk_done takes any RESULTS and passes it gdbtk_analyze_results for - outputting to the dejagnu part of the testsuite. It may be called - without an argument, in which case it will only terminate Xvfb if it - was started. Tests must call gdbtk_done _once_ at the end of their - test drivers. - -Private functions: -proc _gdbtk_export_target_info - This functin exports information about the target into the environment - so that Insight's testsuite may run programs on any supported gdb - target. This target information is passed into the Tcl testsuite - via an environment variable, TARGET_INFO, which is really a Tcl array, - i.e., the array is constructed in tcl and exported into the environment - with Tcl's "array get" command). - - There are four elements to the array: - TARGET_INFO(init) - (optional) A list of commands to execute in gdb - to initialize the session. This usually includes - setting baud rates and remote protocol options. - TARGET_INFO(target) - (required) The complete "target" command to connect - to the given target. - TARGET_INFO(load) - (optional) The complete "load" command to load an - executable into a target. - TARGET_INFO(run) - (required) The complete "run" command, sans arguments, - to start a process on the target. For remote targets, - this is usually just "continue". - -proc _gdbtk_xvfb_init - This procedure actually determines whether the an Insight test should - run and what DISPLAY it should use for that test. It is called by - gdbtk_initialize_display to do most of the dirty work. - - It has a simple heuristic: If GDB_DISPLAY is not set and Xvfb is available - (on unix), it starts Xvfb, using the current process id as the screen number. - If Xvfb is not available and GDB_DISPLAY was not set, it skips the tests. - -proc _gdbtk_xvfb_exit - _gdbtk_xvfb_exit will kill any previously started Xvfb. - -Private globals: -global _xvfb_spawn_id - This variable holds the spawn_id of any Xvfb process started - by the testsuite (or it is left undefined). - -global _using_windows - A global variable which indicates whether the testsuite is running - on cygwin. Unfortunately, as of writing, the global variable - tcl_platform(platform) is "unix" on Cygwin, so it is not possible - to rely on this for platform-dependent operations. - - Instead, this variable is set by gdbtk_initialize_display. The test - it uses to determine if Cygwin is being used: it looks for the program - cygpath in the PATH. Therefore, cygpath is REQUIRED to run the testsuite - on Cygwin. (gdbtk_start also uses cygpath to determine Windows - pathnames for Cygwin.) - - -Testsuite Driver Basics - -Given the above interfaces for connecting Insight's Tcl testsuite and -gdb's dejagnu testsuite, the basic testsuite driver file should look -(minimally) like this: - -File: mytest.exp -1 load_lib "insight-support.exp" -2 if {[gdbtk_initialize_display]} { -3 # We found a display to use -4 gdb_exit; # Make sure any previous gdb is gone -5 set results [gdbtk_start mytest.test] -6 -7 # Done! -8 gdbtk_done [split $results \n] -9 } - -Line 1 loads the insight testsuite support library which contains definitions -for all the procedures used in dejagnu to initialize and run the Insight testsuite. -Line 2 calls gdbtk_initialize_display to ascertain whether there is a display -to use for the test. This could use an existing display (if GDB_DISPLAY is -set in the environment) or gdbk_initialize_display could startup an Xvfb -for use by the testsuite. - -Line 4 forces any previously executing gdb to terminate. - -Line 5 signals the start of the test run. "mytest.test" is the name of the -Tcl test file to execute in Insight's built-in Tcl interpreter. The output -of gdbtk_start_test is all of the results of the Tcl test from Insight, which -is subsequently passed to gdbk_analyze_results via gdbtk_done on Line 8. - -Note how nothing happens if gdbtk_initialize_display returns false. - - -Tcl Testsuite Infrastructure - -The heart of Insight's testsuite is its Tcl testsuite. It is these tests -which run directly in Insight's Tcl interpreter and allow test writers -access to Insight's internals. Tcl testsuite files have the filename suffix -".test" to distinguish them from their driver files, which end in ".exp". - -The design of the Insight Tcl testsuite parallels Tcl's testsuite. It has -many powerful features, including the ability to run ANY test in a given -Tcl test file. See the description of utility routines below for more -information about running any set of tests from a file. - -The bulk of the code implementing the Tcl testsuite infrastructure in -Insight is contained in the testsuite definitions file, "defs", located -in src/gdb/testsuite/gdb.gdbtk. This file contains routines necessary -to write tests for Insight. - -Public functions: -proc gdbtk_read_defs {} - This function, located in Insight's core Tcl library, attempts to load - the testsuite definitions file. If it fails, it will either pop up - a dialog box with the error (if running interactively) or it will - print the error to stderr and exit (if running non-interactively). - - If successful, it will return true. - -proc gdbtk_test_file {filename} - This function is used to load the file given by FILENAME into - Insight. It will automatically append ".exe" to any FILENAME - on Cygwin-hosted systems. - - If successful, it will load the given file into Insight and - return the output of gdb's file command. It will call "error" - if it was succesful, therefore all calls to "gdbtk_test_file" - should be called using "catch". - - Test authors should not use "gdb_cmd {file FILENAME}" to load - files into gdb unless they are testing interface code between - gdb and Insight. - -proc gdbtk_test_run {{prog_args {}}} - gdbtk_test_run runs the previoiusly loaded executable, passing - the given arguments to the inferior. Like Insight's Run button, - it will do whatever is necessary to get the executable running, - including any target initialization (setting baud rate and remote - protocol options), downloading the executable to the target, and - finally starting execution. - - Test authors should NEVER use "gdb_cmd {run ARGUMENTS}" to run an - executable. Doing so will insure that your tests will only run on - a native debugger. - - It returns true if successful or false otherwise. It will report - the error in a dialog box (if running interactively) or it will - print the error to stderr. - -proc gdbtk_test {name description script answer} - This is Tcl testsuite equivalent of "expect". "name" is a canonical - name of the test, usually of the form "shortname-major.minor". This is - the name that is used when running selected tests from a given file. - If "name" starts with an asterisk (*), it designates that the test - is expected to fail. - - "description" is a short textual description of the test to help - humans understand what it does. - - "script" is the actual test script to run. The result of this script - will be compared against "answer" to determine if the test passed - or failed. - - It calls gdbtk_print_verbose to print out the results to the terminal - (if running interactively) or to the log file. - -proc gdbtk_test_done {} - gdbtk_test_done is called at the very end of all tcl tests. It is used - to exit Insight and return control back to the dejagnu driver which - started the tests. - -proc gdbtk_dotests {file args} - Obsolete. - -proc do_test {{file {}} {verbose {}} {tests {}}} - This procedure is used to invoke the Insight test(s) given in FILE - which match the regular expression(s) in TESTS. This is invoked - from Insight's console window to run tests interactively. - - VERBOSE sets the verbosity of the test run. When set to one, - the testsuite will report all results in human readable form. - When set greater than one, it will print out results as a list, - i.e., for passing to gdbtk_analyze_results. If zero, it will only - print errors and failures in human readable form. - -Public global variables: -objdir - The objdir from dejagnu. See gdbtk_start for more information. -srcdir - The srcdir from dejagnu. See gdbtk_start for more information. -test_ran - Indicates whether the last test ran or not. See example below. - -Private functions: -proc gdbtk_test_error {desc} - An internal function used to report a framework error in the testsuite. - "desc" is a description of the error. It calls gdbtk_test_done. - -proc gdbtk_print_verbose {status name description script code answer} - A helper procedure to gdbtk_test which prints out results to the terminal - or the logfile (or both or none). - -Private global variables: -_test - An array used by the testsuite internals. - - -Tcl Test Basics - -Armed with the basic interface described above, it is possible to test Insight's -GUI. Please do not write tests which attempt to imitate a user (moving the -mouse and clicking buttons), unless there is no other way to test the functionality. - -The basic test file (with one test) looks like this (nonsensical one): -File: mytest.test -1 if {![gdbtk_read_defs]} { -2 break -3 } -4 -5 global objdir test_ran -6 set program [file join $objdir mytest] -7 if {[catch {gdbtk_test_file $program} t]} { -8 gdbtk_test_error "loading \"$program\": $t" -9 } -10 if {![gdbtk_test_run]} { exit 1 } -11 -12 global foo -13 set foo 1 -14 -15 # Test: mytest-1.1 -16 # Desc: check if a source window was created -17 gdbtk_test mytest-1.1 {source window created} { -18 set window [ManagedWin::find SrcWin] -19 llength $window -20 set foo 13 -21 } {1} -22 -23 if {$test_ran} { -24 set foo 1 -25 } -26 -27 # Done -28 gdbtk_test_done - -Line 1 calls the Inisght function gdbtk_read_defs to read in the testsuite -definitions file. - -Line 6 then specifies the name of a file (mytest) in the object directory -which is loaded into gdb on Line 7. If loading the file into Insight -failed, gdbtk_test_error is called to publish the error (and terminate the -test run for this file). - -Line 10 runs the executable on the target, and exits if it was unable -to do so. - -Line 13 simply sets a global variable foo to illustrate the purpose -of the global "test_ran". Before the test "mytest-1.1" runs, foo is set to -one. In order to support running specific tests, the state of the debugger -cannot be altered INSIDE gdbtk_test scripts, since the contents of the -script may not be run if the user requested only a specific test to run. - -Line 20 in the middle of the test modifies the global foo. If subsequent -test relied on foo being one, we would have a state violation, since -mytest-1.1 may have (or may have not) run. - -Therefore, we can check if a test ran and reset foo by checking the -global "test_ran". If set, we know that the previous test (mytest-1.1) -was run, and that foo is now thirteen. We reset the result back to one. - -(Aside: Some tests do not follow this rule explicitly: they can assume -that all tests run sequentially. In these cases, running a specific -test in the file will probably fail, since the debugger is not brought -to a known state along the way.) - -Lines 17-21 contain the actual test. The test's name is "mytest-1.1". It -is this name that may be referred to when asking the testsuite to run -a specific test. The description of this test is "source window created", -indicating that mytest-1.1's purpose is to check whether a source window -was created. - -If gdbtk_test determines that this test is to run, it will execute the -next part, lines 18-20, and compare the output of that script (llength -$window) with "1". If the result is not "1", a failure is recorded. If -it is "1", a pass is recorded. - -Finally, the test file is done and exits on line 28. diff --git a/gdb/testsuite/gdb.gdbtk/browser.exp b/gdb/testsuite/gdb.gdbtk/browser.exp deleted file mode 100644 index 9869bc4ee48..00000000000 --- a/gdb/testsuite/gdb.gdbtk/browser.exp +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1998, 1999, 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License (GPL) as published by -# the Free Software Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -load_lib insight-support.exp - -if {[gdbtk_initialize_display]} { - if {$tracelevel} { - strace $tracelevel - } - - # - # test browser window - # - set prms_id 0 - set bug_id 0 - - set testfile "stack" - set binfile ${objdir}/${subdir}/${testfile} - set r [gdb_compile "${srcdir}/${subdir}/stack1.c ${srcdir}/${subdir}/stack2.c" "${binfile}" executable {debug}] - if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." - } - - # Start with a fresh gdbtk - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir browser.test]] - set results [split $results \n] - - # Analyze results - gdbtk_done $results -} diff --git a/gdb/testsuite/gdb.gdbtk/browser.test b/gdb/testsuite/gdb.gdbtk/browser.test deleted file mode 100644 index 9e358dab1a5..00000000000 --- a/gdb/testsuite/gdb.gdbtk/browser.test +++ /dev/null @@ -1,686 +0,0 @@ -# Browser Window Tests -# Copyright 1998, 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Keith Seitz (keiths@cygnus.com) - -# Read in the standard defs file - -if {![gdbtk_read_defs]} { - break -} - -global objdir test_ran -set _files(stupid_initializer) -100 - -##### ##### -# # -# Helper functions for this module # -# # -##### ##### - -# Set the search expression -proc set_regexp {exp} { - global browser - - $browser component filt_entry delete 0 end - $browser component filt_entry insert 0 $exp -} - -# Do the search -proc do_search {} { - global browser - $browser search - set m [$browser component func_box get 0 end] - - return $m -} - -# Set search to use regular expressions. -proc set_search_mode {val} { - global browser - pref set gdb/search/filter_mode $val - - # Use configure instead of entryset: need to have - # combobox's command fire - $browser component filt_type configure -value $val -} - -# Highlight a file -proc select {filename} { - global browser _files - - if {[info exists _files($filename)]} { - $browser component file_box selection set $_files($filename) - } else { - set files [$browser component file_box get 0 end] - set i [lsearch $files $filename] - set _files($filename) $i - $browser component file_box selection set $i - } - $browser search -} - -proc select_all {} { - global browser - - $browser component file_all invoke - -} - -# clear all files -proc clear {} { - global browser - - $browser component file_box selection clear 0 end - $browser search -} - -##### ##### -# # -# BROWSER TESTS # -# # -##### ##### - -# Load the test executable -set program [file join $objdir stack] -if {[catch {gdbtk_test_file $program} t]} { - # This isn't a test case, since if this fails, we're hosed. - gdbtk_test_error "loading \"$program\": $t" -} - -# Open a browser -set browser [ManagedWin::open BrowserWin] - -# Test: browser-1.1 -# Desc: Check file listbox contents -gdbtk_test browser-1.1 {file listbox contents} { - set m [$browser component file_box get 0 end] - set f {} - if {[lsearch $m stack1.c] == -1} { - lappend f 0 - } else { - lappend f 1 - } - if {[lsearch $m stack2.c] == -1} { - lappend f 0 - } else { - lappend f 1 - } - - join $f \ -} {1 1} - -# Tests 2.* test starts with search mode. -# Test: browser-2.1 -# Desc: Check all files/all funcs -gdbtk_test browser-2.1 {all files/all funcs} { - set_search_mode "starts with" - set_regexp "" - select_all - set m [do_search] - set r 0 - foreach f {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 \ - extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 \ - extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 \ - extern_func1_7 extern_func1_8 extern_func1_9 func_1 \ - func_10 func_11 func_12 func_13 \ - func_14 func_15 func_2 func_3 \ - func_4 func_5 func_6 func_7 \ - func_8 func_9 main static_func_1 \ - static_func_10 static_func_11 static_func_12 static_func_13 \ - static_func_14 static_func_15 static_func_2 static_func_3 \ - static_func_4 static_func_5 static_func_6 static_func_7 \ - static_func_8 static_func_9} { - if {[lsearch $m $f] != -1} { - incr r - } - } - - set r -} {46} - -# Test: browser-2.2 -# Desc: Check all functions in stack1.c -gdbtk_test browser-2.2 {all functions in stack1.c} { - set_regexp "" - clear - select stack1.c - set m [do_search] - - set r 0 - foreach f {func_1 func_10 func_11 func_12 \ - func_13 func_14 func_15 func_2 \ - func_3 func_4 func_5 func_6 \ - func_7 func_8 func_9 main \ - static_func_1 static_func_10 static_func_11 static_func_12 \ - static_func_13 static_func_14 static_func_15 static_func_2 \ - static_func_3 static_func_4 static_func_5 static_func_6 \ - static_func_7 static_func_8 static_func_9} { - if {[lsearch $m $f] != -1} { - incr r - } - } - - set r -} {31} -if {$test_ran} { - clear -} - -# Test: browser-2.3 -# Desc: Check all functions in stack2.c -gdbtk_test browser-2.3 {all functions in stack2.c} { - set_regexp "" - clear - select stack2.c - set m [do_search] - - set r 0 - foreach f {extern_func1_1 extern_func1_10 extern_func1_11 \ - extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 \ - extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 \ - extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9} { - if {[lsearch $m $f] != -1} { - incr r - } - } - - set r -} {15} -if {$test_ran} { - clear -} - -# Test: browser-2.4 -# Desc: Check for all functions matching "func" - mode starts with -gdbtk_test browser-2.4 {all functions matching "func" - "mode starts with"} { - set_search_mode "starts with" - select_all - set_regexp func - do_search -} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9} - -# Test: browser-2.5 -# Desc: Check all functions matching "func" in stack1.c - mode starts with -gdbtk_test browser-2.5 {all functions matching "func" in stack1.c - "mode starts with"} { - set_search_mode "starts with" - set_regexp func - clear - select stack1.c - do_search -} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9} - -# Test: browser-2.6 -# Desc: Check all functions matching "funcs" in stack2.c - mode starts with -gdbtk_test browser-2.6 {all functions matching "func" in stack2.c - mode "starts with"} { - set_search_mode "starts with" - set_regexp func - clear - select stack2.c - do_search -} {} -if {$test_ran} { - clear -} - -# Test: browser-2.7 -# Desc: Check all functions matching "foobar" -gdbtk_test browser-2.7 {all functions matching "foobar"} { - set_search_mode "starts with" - select_all - set_regexp foobar - do_search -} {} - -# Test: browser-2.8 -# Desc: Check all functions matching "foobar" in stack1.c -gdbtk_test browser-2.8 {functions matching "foobar" in stack1.c} { - set_search_mode "starts with" - set_regexp foobar - clear - select stack1.c - do_search -} {} - -# Tests 3.* test "contains" search mode. -# Test: browser-3.1 -# Desc: Check all files/all funcs -gdbtk_test browser-3.1 {all files/all funcs} { - set_search_mode "contains" - set_regexp "" - select_all - set m [do_search] - set r 0 - foreach f {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 \ - extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 \ - extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 \ - extern_func1_7 extern_func1_8 extern_func1_9 func_1 \ - func_10 func_11 func_12 func_13 \ - func_14 func_15 func_2 func_3 \ - func_4 func_5 func_6 func_7 \ - func_8 func_9 main static_func_1 \ - static_func_10 static_func_11 static_func_12 static_func_13 \ - static_func_14 static_func_15 static_func_2 static_func_3 \ - static_func_4 static_func_5 static_func_6 static_func_7 \ - static_func_8 static_func_9} { - if {[lsearch $m $f] != -1} { - incr r - } - } - - set r -} {46} - -# Test: browser-3.2 -# Desc: Check all functions in stack1.c -gdbtk_test browser-3.2 {all functions in stack1.c} { - set_regexp "" - set_search_mode "contains" - clear - select stack1.c - set m [do_search] - - set r 0 - foreach f {func_1 func_10 func_11 func_12 \ - func_13 func_14 func_15 func_2 \ - func_3 func_4 func_5 func_6 \ - func_7 func_8 func_9 main \ - static_func_1 static_func_10 static_func_11 static_func_12 \ - static_func_13 static_func_14 static_func_15 static_func_2 \ - static_func_3 static_func_4 static_func_5 static_func_6 \ - static_func_7 static_func_8 static_func_9} { - if {[lsearch $m $f] != -1} { - incr r - } - } - - set r -} {31} - -if {$test_ran} { - clear -} - -# Test: browser-3.3 -# Desc: Check all functions in stack2.c -gdbtk_test browser-3.3 {all functions in stack2.c} { - set_regexp "" - set_search_mode "contains" - clear - select stack2.c - set m [do_search] - - set r 0 - foreach f {extern_func1_1 extern_func1_10 extern_func1_11 \ - extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 \ - extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 \ - extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9} { - if {[lsearch $m $f] != -1} { - incr r - } - } - - set r -} {15} -if {$test_ran} { - clear -} - -# Test: browser-3.4 -# Desc: Check for all functions matching "func" - mode contains -gdbtk_test browser-3.4 {all functions matching "func_1" - "mode contains"} { - set_search_mode "contains" - set_regexp "func_1" - select_all - do_search -} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15} - -# Test: browser-3.5 -# Desc: Check all functions matching "func_1" in stack1.c - mode contains -gdbtk_test browser-3.5 {all functions matching "func_1" in stack1.c - "mode contains"} { - set_search_mode "contains" - set_regexp "func_1" - clear - select stack1.c - do_search -} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15} - -# Test: browser-3.6 -# Desc: Check all functions matching "func_1" in stack2.c - mode contains -gdbtk_test browser-3.6 {all functions matching "func" in stack2.c - mode "contains"} { - set_search_mode "contains" - set_regexp func_1 - clear - select stack2.c - do_search -} {} - -# Test: browser-3.7 -# Desc: Check all functions matching "foobar" -gdbtk_test browser-3.7 {all functions matching "foobar"} { - set_search_mode "contains" - select_all - set_regexp foobar - do_search -} {} - -# Test: browser-3.8 -# Desc: Check all functions matching "foobar" in stack1.c -gdbtk_test browser-3.8 {functions matching "foobar" in stack1.c} { - set_search_mode "contains" - set_regexp foobar - clear - select stack1.c - do_search -} {} - -# Tests 4.* test "ends with" search mode. -# Test: browser-4.1 -# Desc: Check all files/all funcs -gdbtk_test browser-4.1 {all files/all funcs} { - set_search_mode "ends with" - set_regexp "" - select_all - set m [do_search] - set r 0 - foreach f {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 \ - extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 \ - extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 \ - extern_func1_7 extern_func1_8 extern_func1_9 func_1 \ - func_10 func_11 func_12 func_13 \ - func_14 func_15 func_2 func_3 \ - func_4 func_5 func_6 func_7 \ - func_8 func_9 main static_func_1 \ - static_func_10 static_func_11 static_func_12 static_func_13 \ - static_func_14 static_func_15 static_func_2 static_func_3 \ - static_func_4 static_func_5 static_func_6 static_func_7 \ - static_func_8 static_func_9} { - if {[lsearch $m $f] > -1} { - incr r - } - } - - set r -} {46} - -# Test: browser-4.2 -# Desc: Check all functions in stack1.c -gdbtk_test browser-4.2 {all functions in stack1.c} { - set_regexp "" - set_search_mode "ends with" - clear - select stack1.c - set m [do_search] - - set r 0 - foreach f {func_1 func_10 func_11 func_12 \ - func_13 func_14 func_15 func_2 \ - func_3 func_4 func_5 func_6 \ - func_7 func_8 func_9 main \ - static_func_1 static_func_10 static_func_11 static_func_12 \ - static_func_13 static_func_14 static_func_15 static_func_2 \ - static_func_3 static_func_4 static_func_5 static_func_6 \ - static_func_7 static_func_8 static_func_9} { - if {[lsearch $m $f] != -1} { - incr r - } - } - - set r -} {31} - -if {$test_ran} { - clear -} - -# Test: browser-4.3 -# Desc: Check all functions in stack2.c -gdbtk_test browser-4.3 {all functions in stack2.c} { - set_regexp "" - set_search_mode "ends with" - clear - select stack2.c - set m [do_search] - - set r 0 - foreach f {extern_func1_1 extern_func1_10 extern_func1_11 \ - extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 \ - extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 \ - extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9} { - if {[lsearch $m $f] != -1} { - incr r - } - } - - set r -} {15} -if {$test_ran} { - clear -} - -# Test: browser-4.4 -# Desc: Check for all functions matching "func_1" - mode ends with -gdbtk_test browser-4.4 {all functions matching "func_1" - "mode ends with"} { - set_search_mode "ends with" - set_regexp "func_1" - select_all - do_search -} {func_1 static_func_1} - -# Test: browser-4.5 -# Desc: Check all functions matching "func_1" in stack1.c - mode ends with -gdbtk_test browser-4.5 {all functions matching "func_1" in stack1.c - "mode ends with"} { - set_search_mode "ends with" - set_regexp "func_1" - clear - select stack1.c - do_search -} {func_1 static_func_1} -if {$test_ran} { - clear -} - -# Test: browser-4.6 -# Desc: Check all functions matching "func_1" in stack2.c - mode ends with -gdbtk_test browser-4.6 {all functions matching "func" in stack2.c - mode "ends with"} { - set_search_mode "ends with" - set_regexp func_1 - clear - select stack2.c - do_search -} {} - -# Test: browser-4.7 -# Desc: Check all functions matching "foobar" -gdbtk_test browser-4.7 {all functions matching "foobar"} { - set_search_mode "ends with" - select_all - set_regexp foobar - do_search -} {} - -# Test: browser-4.8 -# Desc: Check all functions matching "foobar" in stack1.c -gdbtk_test browser-4.8 {functions matching "foobar" in stack1.c} { - set_search_mode "ends with" - set_regexp foobar - clear - select stack1.c - do_search -} {} -if {$test_ran} { - clear -} - -# Test: browser-5.10 -# Desc: Check all functions matching regexp "func" -gdbtk_test browser-5.10 {all functions matching regexp "func"} { - set_search_mode "matches regexp" - set_regexp func - select_all - do_search -} {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9 func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} - -# Test: browser-5.11 -# Desc: Check all functions matching regexp "func" in stack1.c -gdbtk_test browser-5.11 {all functions matching regexp "func" in stack1.c} { - set_search_mode "matches regexp" - set_regexp func - clear - select stack1.c - do_search -} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9} - -# Test: browser-5.12 -# Desc: Check all functions matching regexp "func" in stack2.c -gdbtk_test browser-5.12 {all functions matching regexp "func" in stack2.c} { - set_regexp func - clear - select stack2.c - do_search -} {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9} - -# Test: browser-5.13 -# Desc: Check all functions matching regexp "\_1$" -gdbtk_test browser-5.13 {all functions matching regexp "\_1$"} { - set_search_mode "matches regexp" - set_regexp {\_1$} - select_all - do_search -} {extern_func1_1 func_1 static_func_1} - -# Test: browser-5.14 -# Desc: Check all functions matching regexp "\_1$" in stack1.c -gdbtk_test browser-5.14 {all functions matching regexp "\_1$" in stack1.c} { - set_search_mode "matches regexp" - set_regexp {\_1$} - clear - select stack1.c - do_search -} {func_1 static_func_1} - -# Test: browser-5.15 -# Desc: Check all functions matching regexp "\_1$" in stack2.c -gdbtk_test browser-5.15 {all functions matching regexp "\_1$" in stack2.c} { - set_search_mode "matches regexp" - set_regexp {\_1$} - clear - select stack2.c - do_search -} {extern_func1_1} - -# Test: browser-5.16 -# Desc: Check all functions matching regexp "foobar" -gdbtk_test browser-5.16 {all functions matching regexp "foobar"} { - set_search_mode "matches regexp" - set_regexp foobar - select_all - do_search -} {} - -# Test: browser-5.17 -# Desc: Check all functions matching regexp "foobar" in stack1.c -gdbtk_test browser-5.17 {all functions matching regexp "foobar" in stack1.c} { - set_search_mode "matches regexp" - set_regexp foobar - clear - select stack1.c - do_search -} {} - - -# Test: browser-6.1 -# Desc: Check select button function -gdbtk_test browser-6.1 {select button - select all} { - clear - select_all - set m [$browser component file_box curselection] - - expr {[llength $m] >= 2} -} {1} - -# Test: browser-6.2 -# Desc: Check that search expressions are saved -gdbtk_test browser-6.2 {save last search expression} { - set_regexp hello - select_all - do_search - pref get gdb/search/last_symbol -} {hello} - -# Test: browser-7.1 -# Desc: Toggle all bps on -gdbtk_test browser-7.1 {toggle_all_bp on} { - set_regexp {\_1$} - set_search_mode "matches regexp" - select_all - set funcs [do_search] - - # select all to set bp on - $browser component func_box selection set 0 end - $browser component func_add_bp invoke - - set bps {} - foreach f $funcs { - if {![catch {gdb_loc $f} ls]} { - if {[bp_exists $ls] != -1} { - lappend bps $f - } - } - } - - catch {gdb_cmd "delete" 0} - join [lsort $bps] -} {extern_func1_1 func_1 static_func_1} - -# Test: browser-7.2 -# Desc: Toggle some bps off -gdbtk_test browser-7.2 {toggle_some_bp off} { - set_regexp {\_1$} - set_search_mode "matches regexp" - select_all - set funcs [do_search] - - $browser component func_box selection set 0 end - $browser component func_add_bp invoke - - # Turn off all the "static_func_*" bps - set_regexp {^static.*_1$} - do_search - $browser component func_box selection set 0 end - $browser component func_remove_bp invoke - set bps {} - foreach f $funcs { - if {![catch {gdb_loc $f} ls]} { - if {[bp_exists $ls] != -1} { - lappend bps $f - } - } - } - - catch {gdb_cmd "delete" 0} - - join [lsort $bps] -} {extern_func1_1 func_1} - -# -# Exit -# -gdbtk_test_done diff --git a/gdb/testsuite/gdb.gdbtk/c_variable.c b/gdb/testsuite/gdb.gdbtk/c_variable.c deleted file mode 100644 index 461d5cee2fa..00000000000 --- a/gdb/testsuite/gdb.gdbtk/c_variable.c +++ /dev/null @@ -1,296 +0,0 @@ -struct _simple_struct { - int integer; - unsigned int unsigned_integer; - char character; - signed char signed_character; - char *char_ptr; - int array_of_10[10]; -}; - -typedef struct _simple_struct simpleton; - -simpleton global_simple; - -enum foo { - bar = 1, - baz -}; - -typedef enum foo efoo; - -union named_union -{ - int integer; - char *char_ptr; -}; - -typedef struct _struct_decl { - int integer; - char character; - char *char_ptr; - long long_int; - int **int_ptr_ptr; - long long_array[10]; - - void (*func_ptr) (void); - struct _struct_decl (*func_ptr_struct) (int, char *, long); - struct _struct_decl *(*func_ptr_ptr) (int, char *, long); - union { - int a; - char *b; - long c; - enum foo d; - } u1; - - struct { - union { - struct { - int d; - char e[10]; - int *(*func) (void); - efoo foo; - } u1s1; - - long f; - struct { - char array_ptr[2]; - int (*func) (int, char *); - } u1s2; - } u2; - - int g; - char h; - long i[10]; - } s2; -} weird_struct; - -struct _struct_n_pointer { - char ****char_ptr; - long ****long_ptr; - struct _struct_n_pointer *ptrs[3]; - struct _struct_n_pointer *next; -}; - -void do_locals_tests (void); -void do_block_tests (void); -void subroutine1 (int, long *); -void nothing (void); -void do_children_tests (void); -void do_special_tests (void); -void incr_a (int); - -void incr_a (int a) -{ - int b; - b = a; -} - -void -do_locals_tests () -{ - int linteger; - int *lpinteger; - char lcharacter; - char *lpcharacter; - long llong; - long *lplong; - float lfloat; - float *lpfloat; - double ldouble; - double *lpdouble; - struct _simple_struct lsimple; - struct _simple_struct *lpsimple; - void (*func) (void); - - /* Simple assignments */ - linteger = 1234; - lpinteger = &linteger; - lcharacter = 'a'; - lpcharacter = &lcharacter; - llong = 2121L; - lplong = &llong; - lfloat = 2.1; - lpfloat = &lfloat; - ldouble = 2.718281828459045; - lpdouble = &ldouble; - lsimple.integer = 1234; - lsimple.unsigned_integer = 255; - lsimple.character = 'a'; - lsimple.signed_character = 21; - lsimple.char_ptr = &lcharacter; - lpsimple = &lsimple; - func = nothing; - - /* Check pointers */ - linteger = 4321; - lcharacter = 'b'; - llong = 1212L; - lfloat = 1.2; - ldouble = 5.498548281828172; - lsimple.integer = 255; - lsimple.unsigned_integer = 4321; - lsimple.character = 'b'; - lsimple.signed_character = 0; - - subroutine1 (linteger, &llong); -} - -void -nothing () -{ -} - -void -subroutine1 (int i, long *l) -{ - global_simple.integer = i + 3; - i = 212; - *l = 12; -} - -void -do_block_tests () -{ - int cb = 12; - - { - int foo; - foo = 123; - { - int foo2; - foo2 = 123; - { - int foo; - foo = 321; - } - foo2 = 0; - } - foo = 0; - } - - cb = 21; -} - -void -do_children_tests (void) -{ - weird_struct *weird; - struct _struct_n_pointer *psnp; - struct _struct_n_pointer snp0, snp1, snp2; - char a0, *a1, **a2, ***a3; - char b0, *b1, **b2, ***b3; - char c0, *c1, **c2, ***c3; - long z0, *z1, **z2, ***z3; - long y0, *y1, **y2, ***y3; - long x0, *x1, **x2, ***x3; - int *foo; - int bar; - - struct _struct_decl struct_declarations; - weird = &struct_declarations; - - struct_declarations.integer = 123; - weird->char_ptr = "hello"; - bar = 2121; - foo = &bar; - struct_declarations.int_ptr_ptr = &foo; - weird->long_array[0] = 1234; - struct_declarations.long_array[1] = 2345; - weird->long_array[2] = 3456; - struct_declarations.long_array[3] = 4567; - weird->long_array[4] = 5678; - struct_declarations.long_array[5] = 6789; - weird->long_array[6] = 7890; - struct_declarations.long_array[7] = 8901; - weird->long_array[8] = 9012; - struct_declarations.long_array[9] = 1234; - - weird->func_ptr = nothing; - - /* Struct/pointer/array tests */ - a0 = '0'; - a1 = &a0; - a2 = &a1; - a3 = &a2; - b0 = '1'; - b1 = &b0; - b2 = &b1; - b3 = &b2; - c0 = '2'; - c1 = &c0; - c2 = &c1; - c3 = &c2; - z0 = 0xdead + 0; - z1 = &z0; - z2 = &z1; - z3 = &z2; - y0 = 0xdead + 1; - y1 = &y0; - y2 = &y1; - y3 = &y2; - x0 = 0xdead + 2; - x1 = &x0; - x2 = &x1; - x3 = &x2; - snp0.char_ptr = &a3; - snp0.long_ptr = &z3; - snp0.ptrs[0] = &snp0; - snp0.ptrs[1] = &snp1; - snp0.ptrs[2] = &snp2; - snp0.next = &snp1; - snp1.char_ptr = &b3; - snp1.long_ptr = &y3; - snp1.ptrs[0] = &snp0; - snp1.ptrs[1] = &snp1; - snp1.ptrs[2] = &snp2; - snp1.next = &snp2; - snp2.char_ptr = &c3; - snp2.long_ptr = &x3; - snp2.ptrs[0] = &snp0; - snp2.ptrs[1] = &snp1; - snp2.ptrs[2] = &snp2; - snp2.next = 0x0; - psnp = &snp0; - snp0.char_ptr = &b3; - snp1.char_ptr = &c3; - snp2.char_ptr = &a3; - snp0.long_ptr = &y3; - snp1.long_ptr = &x3; - snp2.long_ptr = &z3; -} - -void -do_special_tests (void) -{ - union named_union u; - union { - int a; - char b; - long c; - } anonu; - struct _simple_struct s; - struct { - int a; - char b; - long c; - } anons; - enum foo e; - enum { A, B, C } anone; - int array[21]; - int a; - - a = 1; - incr_a(2); -} - -int -main (int argc, char *argv []) -{ - do_locals_tests (); - do_block_tests (); - do_children_tests (); - do_special_tests (); - exit (0); -} - - diff --git a/gdb/testsuite/gdb.gdbtk/c_variable.exp b/gdb/testsuite/gdb.gdbtk/c_variable.exp deleted file mode 100644 index 4ef8b6f361b..00000000000 --- a/gdb/testsuite/gdb.gdbtk/c_variable.exp +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999, 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License (GPL) as published by -# the Free Software Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -load_lib insight-support.exp - -if {[gdbtk_initialize_display]} { - if {$tracelevel} { - strace $tracelevel - } - - # - # test variable API - # - set prms_id 0 - set bug_id 0 - - set testfile "c_variable" - set srcfile ${testfile}.c - set binfile ${objdir}/${subdir}/${testfile} - set r [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] - if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." - } - - # Start with a fresh gdbtk - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir ${testfile}.test]] - set results [split $results \n] - - # Analyze results - gdbtk_done $results -} diff --git a/gdb/testsuite/gdb.gdbtk/c_variable.test b/gdb/testsuite/gdb.gdbtk/c_variable.test deleted file mode 100644 index 625ac7c017d..00000000000 --- a/gdb/testsuite/gdb.gdbtk/c_variable.test +++ /dev/null @@ -1,2071 +0,0 @@ -# Varobj Tests (C language) -# Copyright 1998, 2001, 2003 Red Hat, Inc. -# -# This Program Is Free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# insight@sources.redhat.com - -# This file was written by Keith Seitz (keiths@cygnus.com) - -# Read in the standard defs file -if {![gdbtk_read_defs]} { - break -} - -global objdir test_ran - -# Load in a file -set program [file join $objdir c_variable] -if {[catch {gdbtk_test_file $program} t]} { - # This isn't a test case, since if this fails, we're hosed. - gdbtk_test_error "loading \"$program\": $t" -} - -# The variables that are created are stored in an array called "var". - -# proc to tell us which of the variables are changed/out of scope -proc check_update {} { - global var - - set out {} - set changed {} - foreach ind [array names var] { - set ret [$var($ind) update] - if {$ret == -1} { - lappend out $ind - } elseif {$ret != ""} { - lappend changed $ret - } - } - return [list $changed $out] -} - -# proc to create a variable -proc create_variable {expr} { - global var - - set err [catch {gdb_variable create "$expr" -expr $expr} v] - if {!$err} { - set var($expr) $v - } - - return $err -} - -# proc to get the children -# Children are stored in the global "var" as -# PARENT.child. So for struct _foo {int a; int b} bar;, -# the children returned are {a b} and var(bar.a) and var(bar.b) -# map the actual objects to their names. -proc get_children {parent} { - global var - - set kiddies [$var($parent) children] - set children {} - foreach child $kiddies { - set name [lindex [split $child .] end] - lappend children $name - set var($parent.$name) $child - } - - return $children -} - -proc delete_variable {varname} { - global var - - if {[info exists var($varname)]} { - # This has to be caught, since deleting a parent - # will erase all children. - $var($varname) delete - set vars [array names var $varname*] - foreach v $vars { - if {[info exists var($v)]} { - unset var($v) - } - } - } -} - -# Compare the values of variable V in format FMT -# with gdb's value. -proc value {v fmt} { - global var - global _test - - set value [$var($v) value] - set gdb [gdb_cmd "output/$fmt $v"] - if {$value == $gdb} { - set result ok - } else { - set result $v - puts $_test(logfile) "output/$fmt $v" - puts $_test(logfile) "gdbtk: $value <> gdb: $gdb" - } - - return $result -} - -proc delete_all_variables {} { - global var - - foreach variable [array names var] { - delete_variable $variable - } -} - -proc editable_variables {} { - global var - - set yes {} - set no {} - foreach name [array names var] { - if {[$var($name) editable]} { - lappend yes $name - } else { - lappend no $name - } - } - - return [list $yes $no] -} - - -##### ##### -# # -# Variable Creation tests # -# # -##### ##### - -# Test: c_variable-1.1 -# Desc: Create global variable -gdbtk_test c_variable-1.1 {create global variable} { - create_variable global_simple -} {0} - -# Test: c_variable-1.2 -# Desc: Create non-existent variable -gdbtk_test c_variable-1.2 {create non-existent variable} { - create_variable bogus_unknown_variable -} {1} - -# Test: c_variable-1.3 -# Desc: Create out of scope variable -gdbtk_test c_variable-1.3 {create out of scope variable} { - create_variable argc -} {1} - -# Break in main and run -gdb_cmd "break do_locals_tests" -gdbtk_test_run - -# Test: c_variable-1.4 -# Desc: create local variables -gdbtk_test c_variable-1.4 {create local variables} { - set results {} - foreach v {linteger lpinteger lcharacter lpcharacter llong lplong lfloat lpfloat ldouble lpdouble lsimple lpsimple func} { - lappend results [create_variable $v] - } - set results -} {0 0 0 0 0 0 0 0 0 0 0 0 0} - -# Test: c_variable-1.5 -# Desc: create lsimple.character -gdbtk_test c_variable-1.5 {create lsimple.character} { - create_variable lsimple.character -} {0} - -# Test: c_variable-1.6 -# Desc: create lpsimple->integer -gdbtk_test c_variable-1.6 {create lpsimple->integer} { - create_variable lpsimple->integer -} {0} - -# Test: c_variable-1.7 -# Desc: create lsimple.integer -gdbtk_test c_variable-1.7 {create lsimple.integer} { - create_variable lsimple.integer -} {0} - -# Test: c_variable-1.8 -# Desc: names of editable variables -gdbtk_test c_variable-1.8 {names of editable variables} { - editable_variables -} {{lsimple.character lsimple.integer lpsimple lcharacter lpcharacter linteger lpinteger lfloat lpfloat func llong lplong lpsimple->integer ldouble lpdouble} {lsimple global_simple}} - -# Test: c_variable-1.9 -# Desc: create type name -# Type names (like int, long, etc..) are all proper expressions to gdb. -# make sure variable code does not allow users to create variables, though. -gdbtk_test c_variable-1.9 {create type name} { - create_variable int -} {1} - -##### ##### -# # -# Value changed tests # -# # -##### ##### - -# Test: c_variable-2.1 -# Desc: check whether values changed at do_block_tests -gdbtk_test c_variable-2.1 {check whether values changed at do_block_tests} { - check_update -} {{} {}} - -# Step over "linteger = 1234;" -gdb_cmd "step" - -# Test: c_variable-2.2 -# Desc: check whether only linteger changed values -gdbtk_test c_variable-2.2 {check whether only linteger changed values} { - check_update -} {linteger {}} - -# Step over "lpinteger = &linteger;" -gdb_cmd "step" - -# Test: c_variable-2.3 -# Desc: check whether only lpinteger changed -gdbtk_test c_variable-2.3 {check whether only lpinteger changed} { - check_update -} {lpinteger {}} - -# Step over "lcharacter = 'a';" -gdb_cmd "step" - -# Test: c_variable-2.4 -# Desc: check whether only lcharacter changed -gdbtk_test c_variable-2.4 {check whether only lcharacter changed} { - check_update -} {lcharacter {}} - -# Step over "lpcharacter = &lcharacter;" -gdb_cmd "step" - -# Test: c_variable-2.5 -# Desc: check whether only lpcharacter changed -gdbtk_test c_variable-2.5 {check whether only lpcharacter changed} { - check_update -} {lpcharacter {}} - -# Step over: -# llong = 2121L; -# lplong = &llong; -# lfloat = 2.1; -# lpfloat = &lfloat; -# ldouble = 2.718281828459045; -# lpdouble = &ldouble; -# lsimple.integer = 1234; -# lsimple.unsigned_integer = 255; -# lsimple.character = 'a'; -for {set i 0} {$i < 9} {incr i} { - gdb_cmd "step" -} - -# Test: c_variable-2.6 -# Desc: check whether llong, lplong, lfloat, lpfloat, ldouble, lpdouble, lsimple.integer, -# lsimple.unsigned_character lsimple.integer lsimple.character changed -gdbtk_test c_variable-2.6 {check whether llong -- lsimple.character changed} { - check_update -} {{lsimple.character lsimple.integer lfloat lpfloat llong lplong ldouble lpdouble} {}} - -# Step over: -# lsimple.signed_character = 21; -# lsimple.char_ptr = &lcharacter; -# lpsimple = &lsimple; -# func = nothing; -for {set i 0} {$i < 4} {incr i} { - gdb_cmd "step" -} - -# Test: c_variable-2.7 -# Desc: check whether lsimple.signed_character, lsimple.char_ptr, lpsimple, func changed -gdbtk_test c_variable-2.7 {check whether lsimple.signed_character, lsimple.char_ptr, lpsimple, func changed} { - check_update -} {{lpsimple func lpsimple->integer} {}} - -# Step over -# linteger = 4321; -# lcharacter = 'b'; -# llong = 1212L; -# lfloat = 1.2; -# ldouble = 5.498548281828172; -# lsimple.integer = 255; -# lsimple.unsigned_integer = 4321; -# lsimple.character = 'b'; -for {set i 0} {$i < 8} {incr i} { - gdb_cmd "step" -} - -# Test: c_variable-2.8 -# Desc: check whether linteger, lcharacter, llong, lfoat, ldouble, lsimple.integer, -# lpsimple.integer lsimple.character changed -# Note: this test also checks that lpsimple->integer and lsimple.integer have -# changed (they are the same) -gdbtk_test c_variable-2.8 {check whether linteger -- lsimple.integer changed} { - check_update -} {{lsimple.character lsimple.integer lcharacter linteger lfloat llong lpsimple->integer ldouble} {}} - -gdb_cmd "break subroutine1" -gdb_cmd "continue" - -# Test: c_variable-2.9 -# Desc: stop in subroutine1 -gdbtk_test c_variable-2.9 {stop in subroutine1} { - lindex [gdb_loc] 1 -} {subroutine1} - -# Test: c_variable-2.10 -# Desc: create variable for locals i,l in subroutine1 -gdbtk_test c_variable-2.10 {create variable for locals i,l in subroutine1} { - set r [create_variable i] - lappend r [create_variable l] -} {0 0} - -# Test: c_variable-2.11 -# Desc: create do_locals_tests local in subroutine1 -gdbtk_test c_variable-2.11 {create do_locals_tests local in subroutine1} { - create_variable linteger -} {1} - -# Step over -# global_simple.integer = i + 3; -gdb_cmd "step" - -# Test: c_variable-2.12 -# Desc: change global_simple.integer -# Note: This also tests whether we are reporting changes in structs properly. -# gdb normally would say that global_simple has changed, but we -# special case that, since it is not what a human expects to see. -gdbtk_test c_variable-2.12 {change global_simple.integer} { - check_update -} {{} {lsimple.character lsimple.integer lpsimple lsimple lcharacter lpcharacter linteger lpinteger lfloat lpfloat func llong lplong lpsimple->integer ldouble lpdouble}} - -# Step over -# i = 212; -gdb_cmd "step" - -# Test: c_variable-2.13 -# Desc: change subroutine1 local i -gdbtk_test c_variable-2.13 {change subroutine1 local i} { - check_update -} {i {lsimple.character lsimple.integer lpsimple lsimple lcharacter lpcharacter linteger lpinteger lfloat lpfloat func llong lplong lpsimple->integer ldouble lpdouble}} - -# Step over -# *l = 12 -gdb_cmd "step" - -# This test is no longer valid, since varobj now forces -# re-evaluation in the current frame by default. -# Test: c_variable-2.14 -# Desc: change do_locals_tests local llong -#gdbtk_test c_variable-2.14 {change do_locals_tests local llong} { -# check_update -#} {llong {}} - -# Leave subroutine1 -gdb_cmd "next" - -# Test: c_variable-2.15 -# Desc: check for out of scope subroutine1 locals -gdbtk_test c_variable-2.15 {check for out of scope subroutine1 locals} { - lindex [check_update] 1 -} {i l} - -# Test: c_variable-2.16 -# Desc: names of all editable variables -gdbtk_test c_variable-2.16 {names of all editable variables} { - editable_variables -} {{lsimple.character lsimple.integer lpsimple i lcharacter lpcharacter linteger lpinteger lfloat lpfloat l func llong lplong lpsimple->integer ldouble lpdouble} {lsimple global_simple}} - -# Done with locals/globals tests. Erase all variables -delete_all_variables - -##### ##### -# # -# Block tests # -# # -##### ##### -gdb_cmd "break do_block_tests" -gdb_cmd "continue" - -# Test: c_variable-3.1 -# Desc: stop in do_block_tests -gdbtk_test c_variable-3.1 {stop in do_block_tests} { - lindex [gdb_loc] 1 -} {do_block_tests} - -# Test: c_variable-3.2 -# Desc: create cb and foo -gdbtk_test c_variable-3.2 {create cb and foo} { - set r [create_variable cb] - lappend r [create_variable foo] -} {0 1} - -# step to "foo = 123;" -gdb_cmd "step" - -# Be paranoid and assume 3.2 created foo -delete_variable foo - -# Test: c_variable-3.3 -# Desc: create foo -gdbtk_test c_variable-3.3 {create foo} { - create_variable foo -} {0} - -# step to "foo2 = 123;" -gdb_cmd "step" - -# Test: c_variable-3.4 -# Desc: check foo, cb changed -gdbtk_test c_variable-3.4 {check foo,cb changed} { - check_update -} {{foo cb} {}} - -# step to "foo = 321;" -gdb_cmd "step" - -# Test: c_variable-3.5 -# Desc: create inner block foo -gdbtk_test c_variable-3.5 {create inner block foo} { - global var - set err [catch {gdb_variable create inner_foo -expr foo} v] - if {!$err} { - set var(inner_foo) $v - } - - set err -} {0} - -# step to "foo2 = 0;" -gdb_cmd "step" - -# Test: c_variable-3.6 -# Desc: create foo2 -gdbtk_test c_variable-3.6 {create foo2} { - create_variable foo2 -} {0} - -# Test: c_variable-3.7 -# Desc: check that outer foo in scope and inner foo out of scope - -# Disabled for now because varobjs don't work this way. If you create a varobj named "foo" -# it will display the correct value for any variable named "foo" in scope. So inner_foo -# is not out of scope because there is another variable named "foo" in scope. It is -# instead marked as changed. - -#gdbtk_test *c_variable-3.7 {check that outer foo in scope and inner foo out of scope} { -# check_update -#} {{} inner_foo} - -delete_variable inner_foo - -# step to "foo = 0;" -gdb_cmd "step" - -# Test: c_variable-3.8 -# Desc: check that foo2 out of scope -gdbtk_test c_variable-3.8 {check that foo2 out of scope} { - check_update -} {{} foo2} - -# step to "cb = 21;" -gdb_cmd "step" - -# Test: c_variable-3.9 -# Desc: check that only cb is in scope -gdbtk_test c_variable-3.9 {check that only cb is in scope} { - check_update -} {{} {foo foo2}} - -# Test: c_variable-3.10 -# Desc: names of editable variables -gdbtk_test c_variable-3.10 {names of editable variables} { - editable_variables -} {{foo cb foo2} {}} - -# Done with block tests -delete_all_variables - -##### ##### -# # -# children tests # -# # -##### ##### - -gdb_cmd "break do_children_tests" -gdb_cmd "continue" - -# Test: c_variable-4.1 -# Desc: stopped in do_children_tests -gdbtk_test c_variable-4.1 {stopped in do_children_tests} { - lindex [gdb_loc] 1 -} {do_children_tests} - -# Test: c_variable-4.2 -# Desc: create variable "struct_declarations" -gdbtk_test c_variable-4.2 {create variable "struct_declarations"} { - create_variable struct_declarations -} {0} - -# Test: c_variable-4.3 -# Desc: children of struct_declarations -gdbtk_test c_variable-4.3 {children of struct_declarations} { - get_children struct_declarations -} {integer character char_ptr long_int int_ptr_ptr long_array func_ptr func_ptr_struct func_ptr_ptr u1 s2} - -# Test: c_variable-4.4 -# Desc: number of children of struct_declarations -gdbtk_test c_variable-4.4 {number of children of struct_declarations} { - $var(struct_declarations) numChildren -} {11} - -# Test: c_variable-4.5 -# Desc: children of struct_declarations.integer -gdbtk_test c_variable-4.5 {children of struct_declarations.integer} { - get_children struct_declarations.integer -} {} - -# Test: c_variable-4.6 -# Desc: number of children of struct_declarations.integer -gdbtk_test c_variable-4.6 {number of children of struct_declarations.integer} { - $var(struct_declarations.integer) numChildren -} {0} - -# Test: c_variable-4.7 -# Desc: children of struct_declarations.character -gdbtk_test c_variable-4.7 {children of struct_declarations.character} { - get_children struct_declarations.character -} {} - -# Test: c_variable-4.8 -# Desc: number of children of struct_declarations.character -gdbtk_test c_variable-4.8 {number of children of struct_declarations.character} { - $var(struct_declarations.character) numChildren -} {0} - -# Test: c_variable-4.9 -# Desc: children of struct_declarations.char_ptr -gdbtk_test c_variable-4.9 {children of struct_declarations.char_ptr} { - get_children struct_declarations.char_ptr -} {*char_ptr} - -# Test: c_variable-4.10 -# Desc: number of children of struct_declarations.char_ptr -gdbtk_test c_variable-4.10 {number of children of struct_declarations.char_ptr} { - $var(struct_declarations.char_ptr) numChildren -} {1} - -# Test: c_variable-4.11 -# Desc: children of struct_declarations.long_int -gdbtk_test c_variable-4.11 {children of struct_declarations.long_int} { - - get_children struct_declarations.long_int -} {} - -# Test: c_variable-4.12 -# Desc: number of children of struct_declarations.long_int -gdbtk_test c_variable-4.12 {number of children of struct_declarations.long_int} { - $var(struct_declarations.long_int) numChildren -} {0} - -# Test: c_variable-4.13 -# Desc: children of int_ptr_ptr -gdbtk_test c_variable-4.13 {children of int_ptr_ptr} { - get_children struct_declarations.int_ptr_ptr -} {*int_ptr_ptr} - -# Test: c_variable-4.14 -# Desc: number of children of int_ptr_ptr -gdbtk_test c_variable-4.14 {number of children of int_ptr_ptr} { - $var(struct_declarations.int_ptr_ptr) numChildren -} {1} - -# Test: c_variable-4.15 -# Desc: children of struct_declarations.long_array -gdbtk_test c_variable-4.15 {children of struct_declarations.long_array} { - get_children struct_declarations.long_array -} {0 1 2 3 4 5 6 7 8 9} - -# Test: c_variable-4.16 -# Desc: number of children of struct_declarations.long_array -gdbtk_test c_variable-4.16 {number of children of struct_declarations.long_array} { - $var(struct_declarations.long_array) numChildren -} {10} - -# Test: c_variable-4.17 -# Desc: children of struct_declarations.func_ptr -gdbtk_test c_variable-4.17 {children of struct_declarations.func_ptr} { - get_children struct_declarations.func_ptr -} {} - -# Test: c_variable-4.18 -# Desc: number of children of struct_declarations.func_ptr -gdbtk_test c_variable-4.18 {number of children of struct_declarations.func_ptr} { - $var(struct_declarations.func_ptr) numChildren -} {0} - -# Test: c_variable-4.19 -# Desc: children of struct_declarations.func_ptr_struct -gdbtk_test c_variable-4.19 {children of struct_declarations.func_ptr_struct} { - get_children struct_declarations.func_ptr_struct -} {} - -# Test: c_variable-4.20 -# Desc: number of children of struct_declarations.func_ptr_struct -gdbtk_test c_variable-4.20 {number of children of struct_declarations.func_ptr_struct} { - $var(struct_declarations.func_ptr_struct) numChildren -} {0} - -# Test: c_variable-4.21 -# Desc: children of struct_declarations.func_ptr_ptr -gdbtk_test c_variable-4.21 {children of struct_declarations.func_ptr_ptr} { - get_children struct_declarations.func_ptr_ptr -} {} - -# Test: c_variable-4.22 -# Desc: number of children of struct_declarations.func_ptr_ptr -gdbtk_test c_variable-4.22 {number of children of struct_declarations.func_ptr_ptr} { - $var(struct_declarations.func_ptr_ptr) numChildren -} {0} - -# Test: c_variable-4.23 -# Desc: children of struct_declarations.u1 -gdbtk_test c_variable-4.23 {children of struct_declarations.u1} { - get_children struct_declarations.u1 -} {a b c d} - -# Test: c_variable-4.24 -# Desc: number of children of struct_declarations.u1 -gdbtk_test c_variable-4.24 {number of children of struct_declarations.u1} { - $var(struct_declarations.u1) numChildren -} {4} - -# Test: c_variable-4.25 -# Desc: children of struct_declarations.s2 -gdbtk_test c_variable-4.25 {children of struct_declarations.s2} { - get_children struct_declarations.s2 -} {u2 g h i} - -# Test: c_variable-4.26 -# Desc: number of children of struct_declarations.s2 -gdbtk_test c_variable-4.26 {number of children of struct_declarations.s2} { - $var(struct_declarations.s2) numChildren -} {4} - -# Test: c_variable-4.27 -# Desc: children of struct_declarations.long_array.1 -gdbtk_test c_variable-4.27 {children of struct_declarations.long_array.1} { - get_children struct_declarations.long_array.1 -} {} - -# Test: c_variable-4.28 -# Desc: number of children of struct_declarations.long_array.1 -gdbtk_test c_variable-4.28 {number of children of struct_declarations.long_array.1} { - $var(struct_declarations.long_array.1) numChildren -} {0} - -# Test: c_variable-4.29 -# Desc: children of struct_declarations.long_array.2 -gdbtk_test c_variable-4.29 {children of struct_declarations.long_array.2} { - get_children struct_declarations.long_array.2 -} {} - -# Test: c_variable-4.30 -# Desc: number of children of struct_declarations.long_array.2 -gdbtk_test c_variable-4.30 {number of children of struct_declarations.long_array.2} { - $var(struct_declarations.long_array.2) numChildren -} {0} - -# Test: c_variable-4.31 -# Desc: children of struct_declarations.long_array.3 -gdbtk_test c_variable-4.31 {children of struct_declarations.long_array.3} { - get_children struct_declarations.long_array.3 -} {} - -# Test: c_variable-4.32 -# Desc: number of children of struct_declarations.long_array.3 -gdbtk_test c_variable-4.32 {number of children of struct_declarations.long_array.3} { - $var(struct_declarations.long_array.3) numChildren -} {0} - -# Test: c_variable-4.33 -# Desc: children of struct_declarations.long_array.4 -gdbtk_test c_variable-4.33 {children of struct_declarations.long_array.4} { - get_children struct_declarations.long_array.4 -} {} - -# Test: c_variable-4.34 -# Desc: number of children of struct_declarations.long_array.4 -gdbtk_test c_variable-4.34 {number of children of struct_declarations.long_array.4} { - $var(struct_declarations.long_array.4) numChildren -} {0} - -# Test: c_variable-4.35 -# Desc: children of struct_declarations.long_array.5 -gdbtk_test c_variable-4.35 {children of struct_declarations.long_array.5} { - get_children struct_declarations.long_array.5 -} {} - -# Test: c_variable-4.36 -# Desc: number of children of struct_declarations.long_array.5 -gdbtk_test c_variable-4.36 {number of children of struct_declarations.long_array.5} { - $var(struct_declarations.long_array.5) numChildren -} {0} - -# Test: c_variable-4.37 -# Desc: children of struct_declarations.long_array.6 -gdbtk_test c_variable-4.37 {children of struct_declarations.long_array.6} { - get_children struct_declarations.long_array.6 -} {} - -# Test: c_variable-4.38 -# Desc: number of children of struct_declarations.long_array.6 -gdbtk_test c_variable-4.38 {number of children of struct_declarations.long_array.6} { - $var(struct_declarations.long_array.6) numChildren -} {0} - -# Test: c_variable-4.39 -# Desc: children of struct_declarations.long_array.7 -gdbtk_test c_variable-4.39 {children of struct_declarations.long_array.7} { - get_children struct_declarations.long_array.7 -} {} - -# Test: c_variable-4.40 -# Desc: number of children of struct_declarations.long_array.7 -gdbtk_test c_variable-4.40 {number of children of struct_declarations.long_array.7} { - $var(struct_declarations.long_array.7) numChildren -} {0} - -# Test: c_variable-4.41 -# Desc: children of struct_declarations.long_array.8 -gdbtk_test c_variable-4.41 {children of struct_declarations.long_array.8} { - get_children struct_declarations.long_array.8 -} {} - -# Test: c_variable-4.42 -# Desc: number of children of struct_declarations.long_array.8 -gdbtk_test c_variable-4.42 {number of children of struct_declarations.long_array.8} { - $var(struct_declarations.long_array.8) numChildren -} {0} - -# Test: c_variable-4.43 -# Desc: children of struct_declarations.long_array.9 -gdbtk_test c_variable-4.43 {children of struct_declarations.long_array.9} { - get_children struct_declarations.long_array.9 -} {} - -# Test: c_variable-4.44 -# Desc: number of children of struct_declarations.long_array.9 -gdbtk_test c_variable-4.44 {number of children of struct_declarations.long_array.9} { - $var(struct_declarations.long_array.9) numChildren -} {0} - -# Test: c_variable-4.45 -# Desc: children of struct_declarations.u1.a -gdbtk_test c_variable-4.45 {children of struct_declarations.u1.a} { - get_children struct_declarations.u1.a -} {} - -# Test: c_variable-4.46 -# Desc: number of children of struct_declarations.u1.a -gdbtk_test c_variable-4.46 {number of children of struct_declarations.u1.a} { - $var(struct_declarations.u1.a) numChildren -} {0} - -# Test: c_variable-4.47 -# Desc: children of struct_declarations.u1.b -gdbtk_test c_variable-4.47 {children of struct_declarations.u1.b} { - get_children struct_declarations.u1.b -} {*b} - -# Test: c_variable-4.48 -# Desc: number of children of struct_declarations.u1.b -gdbtk_test c_variable-4.48 {number of children of struct_declarations.u1.b} { - $var(struct_declarations.u1.b) numChildren -} {1} - -# Test: c_variable-4.49 -# Desc: children of struct_declarations.u1.c -gdbtk_test c_variable-4.49 {children of struct_declarations.u1.c} { - get_children struct_declarations.u1.c -} {} - -# Test: c_variable-4.50 -# Desc: number of children of struct_declarations.u1.c -gdbtk_test c_variable-4.50 {number of children of struct_declarations.u1.c} { - $var(struct_declarations.u1.c) numChildren -} {0} - -# Test: c_variable-4.51 -# Desc: children of struct_declarations.u1.d -gdbtk_test c_variable-4.51 {children of struct_declarations.u1.d} { - get_children struct_declarations.u1.d -} {} - -# Test: c_variable-4.52 -# Desc: number of children of struct_declarations.u1.d -gdbtk_test c_variable-4.52 {number of children of struct_declarations.u1.d} { - $var(struct_declarations.u1.d) numChildren -} {0} - -# Test: c_variable-4.53 -# Desc: children of struct_declarations.s2.u2 -gdbtk_test c_variable-4.53 {children of struct_declarations.s2.u2} { - get_children struct_declarations.s2.u2 -} {u1s1 f u1s2} - -# Test: c_variable-4.54 -# Desc: number of children of struct_declarations.s2.u2 -gdbtk_test c_variable-4.54 {number of children of struct_declarations.s2.u2} { - $var(struct_declarations.s2.u2) numChildren -} {3} - -# Test: c_variable-4.55 -# Desc: children of struct_declarations.s2.g -gdbtk_test c_variable-4.55 {children of struct_declarations.s2.g} { - get_children struct_declarations.s2.g -} {} - -# Test: c_variable-4.56 -# Desc: number of children of struct_declarations.s2.g -gdbtk_test c_variable-4.56 {number of children of struct_declarations.s2.g} { - $var(struct_declarations.s2.g) numChildren -} {0} - -# Test: c_variable-4.57 -# Desc: children of struct_declarations.s2.h -gdbtk_test c_variable-4.57 {children of struct_declarations.s2.h} { - get_children struct_declarations.s2.h -} {} - -# Test: c_variable-4.58 -# Desc: number of children of struct_declarations.s2.h -gdbtk_test c_variable-4.58 {number of children of struct_declarations.s2.h} { - $var(struct_declarations.s2.h) numChildren -} {0} - -# Test: c_variable-4.59 -# Desc: children of struct_declarations.s2.i -gdbtk_test c_variable-4.59 {children of struct_declarations.s2.i} { - get_children struct_declarations.s2.i -} {0 1 2 3 4 5 6 7 8 9} - -# Test: c_variable-4.60 -# Desc: number of children of struct_declarations.s2.i -gdbtk_test c_variable-4.60 {number of children of struct_declarations.s2.i} { - $var(struct_declarations.s2.i) numChildren -} {10} - -# Test: c_variable-4.61 -# Desc: children of struct_declarations.s2.u2.u1s1 -gdbtk_test c_variable-4.61 {children of struct_declarations.s2.u2.u1s1} { - get_children struct_declarations.s2.u2.u1s1 -} {d e func foo} - -# Test: c_variable-4.62 -# Desc: number of children of struct_declarations.s2.u2.u1s1 -gdbtk_test c_variable-4.62 {number of children of struct_declarations.s2.u2.u1s1} { - $var(struct_declarations.s2.u2.u1s1) numChildren -} {4} - -# Test: c_variable-4.63 -# Desc: children of struct_declarations.s2.u2.f -gdbtk_test c_variable-4.63 {children of struct_declarations.s2.u2.f} { - get_children struct_declarations.s2.u2.f -} {} - -# Test: c_variable-4.64 -# Desc: number of children of struct_declarations.s2.u2.f -gdbtk_test c_variable-4.64 {number of children of struct_declarations.s2.u2.f} { - $var(struct_declarations.s2.u2.f) numChildren -} {0} - -# Test: c_variable-4.65 -# Desc: children of struct_declarations.s2.u2.u1s2 -gdbtk_test c_variable-4.65 {children of struct_declarations.s2.u2.u1s2} { - get_children struct_declarations.s2.u2.u1s2 -} {array_ptr func} - -# Test: c_variable-4.66 -# Desc: number of children of struct_declarations.s2.u2.u1s2 -gdbtk_test c_variable-4.66 {number of children of struct_declarations.s2.u2.u1s2} { - $var(struct_declarations.s2.u2.u1s2) numChildren -} {2} - -# Test: c_variable-4.67 -# Desc: children of struct_declarations.s2.u2.u1s1.d -gdbtk_test c_variable-4.67 {children of struct_declarations.s2.u2.u1s1.d} { - get_children struct_declarations.s2.u2.u1s1.d -} {} - -# Test: c_variable-4.68 -# Desc: number of children of struct_declarations.s2.u2.u1s1.d -gdbtk_test c_variable-4.68 {number of children of struct_declarations.s2.u2.u1s1.d} { - $var(struct_declarations.s2.u2.u1s1.d) numChildren -} {0} - -# Test: c_variable-4.69 -# Desc: children of struct_declarations.s2.u2.u1s1.e -gdbtk_test c_variable-4.69 {children of struct_declarations.s2.u2.u1s1.e} { - get_children struct_declarations.s2.u2.u1s1.e -} {0 1 2 3 4 5 6 7 8 9} - -# Test: c_variable-4.70 -# Desc: number of children of struct_declarations.s2.u2.u1s1.e -gdbtk_test c_variable-4.70 {number of children of struct_declarations.s2.u2.u1s1.e} { - $var(struct_declarations.s2.u2.u1s1.e) numChildren -} {10} - -# Test: c_variable-4.71 -# Desc: children of struct_declarations.s2.u2.u1s1.func -gdbtk_test c_variable-4.71 {children of struct_declarations.s2.u2.u1s1.func} { - get_children struct_declarations.s2.u2.u1s1.func -} {} - -# Test: c_variable-4.72 -# Desc: number of children of struct_declarations.s2.u2.u1s1.func -gdbtk_test c_variable-4.72 {number of children of struct_declarations.s2.u2.u1s1.func} { - $var(struct_declarations.s2.u2.u1s1.func) numChildren -} {0} - -# Test: c_variable-4.73 -# Desc: children of struct_declarations.s2.u2.u1s1.foo -gdbtk_test c_variable-4.73 {children of struct_declarations.s2.u2.u1s1.foo} { - get_children struct_declarations.s2.u2.u1s1.foo -} {} - -# Test: c_variable-4.74 -# Desc: number of children of struct_declarations.s2.u2.u1s1.foo -gdbtk_test c_variable-4.74 {number of children of struct_declarations.s2.u2.u1s1.foo} { - $var(struct_declarations.s2.u2.u1s1.foo) numChildren -} {0} - -# Test: c_variable-4.75 -# Desc: children of struct_declarations.s2.u2.u1s2.array_ptr -gdbtk_test c_variable-4.75 {children of struct_declarations.s2.u2.u1s2.array_ptr} { - get_children struct_declarations.s2.u2.u1s2.array_ptr -} {0 1} - -# Test: c_variable-4.76 -# Desc: number of children of struct_declarations.s2.u2.u1s2.array_ptr -gdbtk_test c_variable-4.76 {number of children of struct_declarations.s2.u2.u1s2.array_ptr} { - $var(struct_declarations.s2.u2.u1s2.array_ptr) numChildren -} {2} - -# Test: c_variable-4.77 -# Desc: children of struct_declarations.s2.u2.u1s2.func -gdbtk_test c_variable-4.77 {children of struct_declarations.s2.u2.u1s2.func} { - get_children struct_declarations.s2.u2.u1s2.func -} {} - -# Test: c_variable-4.78 -# Desc: number of children of struct_declarations.s2.u2.u1s2.func -gdbtk_test c_variable-4.78 {number of children of struct_declarations.s2.u2.u1s2.func} { - $var(struct_declarations.s2.u2.u1s2.func) numChildren -} {0} - -# Test: c_variable-4.79 -# Desc: children of struct_declarations.*int_ptr_ptr -gdbtk_test c_variable-4.79 {children of struct_declarations.*int_ptr_ptr} { - get_children struct_declarations.int_ptr_ptr.*int_ptr_ptr -} {**int_ptr_ptr} - -# Test: c_variable-4.80 -# Desc: Number of children of struct_declarations.*int_ptr_ptr -gdbtk_test c_variable-4.80 {Number of children of struct_declarations.*int_ptr_ptr} { - $var(struct_declarations.int_ptr_ptr.*int_ptr_ptr) numChildren -} {1} - -# Step to "struct_declarations.integer = 123;" -gdb_cmd "step" - -# Test: c_variable-4.81 -# Desc: create local variable "weird" -gdbtk_test c_variable-4.81 {create local variable "weird"} { - create_variable weird -} {0} - -# Test: c_variable-4.82 -# Desc: children of weird -gdbtk_test c_variable-4.82 {children of weird} { - get_children weird -} {integer character char_ptr long_int int_ptr_ptr long_array func_ptr func_ptr_struct func_ptr_ptr u1 s2} - -# Test: c_variable-4.83 -# Desc: number of children of weird -gdbtk_test c_variable-4.83 {number of children of weird} { - $var(weird) numChildren -} {11} - -# Test: c_variable-4.84 -# Desc: children of weird->long_array -gdbtk_test c_variable-4.84 {children of weird->long_array} { - get_children weird.long_array -} {0 1 2 3 4 5 6 7 8 9} - -# Test: c_variable-4.85 -# Desc: number of children of weird->long_array -gdbtk_test c_variable-4.85 {number of children of weird->long_array} { - $var(weird.long_array) numChildren -} {10} - -# Test: c_variable-4.86 -# Desc: children of weird->int_ptr_ptr -gdbtk_test c_variable-4.86 {children of weird->int_ptr_ptr} { - get_children weird.int_ptr_ptr -} {*int_ptr_ptr} - -# Test: c_variable-4.87 -# Desc: number of children of weird->int_ptr_ptr -gdbtk_test c_variable-4.87 {number of children of weird->int_ptr_ptr} { - $var(weird.int_ptr_ptr) numChildren -} {1} - -# Test: c_variable-4.88 -# Desc: children of *weird->int_ptr_ptr -gdbtk_test c_variable-4.88 {children of *weird->int_ptr_ptr} { - get_children weird.int_ptr_ptr.*int_ptr_ptr -} {**int_ptr_ptr} - -# Test: c_variable-4.89 -# Desc: number of children *weird->int_ptr_ptr -gdbtk_test c_variable-4.89 {number of children *weird->int_ptr_ptr} { - $var(weird.int_ptr_ptr.*int_ptr_ptr) numChildren -} {1} - -# Test: c_variable-4.90 -# Desc: create weird->int_ptr_ptr -gdbtk_test c_variable-4.90 {create weird->int_ptr_ptr} { - create_variable weird->int_ptr_ptr -} {0} - -# Test: c_variable-4.91 -# Desc: children of weird->int_ptr_ptr -gdbtk_test c_variable-4.91 {children of weird->int_ptr_ptr} { - get_children weird->int_ptr_ptr -} {*weird->int_ptr_ptr} - -# Test: c_variable-4.92 -# Desc: number of children of (weird->int_ptr_ptr) -gdbtk_test c_variable-4.92 {number of children of (weird->int_ptr_ptr)} { - $var(weird->int_ptr_ptr) numChildren -} {1} - -# Test: c_variable-4.93 -# Desc: children of *(weird->int_ptr_ptr) -gdbtk_test c_variable-4.93 {children of *(weird->int_ptr_ptr)} { - get_children weird->int_ptr_ptr.*weird->int_ptr_ptr -} {**weird->int_ptr_ptr} - -# Test: c_variable-4.94 -# Desc: number of children of *(weird->int_ptr_ptr) -gdbtk_test c_variable-4.94 {number of children of *(weird->int_ptr_ptr)} { - $var(weird->int_ptr_ptr.*weird->int_ptr_ptr) numChildren -} {1} - -# Test: c_variable-4.95 -# Desc: children of *(*(weird->int_ptr_ptr)) -gdbtk_test c_variable-4.95 {children of *(*(weird->int_ptr_ptr))} { - get_children weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr -} {} - -# Test: c_variable-4.96 -# Desc: number of children of *(*(weird->int_ptr_ptr)) -gdbtk_test c_variable-4.96 {number of children of **weird->int_ptr_ptr} { - $var(weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr) numChildren -} {0} - -# Test: c_variable-4.97 -# Desc: is weird editable -gdbtk_test c_variable-4.97 {is weird editable} { - $var(weird) editable -} {1} - -# Test: c_variable-4.98 -# Desc: is weird->int_ptr_ptr editable -gdbtk_test c_variable-4.98 {is weird->int_ptr_ptr editable} { - $var(weird.int_ptr_ptr) editable -} {1} - -# Test: c_variable-4.99 -# Desc: is *(weird->int_ptr_ptr) editable -gdbtk_test c_variable-4.99 {is *(weird->int_ptr_ptr) editable} { - $var(weird.int_ptr_ptr.*int_ptr_ptr) editable -} {1} - -# Test: c_variable-4.100 -# Desc: is *(*(weird->int_ptr_ptr)) editable -gdbtk_test c_variable-4.100 {is *(*(weird->int_ptr_ptr)) editable} { - $var(weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr) editable -} {1} - -# Test: c_variable-4.101 -# Desc: is weird->u1 editable -gdbtk_test c_variable-4.101 {is weird->u1 editable} { - $var(weird.u1) editable -} {0} - -# Test: c_variable-4.102 -# Desc: is weird->s2 editable -gdbtk_test c_variable-4.102 {is weird->s2 editable} { - $var(weird.s2) editable -} {0} - -# Test: c_variable-4.103 -# Desc: is struct_declarations.u1.a editable -gdbtk_test c_variable-4.103 {is struct_declarations.u1.a editable} { - $var(struct_declarations.u1.a) editable -} {1} - -# Test: c_variable-4.104 -# Desc: is struct_declarations.u1.b editable -gdbtk_test c_variable-4.104 {is struct_declarations.u1.b editable} { - $var(struct_declarations.u1.b) editable -} {1} - -# Test: c_variable-4.105 -# Desc: is struct_declarations.u1.c editable -gdbtk_test c_variable-4.105 {is struct_declarations.u1.c editable} { - $var(struct_declarations.u1.c) editable -} {1} - -# Test: c_variable-4.106 -# Desc: is struct_declarations.long_array editable -gdbtk_test c_variable-4.106 {is struct_declarations.long_array editable} { - $var(struct_declarations.long_array) editable -} {0} - -# Test: c_variable-4.107 -# Desc: is struct_declarations.long_array[0] editable -gdbtk_test c_variable-4.107 {is struct_declarations.long_array[0] editable} { - $var(struct_declarations.long_array.0) editable -} {1} - -# Test: c_variable-4.108 -# Desc: is struct_declarations editable -gdbtk_test c_variable-4.108 {is struct_declarations editable} { - $var(struct_declarations) editable -} {0} - -delete_variable weird - -##### ##### -# # -# children and update tests # -# # -##### ##### - -# Test: c_variable-5.1 -# Desc: check that nothing changed -gdbtk_test c_variable-5.1 {check that nothing changed} { - check_update -} {{} {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}} - -# Step over "struct_declarations.integer = 123;" -gdb_cmd "step" - -# Test: c_variable-5.2 -# Desc: check that integer changed -gdbtk_test c_variable-5.2 {check that integer changed} { - check_update -} {struct_declarations.integer {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}} - -# Step over: -# weird->char_ptr = "hello"; -# bar = 2121; -# foo = &bar; -for {set i 0} {$i < 3} {incr i} { - gdb_cmd "step" -} - -# Test: c_variable-5.3 -# Desc: check that char_ptr changed -gdbtk_test c_variable-5.3 {check that char_ptr changed} { - check_update -} {{{struct_declarations.char_ptr struct_declarations.char_ptr.*char_ptr}} {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}} - -# Step over "struct_declarations.int_ptr_ptr = &foo;" -gdb_cmd "step" - -# Test: c_variable-5.4 -# Desc: check that int_ptr_ptr and children changed -gdbtk_test c_variable-5.4 {check that int_ptr_ptr and children changed} { - check_update -} {{{struct_declarations.int_ptr_ptr struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr}} {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}} - -# Step over "weird->long_array[0] = 1234;" -gdb_cmd "step" - -# Test: c_variable-5.5 -# Desc: check that long_array[0] changed -gdbtk_test c_variable-5.5 {check that long_array[0] changed} { - check_update -} {struct_declarations.long_array.0 {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}} - -# Step over "struct_declarations.long_array[1] = 2345;" -gdb_cmd "step" - -# Test: c_variable-5.6 -# Desc: check that long_array[1] changed -gdbtk_test c_variable-5.6 {check that long_array[1] changed} { - check_update -} {struct_declarations.long_array.1 {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}} - -# Step over "weird->long_array[2] = 3456;" -gdb_cmd "step" - -# Test: c_variable-5.7 -# Desc: check that long_array[2] changed -gdbtk_test c_variable-5.7 {check that long_array[2] changed} { - check_update -} {struct_declarations.long_array.2 {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}} - -# Step over: -# struct_declarations.long_array[3] = 4567; -# weird->long_array[4] = 5678; -# struct_declarations.long_array[5] = 6789; -# weird->long_array[6] = 7890; -# struct_declarations.long_array[7] = 8901; -# weird->long_array[8] = 9012; -# struct_declarations.long_array[9] = 1234; -for {set i 0} {$i < 7} {incr i} { - gdb_cmd "step" -} - -# Test: c_variable-5.8 -# Desc: check that long_array[3-9] changed -gdbtk_test c_variable-5.8 {check that long_array[3-9] changed} { - check_update -} {{{struct_declarations.long_array.3 struct_declarations.long_array.4 struct_declarations.long_array.5 struct_declarations.long_array.6 struct_declarations.long_array.7 struct_declarations.long_array.8 struct_declarations.long_array.9}} {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}} - -# Step over "weird->func_ptr = nothing;" -gdb_cmd "step" - -# Test: c_variable-5.9 -# Desc: check that func_ptr changed -gdbtk_test c_variable-5.9 {check that func_ptr changed} { - check_update -} {struct_declarations.func_ptr {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}} - -# Delete all variables -delete_all_variables - -# Step over all lines: -# ... -# psnp = &snp0; -for {set i 0} {$i < 43} {incr i} { - gdb_cmd "step" -} - -# Test: c_variable-5.10 -# Desc: create psnp->char_ptr -gdbtk_test c_variable-5.10 {create psnp->char_ptr} { - create_variable psnp->char_ptr -} {0} - -# Test: c_variable-5.11 -# Desc: children of psnp->char_ptr -gdbtk_test c_variable-5.11 {children of psnp->char_ptr} { - get_children psnp->char_ptr -} {*psnp->char_ptr} - -# Test: c_variable-5.12 -# Desc: number of children of psnp->char_ptr -gdbtk_test c_variable-5.12 {number of children of psnp->char_ptr} { - $var(psnp->char_ptr) numChildren -} {1} - -# Test: c_variable-5.13 -# Desc: children of *(psnp->char_ptr) -gdbtk_test c_variable-5.13 {children of *(psnp->char_ptr)} { - get_children psnp->char_ptr.*psnp->char_ptr -} {**psnp->char_ptr} - -# Test: c_variable-5.14 -# Desc: number of children of *(psnp->char_ptr) -gdbtk_test c_variable-5.14 {number of children of *(psnp->char_ptr)} { - $var(psnp->char_ptr.*psnp->char_ptr) numChildren -} {1} - -# Test: c_variable-5.15 -# Desc: children of *(*(psnp->char_ptr)) -gdbtk_test c_variable-5.15 {children of *(*(psnp->char_ptr))} { - get_children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr -} {***psnp->char_ptr} - -# Test: c_variable-5.16 -# Desc: number of children of *(*(psnp->char_ptr)) -gdbtk_test c_variable-5.16 {number of children of *(*(psnp->char_ptr))} { - $var(psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr) numChildren -} {1} - -# Test: c_variable-5.17 -# Desc: children of *(*(*(psnp->char_ptr))) -gdbtk_test c_variable-5.17 {children of *(*(*(psnp->char_ptr)))} { - get_children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr -} {****psnp->char_ptr} - -# Test: c_variable-5.18 -# Desc: number of children of *(*(*(psnp->char_ptr))) -gdbtk_test c_variable-5.18 {number of children of *(*(*(psnp->char_ptr)))} { - $var(psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr) numChildren -} {1} - -# Test: c_variable-5.19 -# Desc: create psnp->long_ptr -gdbtk_test c_variable-5.19 {create psnp->long_ptr} { - create_variable psnp->long_ptr -} {0} - -# Test: c_variable-5.20 -# Desc: children of psnp->long_ptr -gdbtk_test c_variable-5.20 {children of psnp->long_ptr} { - get_children psnp->long_ptr -} {*psnp->long_ptr} - -# Test: c_variable-5.21 -# Desc: number of children of psnp->long_ptr -gdbtk_test c_variable-5.21 {number of children of psnp->long_ptr} { - $var(psnp->long_ptr) numChildren -} {1} - -# Test: c_variable-5.22 -# Desc: children of *(psnp->long_ptr) -gdbtk_test c_variable-5.22 {children of *(psnp->long_ptr)} { - get_children psnp->long_ptr.*psnp->long_ptr -} {**psnp->long_ptr} - -# Test: c_variable-5.23 -# Desc: number of children of *(psnp->long_ptr) -gdbtk_test c_variable-5.23 {number of children of *(psnp->long_ptr)} { - $var(psnp->long_ptr.*psnp->long_ptr) numChildren -} {1} - -# Test: c_variable-5.24 -# Desc: children of *(*(psnp->long_ptr)) -gdbtk_test c_variable-5.24 {children of *(*(psnp->long_ptr))} { - get_children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr -} {***psnp->long_ptr} - -# Test: c_variable-5.25 -# Desc: number of children of *(*(psnp->long_ptr)) -gdbtk_test c_variable-5.25 {number of children of *(*(psnp->long_ptr))} { - $var(psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr) numChildren -} {1} - -# Test: c_variable-5.26 -# Desc: children of *(*(*(psnp->long_ptr))) -gdbtk_test c_variable-5.26 {children of *(*(*(psnp->long_ptr)))} { - get_children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr -} {****psnp->long_ptr} - -# Test: c_variable-5.27 -# Desc: number of children of *(*(*(psnp->long_ptr))) -gdbtk_test c_variable-5.27 {number of children of *(*(*(psnp->long_ptr)))} { - $var(psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr) numChildren -} {1} - -# Test: c_variable-5.28 -# Desc: children of *(*(*(*(psnp->long_ptr)))) -gdbtk_test c_variable-5.29 {children of *(*(*(*(psnp->long_ptr))))} { - get_children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr -} {} - -# Test: c_variable-5.29 -# Desc: number of children of *(*(*(*(psnp->long_ptr)))) -gdbtk_test c_variable-5.29 {number of children of *(*(*(*(psnp->long_ptr))))} { - $var(psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr) numChildren -} {0} - -# Test: c_variable-5.30 -# Desc: create psnp->ptrs -gdbtk_test c_variable-5.30 {create psnp->ptrs} { - create_variable psnp->ptrs -} {0} - -# Test: c_variable-5.31 -# Desc: children of psnp->ptrs -gdbtk_test c_variable-5.31 {children of psnp->ptrs} { - get_children psnp->ptrs -} {0 1 2} - -# Test: c_variable-5.32 -# Desc: number of children of psnp->ptrs -gdbtk_test c_variable-5.32 {number of children of psnp->ptrs} { - $var(psnp->ptrs) numChildren -} {3} - -# Test: c_variable-5.33 -# Desc: children of psnp->ptrs[0] -gdbtk_test c_variable-5.33 {children of psnp->ptrs[0]} { - get_children psnp->ptrs.0 -} {char_ptr long_ptr ptrs next} - -# Test: c_variable-5.34 -# Desc: number of children of psnp->ptrs[0] -gdbtk_test c_variable-5.34 {number of children of psnp->ptrs[0]} { - $var(psnp->ptrs.0) numChildren -} {4} - -# Test: c_variable-5.35 -# Desc: children of psnp->ptrs[0]->next -gdbtk_test c_variable-5.35 {children of psnp->ptrs.0.next} { - get_children psnp->ptrs.0.next -} {char_ptr long_ptr ptrs next} - -# Test: c_variable-5.36 -# Desc: number of children of psnp->ptrs[0]->next -gdbtk_test c_variable-5.36 {number of children of psnp->ptrs[0]->next} { - $var(psnp->ptrs.0.next) numChildren -} {4} - -# Test: c_variable-5.37 -# Desc: children of psnp->ptrs[0]->next->char_ptr -gdbtk_test c_variable-5.37 {children of psnp->ptrs[0]->next->char_ptr} { - get_children psnp->ptrs.0.next.char_ptr -} {*char_ptr} - -# Test: c_variable-5.38 -# Desc: number of children of psnp->ptrs[0]->next->char_ptr -gdbtk_test c_variable-5.38 {number of children of psnp->ptrs[0]->next->char_ptr} { - $var(psnp->ptrs.0.next.char_ptr) numChildren -} {1} - -# Test: c_variable-5.39 -# Desc: children of *psnp->ptrs[0]->next->char_ptr -gdbtk_test c_variable-5.39 {children of *psnp->ptrs[0]->next->char_ptr} { - get_children psnp->ptrs.0.next.char_ptr.*char_ptr -} {**char_ptr} - -# Test: c_variable-5.40 -# Desc: number of children of *psnp->ptrs[0]->next->char_ptr -gdbtk_test c_variable-5.40 {number of children of *psnp->ptrs[0]->next->char_ptr} { - $var(psnp->ptrs.0.next.char_ptr.*char_ptr) numChildren -} {1} - -# Test: c_variable-5.41 -# Desc: children of **psnp->ptrs[0]->next->char_ptr -gdbtk_test c_variable-5.41 {children of **psnp->ptrs[0]->next->char_ptr} { - get_children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr -} {***char_ptr} - -# Test: c_variable-5.42 -# Desc: number of children of **psnp->ptrs[0]->next->char_ptr -gdbtk_test c_variable-5.42 {number of children of **psnp->ptrs[0]->next->char_ptr} { - $var(psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr) numChildren -} {1} - -# Test: c_variable-5.43 -# Desc: children of ***psnp->ptrs[0]->next->char_ptr -gdbtk_test c_variable-5.43 {children of ***psnp->ptrs[0]->next->char_ptr} { - get_children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr -} {****char_ptr} - -# Test: c_variable-5.44 -# Desc: number of children of ***psnp->ptrs[0]->next->char_ptr -gdbtk_test c_variable-5.44 {number of children of ***psnp->ptrs[0]->next->char_ptr} { - $var(psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr) numChildren -} {1} - -# Test: c_variable-5.45 -# Desc: children of psnp->ptrs[0]->next->next -gdbtk_test c_variable-5.45 {children of psnp->ptrs[0]->next->next} { - get_children psnp->ptrs.0.next.next -} {char_ptr long_ptr ptrs next} - -# Test: c_variable-5.46 -# Desc: children of psnp->ptrs[0]->next->next->ptrs -gdbtk_test c_variable-5.46 {children of psnp->ptrs[0]->next->next->ptrs} { - get_children psnp->ptrs.0.next.next.ptrs -} {0 1 2} - -# Step over "snp0.char_ptr = &b3;" -gdb_cmd "step" - -# Test: c_variable-5.47 -# Desc: check that psnp->char_ptr (and [0].char_ptr) changed -gdbtk_test c_variable-5.47 {check that psnp->char_ptr (and [0].char_ptr) changed} { - check_update -} {{psnp->ptrs.0.char_ptr {psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr}} {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}} - -# Step over "snp1.char_ptr = &c3;" -gdb_cmd "step" - -# Test: c_variable-5.48 -# Desc: check that psnp->next->char_ptr (and [1].char_ptr) changed -gdbtk_test c_variable-5.48 {check that psnp->next->char_ptr (and [1].char_ptr) changed} { - check_update -} {{{psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr}} {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}} - -# Step over "snp2.char_ptr = &a3;" -gdb_cmd "step" - -# Test: c_variable-5.49 -# Desc: check that psnp->next->next->char_ptr (and [2].char_ptr) changed -gdbtk_test c_variable-5.49 {heck that psnp->next->next->char_ptr (and [2].char_ptr) changed} { - check_update -} {psnp->ptrs.0.next.next.char_ptr {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}} - -# Step over "snp0.long_ptr = &y3;" -gdb_cmd "step" - -# Test: c_variable-5.50 -# Desc: check that psnp->long_ptr (and [0].long_ptr) changed -gdbtk_test c_variable-5.50 {check that psnp->long_ptr (and [0].long_ptr) changed} { - check_update -} {{psnp->ptrs.0.long_ptr {psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr}} {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}} - -# Step over "snp1.long_ptr = &x3;" -gdb_cmd "step" - -# Test: c_variable-5.51 -# Desc: check that psnp->next->long_ptr (and [1].long_ptr) changed -gdbtk_test c_variable-5.51 {check that psnp->next->long_ptr (and [1].long_ptr) changed} { - check_update -} {psnp->ptrs.0.next.long_ptr {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}} - -# Step over "snp2.long_ptr = &z3;" -gdb_cmd "step" - -# Test: c_variable-5.52 -# Desc: check that psnp->next->next->long_ptr (and [2].long_ptr) changed -gdbtk_test c_variable-5.52 {check that psnp->next->next->long_ptr (and [2].long_ptr) changed} { - check_update -} {psnp->ptrs.0.next.next.long_ptr {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}} - -# Test: c_variable-5.53 -# Desc: names of editable variables -gdbtk_test c_variable-5.53 {names of editable variables} { - editable_variables -} {{psnp->ptrs.0.next psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->long_ptr psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr} {psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next.ptrs psnp->ptrs psnp->ptrs.0.ptrs}} - -##### ##### -# # -# Display tests # -# # -##### ##### - -delete_all_variables - -# Test: c_variable-6.1 -# Desc: create variable bar -gdbtk_test c_variable-6.1 {create variable bar} { - create_variable bar -} {0} - -# Test: c_variable-6.2 -# Desc: type of variable bar -gdbtk_test c_variable-6.2 {type of variable bar} { - $var(bar) type -} {int} - -# Test: c_variable-6.3 -# Desc: format of variable bar -gdbtk_test c_variable-6.3 {format of variable bar} { - $var(bar) format -} {natural} - -# Test: c_variable-6.4 -# Desc: value of variable bar -gdbtk_test c_variable-6.4 {value of variable bar} { - value bar d -} {ok} - -# Test: c_variable-6.5 -# Desc: change format of bar to hex -gdbtk_test c_variable-6.5 {change format of bar to hex} { - $var(bar) format hex - $var(bar) format -} {hexadecimal} - -# Test: c_variable-6.6 -# Desc: value of bar with new format -gdbtk_test c_variable-6.6 {value of bar with new format} { - value bar x -} {ok} - -# Test: c_variable-6.7 -# Desc: change value of bar -gdbtk_test c_variable-6.7 {change value of bar} { - $var(bar) value 3 - value bar x -} {ok} - -# Test: c_variable-6.8 -# Desc: check new value of bar -gdbtk_test c_variable-6.8 {change value of bar} { - $var(bar) format decimal - $var(bar) value -} {3} - -delete_variable bar - -# Test: c_variable-6.11 -# Desc: create variable foo -gdbtk_test c_variable-6.11 {create variable foo} { - create_variable foo -} {0} - -# Test: c_variable-6.12 -# Desc: type of variable foo -gdbtk_test c_variable-6.12 {type of variable foo} { - $var(foo) type -} {int *} - -# Test: c_variable-6.13 -# Desc: format of variable foo -gdbtk_test c_variable-6.13 {format of variable foo} { - $var(foo) format -} {natural} - -# Test: c_variable-6.14 -# Desc: value of variable foo -gdbtk_test c_variable-6.14 {value of variable foo} { - value foo x -} {ok} - -# Test: c_variable-6.15 -# Desc: change format of var to octal -gdbtk_test c_variable-6.15 {change format of foo to octal} { - $var(foo) format octal - $var(foo) format -} {octal} - -# Test: c_variable-6.16 -# Desc: value of foo with new format -gdbtk_test c_variable-6.16 {value of foo with new format} { - value foo o -} {ok} - -# Test: c_variable-6.17 -# Desc: change value of foo -gdbtk_test c_variable-6.17 {change value of foo} { - $var(foo) value 3 - value foo o -} {ok} - -# Test: c_variable-6.18 -# Desc: check new value of foo -gdbtk_test c_variable-6.18 {check new value of foo} { - $var(foo) format decimal - $var(foo) value -} {3} - -delete_variable foo - -# Test: c_variable-6.21 -# Desc: create variable weird and children -gdbtk_test c_variable-6.21 {create variable foo} { - if {![create_variable weird]} { - lsort [get_children weird] - } -} {char_ptr character func_ptr func_ptr_ptr func_ptr_struct int_ptr_ptr integer long_array long_int s2 u1} - -# Test: c_variable-6.22 -# Desc: type of weird and children -gdbtk_test c_variable-6.22 {type of weird and children} { - set types {} - foreach v [lsort [array names var]] { - lappend types [$var($v) type] - } - - set types -} {{weird_struct *} {char *} char {void (*)(void)} {struct _struct_decl *(*)(int, char *, long int)} {struct _struct_decl (*)(int, char *, long int)} {int **} int {long int [10]} {long int} struct union} - -# Test: c_variable-6.23 -# Desc: change format of weird.func_ptr and weird.func_ptr_ptr -gdbtk_test c_variable-6.23 {change format of weird.func_ptr and weird.func_ptr_ptr} { - $var(weird.func_ptr) format hexadecimal - $var(weird.func_ptr_ptr) format hexadecimal - set result {} - lappend result [$var(weird.func_ptr) format] - lappend result [$var(weird.func_ptr_ptr) format] - set result -} {hexadecimal hexadecimal} - -# Test: c_variable-6.24 -# Desc: format of weird and children -gdbtk_test c_variable-6.24 {format of weird and children} { - set formats {} - foreach v [lsort [array names var]] { - lappend formats [$var($v) format] - } - - set formats -} {natural natural natural hexadecimal hexadecimal natural natural natural natural natural natural natural} - -# Test: c_variable-6.25 -# Desc: value of weird and children -gdbtk_test c_variable-6.25 {value of weird and children} { - set values {} - foreach v [lsort [array names var]] f [list x "" "" x x x x d d d d d] { - lappend values [value $v $f] - } - - set values -} {ok ok ok ok ok ok ok ok weird.long_array ok weird.s2 weird.u1} - -# Test: c_variable-6.26 -# Desc: change format of weird and children to octal -gdbtk_test c_variable-6.26 {change format of weird and children to octal} { - set formats {} - foreach v [lsort [array names var]] { - $var($v) format octal - lappend formats [$var($v) format] - } - - set formats -} {octal octal octal octal octal octal octal octal octal octal octal octal} - -# Test: c_variable-6.27 -# Desc: value of weird and children with new format -gdbtk_test c_variable-6.27 {value of foo with new format} { - set values {} - foreach v [lsort [array names var]] { - lappend values [value $v o] - } - - set values -} {ok ok ok ok ok ok ok ok weird.long_array ok weird.s2 weird.u1} - -# Test: c_variable-6.30 -# Desc: create more children of weird -gdbtk_test c_variable-6.30 {create more children of weird} { - foreach v [array names var] { - get_children $v - } - - # Do it twice to get more children - foreach v [array names var] { - get_children $v - } - - lsort [array names var] -} {weird weird.char_ptr weird.char_ptr.*char_ptr weird.character weird.func_ptr weird.func_ptr_ptr weird.func_ptr_struct weird.int_ptr_ptr weird.int_ptr_ptr.*int_ptr_ptr weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr weird.integer weird.long_array weird.long_array.0 weird.long_array.1 weird.long_array.2 weird.long_array.3 weird.long_array.4 weird.long_array.5 weird.long_array.6 weird.long_array.7 weird.long_array.8 weird.long_array.9 weird.long_int weird.s2 weird.s2.g weird.s2.h weird.s2.i weird.s2.i.0 weird.s2.i.1 weird.s2.i.2 weird.s2.i.3 weird.s2.i.4 weird.s2.i.5 weird.s2.i.6 weird.s2.i.7 weird.s2.i.8 weird.s2.i.9 weird.s2.u2 weird.s2.u2.f weird.s2.u2.u1s1 weird.s2.u2.u1s2 weird.u1 weird.u1.a weird.u1.b weird.u1.b.*b weird.u1.c weird.u1.d} - -# Test: c_variable-6.31 -# Desc: check that all children of weird change -# Ok, obviously things like weird.s2 and weird.u1 will not change! -gdbtk_test c_variable-6.31 {check that all children of weird change (ops, we are now reporting array names as changed in this case - seems harmless though)} { - $var(weird) value 0x2121 - check_update -} {{{weird weird.integer weird.character weird.char_ptr weird.char_ptr.*char_ptr weird.long_int weird.int_ptr_ptr weird.int_ptr_ptr.*int_ptr_ptr weird.long_array.0 weird.long_array.1 weird.long_array.2 weird.long_array.3 weird.long_array.4 weird.long_array.5 weird.long_array.6 weird.long_array.7 weird.long_array.8 weird.long_array.9 weird.func_ptr weird.func_ptr_struct weird.func_ptr_ptr weird.u1.a weird.u1.b weird.u1.c weird.u1.d weird.s2.u2.f weird.s2.g weird.s2.h weird.s2.i.0 weird.s2.i.1 weird.s2.i.2 weird.s2.i.3 weird.s2.i.4 weird.s2.i.5 weird.s2.i.6 weird.s2.i.7 weird.s2.i.8 weird.s2.i.9}} {weird.char_ptr weird.s2.u2.f weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr weird.s2.g weird.s2.h weird.s2.i weird.func_ptr_ptr weird.func_ptr weird.s2.u2 weird.int_ptr_ptr weird.long_int weird.character weird.s2.u2.u1s1 weird.s2.u2.u1s2 weird.long_array.0 weird.u1.a weird.long_array.1 weird.s2 weird.func_ptr_struct weird.u1.b weird.long_array.2 weird.long_array weird.u1.c weird.long_array.3 weird.u1.d weird.long_array.4 weird.long_array.5 weird.s2.i.0 weird.long_array.6 weird.s2.i.1 weird.long_array.7 weird.s2.i.2 weird.long_array.8 weird.s2.i.3 weird.long_array.9 weird.s2.i.4 weird.integer weird.s2.i.5 weird.s2.i.6 weird.s2.i.7 weird.s2.i.8 weird.int_ptr_ptr.*int_ptr_ptr weird.s2.i.9 weird.char_ptr.*char_ptr weird.u1 weird.u1.b.*b}} - -delete_variable weird - -##### ##### -# # -# Special Display Tests # -# # -##### ##### - -# Stop in "do_special_tests" -gdb_cmd "break do_special_tests" -gdb_cmd "continue" - -# Test: c_variable-7.1 -# Desc: stop in do_special_tests -gdbtk_test c_variable-7.1 {stop in do_special_tests} { - lindex [gdb_loc] 1 -} {do_special_tests} - -# Test: c_variable-7.10 -# Desc: create union u -gdbtk_test c_variable-7.10 {create union u} { - create_variable u -} {0} - -# Test: c_variable-7.11 -# Desc: value of u -gdbtk_test c_variable-7.11 {value of u} { - $var(u) value -} {{...}} - -# Test: c_variable-7.12 -# Desc: type of u -gdbtk_test c_variable-7.12 {type of u} { - $var(u) type -} {union named_union} - -# Test: c_variable-7.13 -# Desc: is u editable -gdbtk_test c_variable-7.13 {is u editable} { - $var(u) editable -} {0} - -# Test: c_variable-7.14 -# Desc: number of children of u -gdbtk_test c_variable-7.14 {number of children of u} { - $var(u) numChildren -} {2} - -# Test: c_variable-7.15 -# Desc: children of u -gdbtk_test c_variable-7.15 {children of u} { - get_children u -} {integer char_ptr} - -# Test: c_variable-7.20 -# Desc: create anonu -gdbtk_test c_variable-7.20 {create anonu} { - create_variable anonu -} {0} - -# Test: c_variable-7.21 -# Desc: value of anonu -gdbtk_test c_variable-7.21 {value of anonu} { - $var(anonu) value -} {{...}} - -# Test: c_variable-7.22 -# Desc: type of anonu -gdbtk_test c_variable-7.22 {type of anonu} { - $var(anonu) type -} {union} - -# Test: c_variable-7.23 -# Desc: is anonu editable -gdbtk_test c_variable-7.23 {is anonu editable} { - $var(anonu) editable -} {0} - -# Test: c_variable-7.24 -# Desc: number of children of anonu -gdbtk_test c_variable-7.24 {number of children of anonu} { - $var(anonu) numChildren -} {3} - -# Test: c_variable-7.25 -# Desc: children of anonu -gdbtk_test c_variable-7.25 {children of anonu} { - get_children anonu -} {a b c} - -# Test: c_variable-7.30 -# Desc: create struct s -gdbtk_test c_variable-7.30 {create struct s} { - create_variable s -} {0} - -# Test: c_variable-7.31 -# Desc: value of s -gdbtk_test c_variable-7.31 {value of s} { - $var(s) value -} {{...}} - -# Test: c_variable-7.32 -# Desc: type of s -gdbtk_test c_variable-7.32 {type of s} { - $var(s) type -} {struct _simple_struct} - -# Test: c_variable-7.33 -# Desc: is s editable -gdbtk_test c_variable-7.33 {is s editable} { - $var(s) editable -} {0} - -# Test: c_variable-7.34 -# Desc: number of children of s -gdbtk_test c_variable-7.34 {number of children of s} { - $var(s) numChildren -} {6} - -# Test: c_variable-7.35 -# Desc: children of s -gdbtk_test c_variable-7.35 {children of s} { - get_children s -} {integer unsigned_integer character signed_character char_ptr array_of_10} - -# Test: c_variable-7.40 -# Desc: create anons -gdbtk_test c_variable-7.40 {create anons} { - create_variable anons -} {0} - -# Test: c_variable-7.41 -# Desc: value of anons -gdbtk_test c_variable-7.41 {value of anons} { - $var(anons) value -} {{...}} - -# Test: c_variable-7.42 -# Desc: type of anons -gdbtk_test c_variable-7.42 {type of anons} { - $var(anons) type -} {struct} - -# Test: c_variable-7.43 -# Desc: is anons editable -gdbtk_test c_variable-7.43 {is anons editable} { - $var(anons) editable -} {0} - -# Test: c_variable-7.44 -# Desc: number of children of anons -gdbtk_test c_variable-7.44 {number of children of anons} { - $var(anons) numChildren -} {3} - -# Test: c_variable-7.45 -# Desc: children of anons -gdbtk_test c_variable-7.45 {children of anons} { - get_children anons -} {a b c} - -# Test: c_variable-7.50 -# Desc: create enum e -gdbtk_test c_variable-7.50 {create enum e} { - create_variable e -} {0} - -# Test: c_variable-7.51 -# Desc: value of e -gdbtk_test c_variable-7.51 {value of e} { - $var(e) value bar - $var(e) value -} {bar} - -# Test: c_variable-7.52 -# Desc: type of e -gdbtk_test c_variable-7.52 {type of e} { - $var(e) type -} {enum foo} - -# Test: c_variable-7.53 -# Desc: is e editable -gdbtk_test c_variable-7.53 {is e editable} { - $var(e) editable -} {1} - -# Test: c_variable-7.54 -# Desc: number of children of e -gdbtk_test c_variable-7.54 {number of children of e} { - $var(e) numChildren -} {0} - -# Test: c_variable-7.55 -# Desc: children of e -gdbtk_test c_variable-7.55 {children of e} { - get_children e -} {} - -# Test: c_variable-7.60 -# Desc: create anone -gdbtk_test c_variable-7.60 {create anone} { - create_variable anone -} {0} - -# Test: c_variable-7.61 -# Desc: value of anone -gdbtk_test c_variable-7.61 {value of e} { - $var(e) value bar - $var(e) value -} {bar} - -# Test: c_variable-7.62 -# Desc: type of e -gdbtk_test c_variable-7.62 {type of e} { - $var(e) type -} {enum foo} - -# Test: c_variable-7.63 -# Desc: is e editable -gdbtk_test c_variable-7.63 {is e editable} { - $var(e) editable -} {1} - -# Test: c_variable-7.64 -# Desc: number of children of e -gdbtk_test c_variable-7.64 {number of children of e} { - $var(e) numChildren -} {0} - -# Test: c_variable-7.65 -# Desc: children of e -gdbtk_test c_variable-7.65 {children of e} { - get_children e -} {} - -# Test: c_variable-7.70 -# Desc: create anone -gdbtk_test c_variable-7.70 {try to create anone again (duplicate obj name} { - create_variable anone -} {1} - -# Test: c_variable-7.71 -# Desc: value of anone -gdbtk_test c_variable-7.71 {value of anone} { - $var(anone) value A - $var(anone) value -} {A} - -# Test: c_variable-7.72 -# Desc: type of anone -gdbtk_test c_variable-7.72 {type of anone} { - $var(anone) type -} {enum} - -# Test: c_variable-7.73 -# Desc: is anone editable -gdbtk_test c_variable-7.73 {is anone editable} { - $var(anone) editable -} {1} - -# Test: c_variable-7.74 -# Desc: number of children of anone -gdbtk_test c_variable-7.74 {number of children of anone} { - $var(anone) numChildren -} {0} - -# Test: c_variable-7.75 -# Desc: children of anone -gdbtk_test c_variable-7.75 {children of anone} { - get_children anone -} {} - -# Record fp -set fp [gdb_cmd "output/x \$fp"] -gdb_cmd {break incr_a} -gdb_cmd {continue} - -# Test: c_variable-7.80 -# Desc: stop in incr_a -gdbtk_test c_variable-7.80 {stop in incr_a} { - lindex [gdb_loc] 1 -} {incr_a} - -# Test: c_variable-7.81 -# Desc: Create variables in different scopes -gdbtk_test c_variable-7.81 {create variables in different scopes} { - set a1 [gdb_variable create -expr a] - set a2 [gdb_variable create -expr a -frame $fp] - - set vals {} - lappend vals [$a1 value] - lappend vals [$a2 value] - set vals -} {2 1} - -# Exit -# -gdbtk_test_done - -#Local Variables: -#mode: tcl diff --git a/gdb/testsuite/gdb.gdbtk/configure b/gdb/testsuite/gdb.gdbtk/configure deleted file mode 100644 index f6964b2b777..00000000000 --- a/gdb/testsuite/gdb.gdbtk/configure +++ /dev/null @@ -1,1010 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -sitefile= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --site-file=FILE use FILE as the site file - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -site-file | --site-file | --site-fil | --site-fi | --site-f) - ac_prev=sitefile ;; - -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) - sitefile="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=defs - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$sitefile"; then - if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi - fi -else - CONFIG_SITE="$sitefile" -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -CC=${CC-cc} - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:586: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:607: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:625: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:649: checking for Cygwin environment" >&5 -if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 654 "configure" -#include "confdefs.h" - -int main() { - -#ifndef __CYGWIN__ -#define __CYGWIN__ __CYGWIN32__ -#endif -return __CYGWIN__; -; return 0; } -EOF -if { (eval echo configure:665: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_cygwin=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_cygwin=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_cygwin" 1>&6 -CYGWIN= -test "$ac_cv_cygwin" = yes && CYGWIN=yes -echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:682: checking for mingw32 environment" >&5 -if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 687 "configure" -#include "confdefs.h" - -int main() { -return __MINGW32__; -; return 0; } -EOF -if { (eval echo configure:694: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_mingw32=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_mingw32=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_mingw32" 1>&6 -MINGW32= -test "$ac_cv_mingw32" = yes && MINGW32=yes - - -echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:713: checking for executable suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$CYGWIN" = yes || test "$MINGW32" = yes; then - ac_cv_exeext=.exe -else - rm -f conftest* - echo 'int main () { return 0; }' > conftest.$ac_ext - ac_cv_exeext= - if { (eval echo configure:723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then - for file in conftest.*; do - case $file in - *.c | *.o | *.obj | *.ilk | *.pdb) ;; - *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - else - { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } - fi - rm -f conftest* - test x"${ac_cv_exeext}" = x && ac_cv_exeext=no -fi -fi - -EXEEXT="" -test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} -echo "$ac_t""${ac_cv_exeext}" 1>&6 -ac_exeext=$EXEEXT - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS <<EOF - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@CC@%$CC%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g -s%@EXEEXT@%$EXEEXT%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -EOF -cat >> $CONFIG_STATUS <<EOF - -EOF -cat >> $CONFIG_STATUS <<\EOF - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gdb/testsuite/gdb.gdbtk/configure.in b/gdb/testsuite/gdb.gdbtk/configure.in deleted file mode 100644 index 5ab12edbf15..00000000000 --- a/gdb/testsuite/gdb.gdbtk/configure.in +++ /dev/null @@ -1,18 +0,0 @@ -dnl Process this file file with autoconf to produce a configure script. -dnl This file is a shell script fragment that supplies the information -dnl necessary to tailor a template configure script into the configure -dnl script appropriate for this directory. For more information, check -dnl any existing configure script. - -AC_PREREQ(2.5) -AC_INIT(defs) - -CC=${CC-cc} -AC_SUBST(CC) -AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) -AC_CANONICAL_SYSTEM - -dnl Check for exe extension set on certain hosts (e.g. Win32) -AC_EXEEXT - -AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.gdbtk/console.exp b/gdb/testsuite/gdb.gdbtk/console.exp deleted file mode 100644 index bb378a957a8..00000000000 --- a/gdb/testsuite/gdb.gdbtk/console.exp +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1998, 1999, 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License (GPL) as published by -# the Free Software Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -load_lib insight-support.exp - -if {[gdbtk_initialize_display]} { - if {$tracelevel} { - strace $tracelevel - } - - # - # test console window - # - set prms_id 0 - set bug_id 0 - - set testfile "simple" - set srcfile ${testfile}.c - set binfile ${objdir}/${subdir}/${testfile} - set r [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] - if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." - } - - # Start with a fresh gdbtk - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir console.test]] - set results [split $results \n] - - # Analyze results - gdbtk_done $results -} diff --git a/gdb/testsuite/gdb.gdbtk/console.test b/gdb/testsuite/gdb.gdbtk/console.test deleted file mode 100644 index 41e79465cd2..00000000000 --- a/gdb/testsuite/gdb.gdbtk/console.test +++ /dev/null @@ -1,491 +0,0 @@ -# Copyright (C) 1998, 1999, 2002 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Keith Seitz (keiths@cygnus.com) - -# Read in the standard defs file - -if {![gdbtk_read_defs]} { - break -} - -global objdir test_ran -global console text -set console [ManagedWin::open Console] -set text [$console test set _twin] - -##### ##### -# # -# Helper functions for this module # -# # -##### ##### - -# console_command -- -# Invoke STRING as a command in the console window and -# return the result -proc console_command {string} { - global console text - - # Save current position - set line [lindex [split [$text index cmdmark] .] 0] - incr line 1 - - # Insert and invoke command - $text insert end $string - $console invoke - update - - # Get the result - set end [lindex [split [$text index cmdmark] .] 0] - incr end -1 - return [$text get $line.0 [list $end.0 lineend]] -} - -# get_cmd_line -- -# Return the command line -proc get_cmd_line {} { - global text - - update - set index [$text index cmdmark] - return [$text get [list $index linestart] [list $index lineend]] -} - -# clear_command_line -- -# Clear the command line -proc clear_command_line {} { - global text - $text delete {cmdmark + 1 char} insert -} - -##### ##### -# # -# CONSOLE TESTS # -# # -##### ##### - -# -# Miscellaneous tests -# - -# Test: console-misc-1 -# Desc: Change console prompt -gdbtk_test console-misc-1 {change console prompt} { - # Insert the "set prompt" command into the text widget - console_command {set prompt (test) } - - $text get {cmdmark linestart} {cmdmark lineend} -} {(test) } -if {$test_ran} { - console_command {set prompt (gdb) } -} - -# -# Paste tests -# - -# Test: console-paste-1 -# Desc: Paste the X selection into console window -gdbtk_test console-paste-1 {paste X text} { - # This is cheesy, but it works... Create a text widget - # which holds the current selection... - text .test_text - .test_text insert end "this is some pasted text" - .test_text tag add sel 1.0 {1.0 lineend} - event generate .test_text <<Copy>> - event generate $text <<Paste>> - get_cmd_line -} {(gdb) this is some pasted text} -if {$test_ran} { - destroy .test_text - clear_command_line -} - -# -# Test for errors -# - -# Test: console-error-1 -# Desc: Check if console window reports internal gdb errors -gdbtk_test console-error-1 {invoke unknown command} { - console_command {this_command_doesn't_exist} -} {Error: Undefined command: "this". Try "help". -} - -# -# History tests -# - -# Test: console-history-1.1 -# Desc: Exercise the up-history functionality -gdbtk_test console-history-1.1 {up history once} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - # this doesn't seem to work reliably: event generate $text <Up> - $console test _previous - get_cmd_line -} {(gdb) help si} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-1.2 -# Desc: Exercise the up-history functionality -gdbtk_test console-history-1.2 {up history twice} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - # this doesn't seem to work reliably: event generate $text <Up> - # this doesn't seem to work reliably: event generate $text <Up> - $console test _previous - $console test _previous - get_cmd_line -} {(gdb) help quit} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-1.3 -# Desc: Exercise the up-history functionality -gdbtk_test console-history-1.3 {up history four times} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - - for {set i 0} {$i < 4} {incr i} { - # this doesn't seem to work reliably: event generate $text <Up> - $console test _previous - } - get_cmd_line -} {(gdb) show remotedevice} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-1.4 -# Desc: Exercise the up-history functionality -gdbtk_test console-history-1.4 {up fourteen times} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - for {set i 0} {$i < 14} {incr i} { - # this doesn't seem to work reliably: event generate $text <Up> - $console test _previous - } - get_cmd_line -} {(gdb) show annotate} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-1.5 -# Desc: Exercise the up-history search functionality -gdbtk_test console-history-1.5 {up search} { - # Add some commands into the command buffer - console_command {show height} - console_command {show annotate} - console_command {show complaints} - console_command {print main} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - - $text insert end "sh" - # this doesn't seem to work reliably: event generate $text <Shift-Up> - # this doesn't seem to work reliably: event generate $text <Shift-Up> - # this doesn't seem to work reliably: event generate $text <Shift-Up> - $console test _search_history - $console test _search_history - $console test _search_history - get_cmd_line -} {(gdb) show annotate} - - -# Test: console-history-1.6 -# Desc: Exercise the down-history search functionality -gdbtk_test console-history-1.6 {down search} { - # this doesn't seem to work reliably: event generate $text <Shift-Down> - # this doesn't seem to work reliably: event generate $text <Shift-Down> - $console test _rsearch_history - $console test _rsearch_history - get_cmd_line -} {(gdb) show remotelogbase} - -# Test: console-history-1.7 -# Desc: Down-history search to bottom -# We go back down until the original partialcommand is displayed -gdbtk_test console-history-1.7 {down search to bottom} { - # this doesn't seem to work reliably: event generate $text <Shift-Down> - # this doesn't seem to work reliably: event generate $text <Shift-Down> - $console test _rsearch_history - $console test _rsearch_history - get_cmd_line -} {(gdb) sh} - -# Test: console-history-1.8 -# Desc: Up-history search to top -# We go up until there are no matches -gdbtk_test console-history-1.8 {up search to top} { - for {set i 0} {$i < 100} {incr i} { - # this doesn't seem to work reliably: event generate $text <Shift-Up> - $console test _search_history - } - get_cmd_line -} {(gdb) show annotate} - -if {$test_ran} { - clear_command_line -} - -# Test: console-history-2.1 -# Desc: Exercise the down-history functionality -gdbtk_test console-history-2.1 {down once} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - - for {set i 0} {$i < 14} {incr i} { - # this doesn't seem to work reliably: event generate $text <Up> - $console test _previous - } - # this doesn't seem to work reliably: event generate $text <Down> - $console test _next - get_cmd_line -} {(gdb) show complaints} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-2.2 -# Desc: Exercise the down-history functionality -gdbtk_test console-history-2.2 {down twice} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - - for {set i 0} {$i < 14} {incr i} { - # this doesn't seem to work reliably: event generate $text <Up> - $console test _previous - } - - # this doesn't seem to work reliably: event generate $text <Down> - # this doesn't seem to work reliably: event generate $text <Down> - $console test _next - $console test _next - get_cmd_line -} {(gdb) show confirm} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-2.3 -# Desc: Exercise the down-history functionality -gdbtk_test console-history-2.3 {down four times} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - - for {set i 0} {$i < 14} {incr i} { - # this doesn't seem to work reliably: event generate $text <Up> - $console test _previous - } - - for {set i 0} {$i < 4} {incr i} { - # this doesn't seem to work reliably: event generate $text <Down> - $console test _next - } - get_cmd_line -} {(gdb) show language} -if {$test_ran} { - clear_command_line -} - -# Test: console-history-2.4 -# Desc: Exercise the down-history functionality -gdbtk_test console-history-2.4 {down infinitely} { - # Add some commands into the command buffer - console_command {show annotate} - console_command {show complaints} - console_command {show confirm} - console_command {show height} - console_command {show language} - console_command {show print demangle} - console_command {show remotebaud} - console_command {show remotebreak} - console_command {show remotecache} - console_command {show remotedebug} - console_command {show remotedevice} - console_command {show remotelogbase} - console_command {help quit} - console_command {help si} - for {set i 0} {$i < 14} {incr i} { - # this doesn't seem to work reliably: event generate $text <Up> - $console test _previous - } - - for {set i 0} {$i < 20} {incr i} { - # this doesn't seem to work reliably: event generate $text <Down> - $console test _next - } - get_cmd_line -} {(gdb) } -if {$test_ran} { - clear_command_line -} - -# -# gdb - gdbtk Interface Tests -# - -# Test: console-interface-1.1 -# Desc: Verify that a "file" command in the console window causes -# gdb to invoke the pre-/post-add-symbol hooks -set file_loaded 0 -gdbtk_test console-interface-1.1 {file command goes through hooks} { - global TEST1_RESULT TEST2_RESULT - - # This is really ugly, but its the only way to do this... - rename gdbtk_tcl_pre_add_symbol pre_add - rename gdbtk_tcl_post_add_symbol post_add - - proc gdbtk_tcl_pre_add_symbol {file} { - global TEST1_RESULT - - set TEST1_RESULT $file - pre_add $file - } - proc gdbtk_tcl_post_add_symbol {} { - global TEST2_RESULT - - set TEST2_RESULT ok - post_add - } - - # load a file and make sure we went through the pre/post_add_symbol hooks - set TEST1_RESULT {} - set TEST2_RESULT {} - set file [file join $objdir simple] - console_command "file $file" - if {$TEST1_RESULT != $file} { - set result "did not go through gdbtk_tcl_pre_add_symbol ($TEST1_RESULT)" - } elseif {$TEST2_RESULT != "ok"} { - set result "did not go through gdbtk_tcl_post_add_symbol" - } else { - set result {} - set file_loaded 1 - } - - set result -} {} -if {$test_ran} { - rename gdbtk_tcl_pre_add_symbol {} - rename gdbtk_tcl_post_add_symbol {} - rename pre_add gdbtk_tcl_pre_add_symbol - rename post_add gdbtk_tcl_post_add_symbol -} - -# -# Exit -# -gdbtk_test_done diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.cc b/gdb/testsuite/gdb.gdbtk/cpp_variable.cc deleted file mode 100644 index deecc295a7f..00000000000 --- a/gdb/testsuite/gdb.gdbtk/cpp_variable.cc +++ /dev/null @@ -1,33 +0,0 @@ -#include "cpp_variable.h" - -static void do_simple_class_tests (void); - -int -VB::fvb_pub () {return 300 + vb_pub_int;} - -int -VB::vvb_pub () {return 400 + vb_pub_int;} - -int -V::f () {return 600 + v_pub_int;} - -int -V::vv () {return 400 + v_pub_int;} - -int -VC::fvc () {return 300 + vc_pub_int;} - -int -VC::vfvc () {return 100 + vc_pub_int;} - -main () -{ - do_simple_class_tests (); -} - -static void -do_simple_class_tests (void) -{ - V *v = new V; - V vv; -} diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.exp b/gdb/testsuite/gdb.gdbtk/cpp_variable.exp deleted file mode 100644 index 7221e8c5cde..00000000000 --- a/gdb/testsuite/gdb.gdbtk/cpp_variable.exp +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 1999, 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License (GPL) as published by -# the Free Software Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -load_lib insight-support.exp - -if {[gdbtk_initialize_display]} { - if {$tracelevel} { - strace $tracelevel - } - - set results {} - if {[skip_cplus_tests]} { - # Target doesn't have c++ support - verbose "No C++ support -- skipping test" - } else { - # - # test variable API - # - set prms_id 0 - set bug_id 0 - - set testfile "cpp_variable" - set srcfile ${testfile}.cc - set binfile ${objdir}/${subdir}/${testfile} - set r [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] - if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." - } - - # Start with a fresh gdbtk - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir ${testfile}.test]] - set results [split $results \n] - } - - # Analyze results - gdbtk_done $results -} diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.h b/gdb/testsuite/gdb.gdbtk/cpp_variable.h deleted file mode 100644 index 40fda99a4dd..00000000000 --- a/gdb/testsuite/gdb.gdbtk/cpp_variable.h +++ /dev/null @@ -1,54 +0,0 @@ -struct _foo -{ - int a[10]; - char *p; -}; - -class VA -{ - public: - int va_pub_int; - char *va_pub_charp; - - private: - int va_priv_int; - char *va_priv_charp; - - protected: - struct _foo bar; -}; - -class VB -{ - public: - int vb_pub_int; - - int fvb_pub (); - virtual int vvb_pub (); - - private: - int vb_priv_int; - char *vb_priv_charp; -}; - -class VC -{ - public: - int vc_pub_int; - - int fvc (); - virtual int vfvc (); -}; - -class V : public VA, public VB, public VC -{ - public: - int f (); - virtual int vv (); - int v_pub_int; - char *v_pub_charp; - - private: - int v_priv_int; - char *v_priv_charp; -}; diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.test b/gdb/testsuite/gdb.gdbtk/cpp_variable.test deleted file mode 100644 index d2de6f3deea..00000000000 --- a/gdb/testsuite/gdb.gdbtk/cpp_variable.test +++ /dev/null @@ -1,594 +0,0 @@ -# Varobj Tests (C++ language) -# Copyright (C) 1998, 2003 Red Hat, Inc. -# -# This Program Is Free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# insight@sources.redhat.com - -# This file was written by Keith Seitz (keiths@cygnus.com) - -# Read in the standard defs file -if {![gdbtk_read_defs]} { - break -} - -global objdir test_ran - -# Load in a file -set program [file join $objdir cpp_variable] -if {[catch {gdbtk_test_file $program} t]} { - # This isn't a test case, since if this fails, we're hosed. - gdbtk_test_error "loading \"$program\": $t" -} - -# The variables that are created are stored in an array called "var". - -# proc to tell us which of the variables are changed/out of scope -proc check_update {} { - global var - - set out {} - set changed {} - foreach ind [array names var] { - set ret [$var($ind) update] - if {$ret == -1} { - lappend out $ind - } elseif {$ret != ""} { - lappend changed $ret - } - } - return [list $changed $out] -} - - -# proc to create a variable -proc create_variable {expr} { - global var - - set err [catch {gdb_variable create "$expr" -expr $expr} v] - if {!$err} { - set var($expr) $v - } - - return $err -} - -# proc to get the children -# Children are stored in the global "var" as -# PARENT.child. So for struct _foo {int a; int b} bar;, -# the children returned are {a b} and var(bar.a) and var(bar.b) -# map the actual objects to their names. -proc get_children {parent} { - global var - - set kiddies [$var($parent) children] - set children {} - foreach child $kiddies { - set name [lindex [split $child .] end] - lappend children $name - set var($parent.$name) $child - } - - return $children -} - -proc delete_variable {varname} { - global var - - if {[info exists var($varname)]} { - # This has to be caught, since deleting a parent - # will erase all children. - $var($varname) delete - set vars [array names var $varname*] - foreach v $vars { - if {[info exists var($v)]} { - unset var($v) - } - } - } -} - -# Compare the values of variable V in format FMT with value of OBJ -# with gdb's value. -proc cppvalue {obj v fmt} { - global var - global _test - - puts $_test(logfile) "obj=$obj v=$v fmt=$fmt" - puts $_test(logfile) "var(\$obj)=$var($obj)" - - set value [$var($obj) value] - set gdb [gdb_cmd "output/$fmt $v"] - puts $_test(logfile) "output/$fmt $v" - if {$value == $gdb} { - puts $_test(logfile) "gdbtk: $value == gdb: $gdb" - set result ok - } else { - set result $v - puts $_test(logfile) "gdbtk: $value <> gdb: $gdb" - } - - return $result -} - -proc delete_all_variables {} { - global var - - foreach variable [array names var] { - delete_variable $variable - } -} - -##### ##### -# # -# Simple Class Tests # -# # -##### ##### - -# run to "do_simple_class_tests" -gdb_cmd "break do_simple_class_tests" -gdbtk_test_run - -# Test: cpp_variable-1.1 -# Desc: stopped in do_simple_class_tests -gdbtk_test cpp_variable-1.1 {stopped in do_simple_class_tests} { - # G++ can output "do_simple_class_tests(void)". Strip the "(void)" part. - set loc [lindex [gdb_loc] 1] - set index [string first \( $loc] - if {$index > 0} { - set loc [string range $loc 0 [expr {$index-1}]] - } - set loc -} {do_simple_class_tests} - -# Test: cpp_variable-1.2 -# Desc: create variable v -gdbtk_test cpp_variable-1.2 {create variable v} { - create_variable v -} {0} - -# Test: cpp_variable-1.3 -# Desc: number of children of v -gdbtk_test cpp_variable-1.3 {number of children of v} { - $var(v) numChildren -} {5} - -# Test: cpp_variable-1.4a -# Desc: children of v -gdbtk_test cpp_variable-1.4a {children of v} { - get_children v -} {VA VB VC public private} - -# Test: cpp_variable-1.4b -# Desc: public children of v -gdbtk_test cpp_variable-1.4b {public children of v} { - get_children v.public -} {v_pub_int v_pub_charp} - -# Test: cpp_variable-1.4c -# Desc: private children of v -gdbtk_test cpp_variable-1.4c {private children of v} { - get_children v.private -} {v_priv_int v_priv_charp} - -# Test: cpp_variable-1.5 -# Desc: type of v -gdbtk_test cpp_variable-1.5 {type of v} { - $var(v) type -} {V *} - -# Test: cpp_variable-1.6 -# Desc: format of v -gdbtk_test cpp_variable-1.6 {format of v} { - $var(v) format -} {natural} - -set value {} -catch {$var(v) value} value - -# Test: cpp_variable-1.6a -# Desc: Step over "V *v = new V;" -gdbtk_test cpp_variable-1.6a {step over "V *v = new V;"} { - catch {gdb_cmd "next"} -} {0} - -# Test: cpp_variable-1.7 -# Desc: check value of v changed -gdbtk_test cpp_variable-1.7 {check value of v changed} { - set changes [check_update] - # It is undefined whether the children will change values - # or not, so ignore them. - expr {[lsearch [lindex [lindex $changes 0] 0] v] != -1} -} {1} - -# Test: cpp_variable-1.8 -# Desc: check values of v -gdbtk_test cpp_variable-1.8 {check values of v} { - set new [$var(v) value] - expr {$new != $value} -} {1} - -# Test: cpp_variable-1.9 -# Desc: v editable -gdbtk_test cpp_variable-1.9 {v editable} { - $var(v) editable -} {1} - -##### ##### -# # -# Children of v tests # -# # -##### ##### - -# Test: cpp_variable-2.1 -# Desc: type of v.v_pub_int -gdbtk_test cpp_variable-2.1 {type of v.v_pub_int} { - $var(v.public.v_pub_int) type -} {int} - -# Test: cpp_variable-2.2 -# Desc: format of v.v_pub_int -gdbtk_test cpp_variable-2.2 {format of v.v_pub_int} { - $var(v.public.v_pub_int) format -} {natural} - -# Test: cpp_variable-2.2a -# Desc: set variable v->v_pub_int=2112 -gdbtk_test cpp_variable-2.2a {set variable v.v_pub_int=2112} { - set err [catch {gdb_cmd "set variable v.v_pub_int=2112"} txt] - if {$err} { - set txt - } else { - set err - } -} {0} - -# Test: cpp_variable-2.3 -# Desc: value of v.v_pub_int changed -gdbtk_test cpp_variable-2.3 {value of v.v_pub_int changed} { - check_update -} {v.public.v_pub_int {v.private.v_priv_charp v.VB v.private.v_priv_int v.VC v.public.v_pub_charp v.public.v_pub_int v.private v.public v.VA}} - -# Test: cpp_variable-2.4 -# Desc: value of v.v_pub_int -gdbtk_test cpp_variable-2.4 {value of v.v_pub_int} { - $var(v.public.v_pub_int) value -} {2112} - -# Test: cpp_variable-2.5 -# Desc: changed format of v.v_pub_int -gdbtk_test cpp_variable-2.5 {changed format of v.v_pub_int} { - $var(v.public.v_pub_int) format octal - $var(v.public.v_pub_int) format -} {octal} - -# Test: cpp_variable-2.6 -# Desc: value of v.v_pub_int with new format -gdbtk_test cpp_variable-2.6 {value of v.v_pub_int with new format} { - $var(v.public.v_pub_int) value -} {04100} - -# Test: cpp_variable-2.7 -# Desc: change value of v.v_pub_int (decimal) -gdbtk_test cpp_variable-2.7 {change value of v.v_pub_int (decimal)} { - $var(v.public.v_pub_int) value 3 - cppvalue v.public.v_pub_int v.v_pub_int o -} {ok} - -# Test: cpp_variable-2.8 -# Desc: change value of v.v_pub_int (hexadecimal) -gdbtk_test cpp_variable-2.8 {change value of v.v_pub_int (hexadecimal)} { - $var(v.public.v_pub_int) value 0x21 - cppvalue v.public.v_pub_int v.v_pub_int o -} {ok} - -# Test: cpp_variable-2.9 -# Desc: number of children of v_pub_int -gdbtk_test cpp_variable-2.9 {number of children of v_pub_int} { - $var(v.public.v_pub_int) numChildren -} {0} - -# Test: cpp_variable-2.10 -# Desc: children of v.v_pub_int -gdbtk_test cpp_variable-2.10 {children of v.v_pub_int} { - get_children v.public.v_pub_int -} {} - -# Test: cpp_variable-2.11 -# Desc: v.v_pub_int editable -gdbtk_test cpp_variable-2.11 {v.v_pub_int editable} { - $var(v.public.v_pub_int) editable -} {1} - -# Test: cpp_variable-2.21 -# Desc: type of v.v_priv_charp -gdbtk_test cpp_variable-2.21 {type of v.v_priv_charp} { - $var(v.private.v_priv_charp) type -} {char *} - -# Test: cpp_variable-2.22 -# Desc: format of v.v_priv_charp -gdbtk_test cpp_variable-2.22 {format of v.v_priv_charp} { - $var(v.private.v_priv_charp) format -} {natural} - -# Test: cpp_variable-2.22a -# Desc: set variable v->v_priv_charp=2112 -gdbtk_test cpp_variable-2.22a {set variable v->v_priv_charp=2112} { - set err [catch {gdb_cmd "set variable v->v_priv_charp=2112"} txt] - if {$err} { - set txt - } else { - set err - } -} {0} - -# Test: cpp_variable-2.23 -# Desc: value of v.v_priv_charp changed -gdbtk_test cpp_variable-2.23 {value of v.v_priv_charp changed} { - check_update -} {{{v.public.v_pub_int v.private.v_priv_charp}} {v.private.v_priv_charp v.VB v.private.v_priv_int v.VC v.public.v_pub_charp v.public.v_pub_int v.private v.public v.VA}} - -# Test: cpp_variable-2.24 -# Desc: value of v.v_priv_charp -gdbtk_test cpp_variable-2.24 {value of v.v_priv_charp} { - $var(v.private.v_priv_charp) format hexadecimal - $var(v.private.v_priv_charp) value -} {0x840} - -# Test: cpp_variable-2.25 -# Desc: changed format of v.v_priv_charp -gdbtk_test cpp_variable-2.25 {changed format of v.v_priv_charp} { - $var(v.private.v_priv_charp) format octal - $var(v.private.v_priv_charp) format -} {octal} - -# Test: cpp_variable-2.26 -# Desc: value of v.v_priv_charp with new format -gdbtk_test cpp_variable-2.26 {value of v.v_priv_charp with new format} { - $var(v.private.v_priv_charp) value -} {04100} - -# Test: cpp_variable-2.27 -# Desc: change value of v.v_priv_charp (decimal) -gdbtk_test cpp_variable-2.27 {change value of v.v_priv_charp (decimal)} { - $var(v.private.v_priv_charp) value 3 - cppvalue v.private.v_priv_charp v.v_priv_charp o -} {ok} - -# Test: cpp_variable-2.28 -# Desc: change value of v.v_priv_charp (hexadecimal) -gdbtk_test cpp_variable-2.28 {change value of v.v_priv_charp (hexadecimal)} { - $var(v.private.v_priv_charp) value 0x21 - cppvalue v.private.v_priv_charp v.v_priv_charp o -} {ok} - -# Test: cpp_variable-2.29 -# Desc: number of children of v_priv_charp -gdbtk_test cpp_variable-2.29 {number of children of v_priv_charp} { - $var(v.private.v_priv_charp) numChildren -} {1} - -# Test: cpp_variable-2.30 -# Desc: children of v.v_priv_charp -gdbtk_test cpp_variable-2.30 {children of v.v_priv_charp} { - get_children v.private.v_priv_charp -} {*v_priv_charp} - -# Test: cpp_variable-2.31 -# Desc: v.v_priv_int editable -gdbtk_test cpp_variable-2.31 {v.v_priv_int editable} { - $var(v.private.v_priv_int) editable -} {1} - -# Test: cpp_variable-2.41 -# Desc: type of v.VA -gdbtk_test cpp_variable-2.41 {type of v.VA} { - $var(v.VA) type -} {VA} - -# Test: cpp_variable-2.42 -# Desc: format of v.VA -gdbtk_test cpp_variable-2.42 {format of v.VA} { - $var(v.VA) format -} {natural} - -# Test: cpp_variable-2.43 -# Desc: value of v.VA changed -gdbtk_test cpp_variable-2.43 {value of v.VA changed} { - check_update -} {v.private.v_priv_charp {v.private.v_priv_charp v.VB v.private.v_priv_int v.VC v.public.v_pub_charp v.private.v_priv_charp.*v_priv_charp v.public.v_pub_int v.private v.public v.VA}} - -# Test: cpp_variable-2.44 -# Desc: value of v.VA -gdbtk_test cpp_variable-2.44 {value of v.VA} { - $var(v.VA) value -} {{...}} - -# Test: cpp_variable-2.45 -# Desc: changed format of v.VA -gdbtk_test cpp_variable-2.45 {changed format of v.VA} { - $var(v.VA) format octal - $var(v.VA) format -} {octal} - -# Test: cpp_variable-2.46 -# Desc: value of v.VA with new format -gdbtk_test cpp_variable-2.46 {value of v.VA with new format} { - $var(v.VA) value -} {{...}} - -# Test: cpp_variable-2.47 -# Desc: number of children of VA -gdbtk_test cpp_variable-2.47 {number of children of VA} { - $var(v.VA) numChildren -} {3} - -# Test: cpp_variable-2.48a -# Desc: children of v.VA -gdbtk_test cpp_variable-2.48a {children of v.VA} { - get_children v.VA -} {public private protected} - -# Test: cpp_variable-2.48b -# Desc: public children of v.VA -gdbtk_test cpp_variable-2.48b {children of v.VA} { - get_children v.VA.public -} {va_pub_int va_pub_charp} - -# Test: cpp_variable-2.48c -# Desc: private children of v.VA -gdbtk_test cpp_variable-2.48c {children of v.VA} { - get_children v.VA.private -} {va_priv_int va_priv_charp} - -# Test: cpp_variable-2.48d -# Desc: protected children of v.VA -gdbtk_test cpp_variable-2.48d {children of v.VA} { - get_children v.VA.protected -} {bar} - -# Test: cpp_variable-2.49 -# Desc: v.VA editable -gdbtk_test cpp_variable-2.49 {v.VA editable} { - $var(v.VA) editable -} {0} - -# Test: cpp_variable-2.61 -# Desc: type of v.VB -gdbtk_test cpp_variable-2.61 {type of v.VB} { - $var(v.VB) type -} {VB} - -# Test: cpp_variable-2.62 -# Desc: format of v.VB -gdbtk_test cpp_variable-2.62 {format of v.VB} { - $var(v.VB) format -} {natural} - -# Test: cpp_variable-2.63 -# Desc: value of v.VB changed -gdbtk_test cpp_variable-2.63 {value of v.VB changed} { - check_update -} {{} {v.VA.protected v.private.v_priv_charp.*v_priv_charp v.VA.private v.VA.public.va_pub_int v.private.v_priv_int v.public.v_pub_int v.VA.public.va_pub_charp v.private.v_priv_charp v.VA.public v.public.v_pub_charp v.VA.private.va_priv_int v.VA v.public v.VB v.VC v.VA.protected.bar v.VA.private.va_priv_charp v.private}} - -# Test: cpp_variable-2.64 - # Desc: value of v.VB -gdbtk_test cpp_variable-2.64 {value of v.VB} { - $var(v.VB) value -} {{...}} - -# Test: cpp_variable-2.65 -# Desc: changed format of v.VB -gdbtk_test cpp_variable-2.65 {changed format of v.VB} { - $var(v.VB) format octal - $var(v.VB) format -} {octal} - -# Test: cpp_variable-2.66 -# Desc: value of v.VB with new format -gdbtk_test cpp_variable-2.66 {value of v.VB with new format} { - $var(v.VB) value -} {{...}} - -# Note: The next two tests show whether or not the logic -# concerning vptr tables is working. -# Test: cpp_variable-2.67 -# Desc: number of children of VB -gdbtk_test cpp_variable-2.67 {number of children of VB} { - $var(v.VB) numChildren -} {2} - -# Test: cpp_variable-2.68a -# Desc: children of v.VB -gdbtk_test cpp_variable-2.68a {children of v.VB} { - get_children v.VB -} {public private} - -# Test: cpp_variable-2.68b -# Desc: public children of v.VB -gdbtk_test cpp_variable-2.68b {children of v.VB} { - get_children v.VB.public -} {vb_pub_int} - -# Test: cpp_variable-2.68c -# Desc: private children of v.VB -gdbtk_test cpp_variable-2.68c {children of v.VB} { - get_children v.VB.private -} {vb_priv_int vb_priv_charp} - -# Test: cpp_variable-2.69 -# Desc: v.VB editable -gdbtk_test cpp_variable-2.69 {v.VB editable} { - $var(v.VB) editable -} {0} - -# Test: cpp_variable-2.70 -# Desc: v.VB.public editable -gdbtk_test cpp_variable-2.70 {v.VB.public editable} { - $var(v.VB.public) editable -} {0} - -# Test: cpp_variable-2.71 -# Desc: v.VB.vb_pub_int editable -gdbtk_test cpp_variable-2.71 {v.VB.vb_pub_int editable} { - $var(v.VB.public.vb_pub_int) editable -} {1} - -# Test: cpp_variable-2.71a -# Desc: set variable v->vb_pub_int=2112 -gdbtk_test cpp_variable-2.71a {set variable v->v_pub_int=2112} { - set err [catch {gdb_cmd "set variable v->vb_pub_int=2112"} txt] - if {$err} { - set txt - } else { - set err - } -} {0} - -# Test: cpp_variable-2.72 -# Desc: value of v.vb_pub_int changed -gdbtk_test cpp_variable-2.72 {value of v.vb_pub_int changed} { - check_update -} {v.VB.public.vb_pub_int {v.VB.public v.VA.protected v.private.v_priv_charp.*v_priv_charp v.VA.private v.VB.private.vb_priv_int v.VB.private v.VA.public.va_pub_int v.private.v_priv_int v.VB.public.vb_pub_int v.public.v_pub_int v.VB.private.vb_priv_charp v.VA.public.va_pub_charp v.private.v_priv_charp v.VA.public v.public.v_pub_charp v.VA.private.va_priv_int v.VA v.public v.VB v.VC v.VA.protected.bar v.VA.private.va_priv_charp v.private}} - -# Test: cpp_variable-2.73 -# Desc: value of v.VB.vb_pub_int -gdbtk_test cpp_variable-2.73 {changed value of v.vb_pub_int} { - $var(v.VB.public.vb_pub_int) value -} {2112} - -# Test: cpp_variable-2.74 -# Desc: change value of v.VB.vb_pub_int -gdbtk_test cpp_variable-2.74 {change value of v.VB.public.vb_pub_int} { - $var(v.VB.public.vb_pub_int) value 3 - cppvalue v.VB.public.vb_pub_int v.vb_pub_int d -} {ok} - -# Test: cpp_variable-2.75 -# Desc: value of v.VB.vb_pub_int -gdbtk_test cpp_variable-2.75 {changed value of v.VB.public.vb_pub_int} { - $var(v.VB.public.vb_pub_int) value -} {3} - - -# Exit -# -gdbtk_test_done - -#Local Variables: -#mode: tcl - diff --git a/gdb/testsuite/gdb.gdbtk/defs b/gdb/testsuite/gdb.gdbtk/defs deleted file mode 100644 index 8e3fe5b4531..00000000000 --- a/gdb/testsuite/gdb.gdbtk/defs +++ /dev/null @@ -1,306 +0,0 @@ -# This file contains support code for the gdbtk test suite. -# Copyright 2001 Red Hat, Inc. -# -# Based on the Tcl testsuite support code, portions of this file -# are Copyright (c) 1990-1994 The Regents of the University of California and -# Copyright (c) 1994-1996 Sun Microsystems, Inc. -# -global _test env srcdir objdir - -if {![info exists srcdir]} { - if {[info exists env(SRCDIR)]} { - set srcdir $env(SRCDIR) - } else { - set srcdir . - } -} - -if {![info exists objdir]} { - if {[info exists env(OBJDIR)]} { - set objdir $env(OBJDIR) - } elseif {$_test(interactive)} { - # If running interactively, assume that the objdir is - # relative to the executable's location - set objdir [file join [file dirname [info nameofexecutable]] testsuite gdb.gdbtk] - } else { - set objdir . - } -} - -if {![info exists _test(verbose)]} { - if {[info exists env(GDBTK_VERBOSE)]} { - set _test(verbose) $env(GDBTK_VERBOSE) - } else { - set _test(verbose) 0 - } -} -if {![info exists _test(tests)]} { - - if {[info exists env(GDBTK_TESTS)]} { - set _test(tests) $env(GDBTK_TESTS) - } else { - set _test(tests) {} - } -} - -if {[info exists env(GDBTK_LOGFILE)]} { - set _test(logfile) [open $env(GDBTK_LOGFILE) a+] - fconfigure $_test(logfile) -buffering none -} else { - set _test(logfile) {} -} - -# Informs gdbtk internals that testsuite is running. An example -# where this is needed is the window manager, which must place -# all windows at some place on the screen so that the system's -# window manager does not interfere. This is reset in gdbtk_test_done. -set env(GDBTK_TEST_RUNNING) 1 - -# The gdb "file" command to use for gdbtk testing -# NOTE: This proc appends ".exe" to all windows' programs -proc gdbtk_test_file {filename} { - global tcl_platform - - if {$tcl_platform(platform) == "windows"} { - append filename ".exe" - } - - set err [catch {gdb_cmd "file $filename" 1} text] - if {$err} { - error $text - } - - return $text -} - -proc gdbtk_test_run {{prog_args {}}} { - global env - - # Get the target_info array from the testsuite - array set target_info $env(TARGET_INFO) - - # We get the target ready by: - # 1. Run all init commands - # 2. Issue target command - # 3. Issue load command - # 4. Issue run command - foreach cmd $target_info(init) { - set err [catch {gdb_cmd $cmd 0} txt] - if {$err} { - _report_error "Target initialization command \"$cmd\" failed: $txt" - return 0 - } - } - - if {$target_info(target) != ""} { - set err [catch {gdb_cmd $target_info(target) 0} txt] - if {$err} { - _report_error "Failed to connect to target: $txt" - return 0 - } - } - - if {$target_info(load) != ""} { - set err [catch {gdb_cmd $target_info(load) 0} txt] - if {$err} { - _report_error "Failed to load: $txt" - return 0 - } - } - - if {$target_info(run) != ""} { - set err [catch {gdb_cmd $target_info(run) 0} txt] - if {$err} { - _report_error "Could not run target with \"$target_info(run)\": $txt" - return 0 - } - } - - return 1 -} - -proc _report_error {msg} { - global _test - - if {[info exists _test(interactive)] && $_test(interactive)} { - # Dialog - tk_messageBox -message $msg -icon error -type ok - } else { - # to stderr - puts stderr $msg - } -} - -proc gdbtk_print_verbose {status name description script code answer} { - global _test - - switch $code { - 0 { - set code_words {} - } - 1 { - set code_words "Test generated error: $answer" - } - - 2 { - set code_words "Test generated return exception; result was: $answer" - } - - 3 { - set code_words "Test generated break exception" - } - - 4 { - set code_words "Test generated continue exception" - } - - 5 { - set code_words "Test generated exception $code; message was:$answer" - } - } - - if {$_test(verbose) > 1 \ - || ($_test(verbose) != 1 && ($status == "ERROR" || $status == "FAIL"))} { - # Printed when user verbose mode (verbose > 1) or an error/failure occurs - # not running the testsuite (dejagnu) - puts stdout "\n" - puts stdout "==== $name $description" - puts stdout "==== Contents of test case:" - puts stdout "$script" - if {$code_words != ""} { - puts stdout $code_words - } - puts stdout "==== Result was:" - puts stdout "$answer" - } elseif {$_test(verbose)} { - # Printed for the testsuite (verbose = 1) - puts stdout "[list $status $name $description $code_words]" - - if {$_test(logfile) != ""} { - puts $_test(logfile) "\n" - puts $_test(logfile) "==== $name $description" - puts $_test(logfile) "==== Contents of test case:" - puts $_test(logfile) "$script" - if {$code_words != ""} { - puts $_test(logfile) $code_words - } - puts $_test(logfile) "==== Result was:" - puts $_test(logfile) "$answer" - } - } -} - -# gdbtk_test -# -# This procedure runs a test and prints an error message if the -# test fails. -# -# Arguments: -# name - Name of test, in the form foo-1.2. -# description - Short textual description of the test, to -# help humans understand what it does. -# script - Script to run to carry out the test. It must -# return a result that can be checked for -# correctness. -# answer - Expected result from script. - -proc gdbtk_test {name description script answer} { - global _test test_ran - - set test_ran 0 - if {[string compare $_test(tests) ""] != 0} then { - set ok 0 - foreach test $_test(tests) { - if [string match $test $name] then { - set ok 1 - break - } - } - if !$ok then return - } - - set code [catch {uplevel $script} result] - set test_ran 1 - if {$code != 0} { - # Error - gdbtk_print_verbose ERROR $name $description $script \ - $code $result - } elseif {[string compare $result $answer] == 0} { - if {[string index $name 0] == "*"} { - # XPASS - set HOW XPASS - } else { - set HOW PASS - } - - if {$_test(verbose)} { - gdbtk_print_verbose $HOW $name $description $script \ - $code $result - if {$_test(verbose) != 1} { - puts stdout "++++ $name ${HOW}ED" - } - } - if {$_test(logfile) != ""} { - puts $_test(logfile) "++++ $name ${HOW}ED" - } - } else { - if {[string index $name 0] == "*"} { - # XFAIL - set HOW XFAIL - } else { - set HOW FAIL - } - - gdbtk_print_verbose $HOW $name $description $script \ - $code $result - if {$_test(verbose) != 1} { - puts stdout "---- Result should have been:" - puts stdout "$answer" - puts stdout "---- $name ${HOW}ED" - } - if {$_test(logfile) != ""} { - puts $_test(logfile) "---- Result should have been:" - puts $_test(logfile) "$answer" - puts $_test(logfile) "---- $name ${HOW}ED" - } - } -} - -proc gdbtk_dotests {file args} { - global _test - set savedTests $_test(tests) - set _test(tests) $args - source $file - set _test(tests) $savedTests -} - -proc gdbtk_test_done {} { - global _test env - - if {$_test(logfile) != ""} { - close $_test(logfile) - } - - set env(GDBTK_TEST_RUNNING) 0 - if {![info exists _test(interactive)] || !$_test(interactive)} { - gdbtk_force_quit - } -} - -proc gdbtk_test_error {desc} { - set desc [join [split $desc \n] |] - puts "ERROR \{$desc\} \{\} \{\}" - gdbtk_test_done -} - -# Override the warning dialog. We don't want to see them. -rename show_warning real_show_warning -proc show_warning {msg} { - global _test - - set str "INSIGHT TESTSUITE WARNING: $msg" - puts stdout $str - if {$_test(logfile) != ""} { - puts $_test(logfile) $str - } -} diff --git a/gdb/testsuite/gdb.gdbtk/list0.c b/gdb/testsuite/gdb.gdbtk/list0.c deleted file mode 100644 index b50fdd4323d..00000000000 --- a/gdb/testsuite/gdb.gdbtk/list0.c +++ /dev/null @@ -1,43 +0,0 @@ -#include "list0.h" - -int main () -{ - int x; -#ifdef usestubs - set_debug_traps(); - breakpoint(); -#endif - x = 0; - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - foo (x++); - return 0; -} - -static void -unused () -{ - /* Not used for anything */ -} diff --git a/gdb/testsuite/gdb.gdbtk/list0.h b/gdb/testsuite/gdb.gdbtk/list0.h deleted file mode 100644 index d46833060e5..00000000000 --- a/gdb/testsuite/gdb.gdbtk/list0.h +++ /dev/null @@ -1,37 +0,0 @@ -/* An include file that actually causes code to be generated in the including file. This is known to cause problems on some systems. */ -#ifdef PROTOTYPES -extern void bar(int); -static void foo (int x) -#else -static void foo (x) int x; -#endif -{ - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); - bar (x++); -} diff --git a/gdb/testsuite/gdb.gdbtk/list1.c b/gdb/testsuite/gdb.gdbtk/list1.c deleted file mode 100644 index 6094104b9cd..00000000000 --- a/gdb/testsuite/gdb.gdbtk/list1.c +++ /dev/null @@ -1,39 +0,0 @@ -#include <stdio.h> - -#ifdef PROTOTYPES -void long_line (); int oof (int); -void bar (int x) -#else -void bar (x) int x; -#endif -{ - printf ("%d\n", x); - - long_line (); -} - -static void -unused () -{ - /* Not used for anything */ -} -/* This routine has a very long line that will break searching in older versions of GDB. */ -#ifdef PROTOTYPES -void -#endif -long_line () -{ - oof (67); - - oof (6789); - - oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 5 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 10 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 15 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 20 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 25 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 30 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 35 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 40 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 45 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 50 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 55 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 60 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 65 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (1234); /* 70 */ -} -#ifdef PROTOTYPES -int oof (int n) -#else -oof (n) int n; -#endif -{ - return n + 1; -} diff --git a/gdb/testsuite/gdb.gdbtk/simple.c b/gdb/testsuite/gdb.gdbtk/simple.c deleted file mode 100644 index 969f6880636..00000000000 --- a/gdb/testsuite/gdb.gdbtk/simple.c +++ /dev/null @@ -1,20 +0,0 @@ -int -main(int argc, char * argv[]) -{ - int i; - char *a; - char *b = "abc"; - long foo; - - a = (char *) malloc (300); - - for (i=0; i < 50; i++) - { - int j = i % 3; - int k = 3 - j; - strncpy (&a[i], &b[k], j); - foo = (long) j * k / i + 2 * k * k * k; - } - return 0; -} - diff --git a/gdb/testsuite/gdb.gdbtk/srcwin.exp b/gdb/testsuite/gdb.gdbtk/srcwin.exp deleted file mode 100644 index 9d548059718..00000000000 --- a/gdb/testsuite/gdb.gdbtk/srcwin.exp +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999, 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License (GPL) as published by -# the Free Software Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -load_lib insight-support.exp - -if {[gdbtk_initialize_display]} { - if {$tracelevel} { - strace $tracelevel - } - - # - # test source window - # - set prms_id 0 - set bug_id 0 - - set testfile "list" - set s1 "$srcdir/$subdir/list0.c" - set sources "$s1 $srcdir/$subdir/list1.c" - set binfile $objdir/$subdir/$testfile - if {[file exists $s1.save]} { - catch {file delete $s1} - file rename $s1.save $s1 - } - set r [gdb_compile $sources "$binfile" executable debug] - if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." - } - - # Start with a fresh gdbtk - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir srcwin.test]] - set results [split $results \n] - set all_results $results - - # move file with "main" out of the way - file rename $s1 $s1.save - - # run slightly different set of tests - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir srcwin2.test]] - set results [split $results \n] - set all_results [concat $all_results $results] - - # restore file - file rename $s1.save $s1 - - set r [gdb_compile $sources "$binfile" executable ""] - if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." - } - # run slightly different set of tests - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir srcwin3.test]] - set results [split $results \n] - set all_results [concat $all_results $results] - - # Analyze results - gdbtk_done $all_results -} diff --git a/gdb/testsuite/gdb.gdbtk/srcwin.test b/gdb/testsuite/gdb.gdbtk/srcwin.test deleted file mode 100644 index eaa9ba8530e..00000000000 --- a/gdb/testsuite/gdb.gdbtk/srcwin.test +++ /dev/null @@ -1,1192 +0,0 @@ -# Copyright (C) 1999, 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Martin Hunt (hunt@cygnus.com) - -# Read in the standard defs file - -if {![gdbtk_read_defs]} { - break -} - -global objdir srcdir - - -# move the pointer to the center of the bbox relative to $win -proc move_mouse_to {win bbox} { - if {[llength $bbox] != 4} { - return 0 - } - set x [expr [lindex $bbox 0] + [lindex $bbox 2] / 2] - set y [expr [lindex $bbox 1] + [lindex $bbox 3] / 2] - warp_pointer . [winfo rootx $win] [winfo rooty $win] - - set nx 0 - set ny 0 - - while {$nx != $x || $ny != $y} { - if {$nx < $x} {incr nx} - if {$ny < $y} {incr ny} - warp_pointer $win $nx $ny - } - return 1 -} - -proc click {win bbox bnum} { - if {![move_mouse_to $win $bbox]} { - return 0 - } - update - - set x [expr [lindex $bbox 0] + [lindex $bbox 2] / 2] - set y [expr [lindex $bbox 1] + [lindex $bbox 3] / 2] - - if {[catch {event generate $win <Button-$bnum> -x $x -y $y} result]} { - return 0 - } - if {[catch {event generate $win <ButtonRelease-$bnum> -x $x -y $y} result]} { - return 0 - } - return 1 -} - - -##### ##### -# # -# SECTION 1: Mode Tests # -# # -##### ##### - -# Load the test executable -set program [file join $objdir list] -if {[catch {gdbtk_test_file $program} t]} { - # This isn't a test case, since if this fails, we're hosed. - gdbtk_test_error "loading \"$program\": $t" -} - -set srcwin [ManagedWin::open SrcWin] -set stw [$srcwin test_get twin] -set twin [$stw test_get twin] - -# get things started -gdb_cmd "break main" -gdbtk_test_run - -# Test: srcwin-1.1 -# Desc: Check for something in source window -gdbtk_test srcwin-1.1 "source window has contents" { - set file1(source) [$twin get 1.0 end] - expr {![string compare $file1(source) ""]} -} {0} - - -# Test: srcwin-1.2 -# Desc: source->assembly mode change -gdbtk_test srcwin-1.2 "source->assembly mode change" { - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - set file1(assembly) [$twin get 1.0 end] - expr {![string compare $file1(source) $file1(assembly)]} -} {0} - -# Test: srcwin-1.3 -# Desc: assembly->mixed mode change -gdbtk_test srcwin-1.3 "assembly->mixed mode change" { - $srcwin mode "" MIXED - set twin [$stw test_get twin] - set file1(mixed) [$twin get 1.0 end] - expr {![string compare $file1(mixed) $file1(assembly)]} -} {0} - -# Test: srcwin-1.4 -# Desc: mixed->src+asm mode change -gdbtk_test srcwin-1.4 "mixed->src+asm mode change" { - $srcwin mode "" SRC+ASM - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - set s [$twin get 1.0 end] - set a [$bwin get 1.0 end] - list [string compare $a $file1(assembly)] [string compare $s $file1(source)] [winfo ismapped $bwin] -} {0 0 1} - -# Test: srcwin-1.5 -# Desc: src+asm->source mode change -gdbtk_test srcwin-1.5 "src+asm->source mode change" { - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - set bwin [$stw test_get bwin] - list [string compare $file1(source) $a] [winfo ismapped $bwin] -} {0 0} - -# Test: srcwin-1.6 -# Desc: source->mixed mode change -gdbtk_test srcwin-1.6 "source->mixed mode change" { - $srcwin mode "" MIXED - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(mixed) $a -} {0} - -# Test: srcwin-1.7 -# Desc: mixed->source mode change -gdbtk_test srcwin-1.7 "mixed->source mode change" { - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(source) $a -} {0} - -# Test: srcwin-1.8 -# Desc: source->src+asm mode change -gdbtk_test srcwin-1.8 "source->src+asm mode change" { - $srcwin mode "" SRC+ASM - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - set s [$twin get 1.0 end] - set a [$bwin get 1.0 end] - list [string compare $a $file1(assembly)] [string compare $s $file1(source)] [winfo ismapped $bwin] -} {0 0 1} - -# Test: srcwin-1.9 -# Desc: src+asm->assembly mode change -gdbtk_test srcwin-1.9 "src+asm->assembly mode change" { - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(assembly) $a -} {0} - -# Test: srcwin-1.10 -# Desc: assembly->src+asm mode change -gdbtk_test srcwin-1.10 "assembly->src+asm mode change" { - $srcwin mode "" SRC+ASM - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - set s [$twin get 1.0 end] - set a [$bwin get 1.0 end] - list [string compare $a $file1(assembly)] [string compare $s $file1(source)] [winfo ismapped $bwin] -} {0 0 1} - -# Test: srcwin-1.11 -# Desc: src+asm->mixed mode change -gdbtk_test srcwin-1.11 "src+asm->mixed mode change" { - $srcwin mode "" MIXED - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - set bwin [$stw test_get bwin] - expr {[string compare $file1(mixed) $a] || - [winfo ismapped $bwin]} -} {0} - -# Test: srcwin-1.12 -# Desc: mixed->assembly mode change -gdbtk_test srcwin-1.12 "mixed->assembly mode change" { - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(assembly) $a -} {0} - -# Test: srcwin-1.13 -# Desc: assembly->source mode change -gdbtk_test srcwin-1.13 "assembly->source mode change" { - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - string compare $file1(source) $a -} {0} - - -##### ##### -# # -# SECTION 2: Basic Operations # -# # -##### ##### - -# Test: srcwin-2.1 -# Desc: check contents of filename combobox -gdbtk_test srcwin-2.1 "check contents of filename combobox" { - set statbar [$srcwin test_get _statbar] - set names [$statbar.name list get 0 end] - set r 0 - foreach f {list0.c list1.c} { - if {[lsearch $names $f] != -1} { - incr r - } - } - set r -} {2} - -# Test: srcwin-2.2 -# Desc: check contents of function combobox -gdbtk_test srcwin-2.2 "check contents of function combobox" { - set names [$statbar.func list get 0 end] - set r 0 - foreach f {main foo unused} { - if {[lsearch $names $f] != -1} { - incr r - } - } - set r -} {3} - -# Test: srcwin-2.3 -# Desc: goto filename -gdbtk_test srcwin-2.3 "goto filename" { - set func [$srcwin test_get _name 1] - $func "" list1.c - set twin [$stw test_get twin] - set file2(source) [$twin get 1.0 end] - expr {![string compare $file1(source) $file2(source)]} -} {0} - -# Test: srcwin-2.4 -# Desc: check contents of function combobox -gdbtk_test srcwin-2.4 "check contents of function combobox" { - set names [$statbar.func list get 0 end] - set r 0 - foreach f {bar long_line oof unused} { - if {[lsearch $names $f] != -1} { - incr r - } - } - set r -} {4} - -# Test: srcwin-2.5 -# Desc: function combobox entry field should be empty after switching to a new file -gdbtk_test srcwin-2.5 "function combobox entry field should be empty" { - set names [$statbar.func get] - string length $names -} {0} - -# Test: srcwin-2.6 -# Desc: goto function -gdbtk_test srcwin-2.6 "goto function bar" { - $srcwin goto_func "" bar - set r 0 - - # now get a dump of all tags and check that only one line is - # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. - - # We know that list1.c should have BROWSE_TAG set at index 5.2 - # for function "bar". If list1.c is changed or the layout of the source - # window is changed, this must be updated. - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "10.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} { incr r 10} - if {$v == "PC_TAG"} { incr r 100} - } - } - } else { - set r -1 - } - - if {$r == 1} { - # things are OK so far, so just verify the function name is displayed - # in the combobox entry field. - set names [$statbar.func get] - if {[string compare $names "bar"]} {set r -2} - } - set r -} {1} - -# Test: srcwin-2.7 -# Desc: goto function "oof". This tests that the correct line is highlighted -# with BROWSE_TAG and no other lines are highlighted. It also checks that -# the combobox has the correct function name in it. Finally, list1.c -# has an extremely long line, line 32, that breaks some functions. We verify -# that the GDBtk has the correct line number. - -gdbtk_test srcwin-2.7 "goto function oof" { - $srcwin goto_func "" oof - set r 0 - - # now get a dump of all tags and check that only one line is - # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. - - # We know that list1.c should have BROWSE_TAG set at index 32.2 - # for function "oof". If list1.c is changed or the layout of the source - # window is changed, this must be updated. - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "38.2"} { - set line_number [$twin get "$i wordstart" "$i wordend"] - if {$line_number == "38"} { - incr r - } else { - incr r -100 - } - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } - } - } else { - set r -1 - } - - if {$r == 1} { - # things are OK so far, so just verify the function name is displayed - # in the combobox entry field. - set names [$statbar.func get] - if {[string compare $names "oof"]} {set r -2} - } - set r -} {1} - -# Test: srcwin-2.8 -# Desc: This test issues a next command while browsing list1.c. -# It should display list0.c and highlight the correct line. -gdbtk_test srcwin-2.8 "step while browsing" { - gdb_immediate "next" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.c"} {set r -1} - if {$func != "main"} {set r -2} - - # check that correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file1(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "11.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-2.9 -# Desc: This test issues a next command while the current -# PC is ready to call a function. It should not go into the function and -# should update the PC highlight correctly. -gdbtk_test srcwin-2.9 "next" { - gdb_immediate "next" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.c"} {set r -1} - if {$func != "main"} {set r -2} - - # check that correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file1(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "12.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-2.10 -# Desc: This test issues a step command while the current -# PC is ready to call a function. It should step into the function. -gdbtk_test srcwin-2.10 "step" { - gdb_immediate "step" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check that a new file is displayed - set twin [$stw test_get twin] - set file3(source) [$twin get 1.0 end] - if {![string compare $file1(source) $file3(source)]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-2.11 -# Desc: This test issues a break and a continue -gdbtk_test srcwin-2.11 "set BP and continue" { - gdb_immediate "break oof" 1 - gdb_immediate "continue" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - # we must clear the breakpoint first so it doesn't mess up the - # comparison... - gdb_immediate "clear oof" 1 - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -##### ##### -# # -# SECTION 3: Stack Operations # -# # -##### ##### - -# Test: srcwin-3.1 -# Desc: This tests "stack up" -gdbtk_test srcwin-3.1 "stack up (1)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "long_line"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - # return n + 1; - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} { - # oof (67); - if {$i == "26.2"} { - incr r - } else { - incr r 10 - } - } - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {2} - -# Test: srcwin-3.2 -# Desc: Another "stack up" test -gdbtk_test srcwin-3.2 "stack up (2)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "bar"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - # return n + 1; - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} { - # long_line (); - if {$i == "12.2"} { - incr r - } else { - incr r 10 - } - } - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {2} - -# Test: srcwin-3.3 -# Desc: Another "stack up" test -gdbtk_test srcwin-3.3 "stack up (3)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {![string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-3.4 -# Desc: Another "stack up" test -gdbtk_test srcwin-3.4 "stack up (4)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.c"} {set r -1} - if {$func != "main"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file1(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - if {$i == "12.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Disabled for now because there are different correct results. -# Test should be rewritten to include those. -# Test: srcwin-3.5 -# Desc: "stack up" when we are at the top -#gdbtk_test srcwin-3.5 "stack up when at the top" { -# $srcwin stack up -# set r 0 -# set name [$statbar.name get] -# set func [$statbar.func get] -# - # check contents of name and function comboboxes -# if {$name != "list0.c"} {set r -1} -# if {$func != "main"} {set r -2} - - # check that the correct file is displayed -# set twin [$stw test_get twin] -# set a [$twin get 1.0 end] -# if {[string compare $file1(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines -# if {$r == 0} { -# if {![catch {set z [$twin dump -tag 1.0 end]}]} { -# foreach {k v i} $z { -# if {$k == "tagon"} { -# if {$v == "STACK_TAG"} { -# if {$i == "12.2"} { -# incr r -# } else { -# incr r 5 -# } -# } -# if {$v == "PC_TAG"} {incr r 10} -# if {$v == "BROWSE_TAG"} {incr r 100} -# } -# } -# } else { -# set r -4 -# } -# } -# set r -#} {1} - -# Test: srcwin-3.6 -# Desc: "stack down" test -gdbtk_test srcwin-3.6 "stack down" { - $srcwin stack down - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {![string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-3.7 -# Desc: "stack bottom" test -gdbtk_test srcwin-3.7 "stack bottom" { - $srcwin stack bottom - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin-3.8 -# Desc: "stack down" when at bottom -gdbtk_test srcwin-3.8 "stack down when at bottom" { - $srcwin stack down - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# 4 - BREAKPOINTS - -# Test: srcwin-4.1 -# Desc: Set BP in another file. Tests bp and cache functions -gdbtk_test srcwin-4.1 "set BP in another file" { - gdb_immediate "break foo" 1 - $srcwin goto_func "" foo - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image on correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } elseif {$k == "image"} { - if {$i == "9.0"} { - incr r - } else { - set r -200 - } - } - } - } else { - set r -4 - } - } - - if {$r == 2} { - # clear BP and compare with previous contents. This should succeed, - gdb_immediate "clear foo" 1 - set a [$twin get 1.0 end] - if {[string compare $file3(source) $a]} {set r -3} - } - - set r -} {2} - -# Test: srcwin-4.2 -# Desc: Test temporary BP -gdbtk_test srcwin-4.2 "temporary BP" { - set r 0 - if {[catch {gdb_immediate "tbreak foo" 1} msg]} { - set r -500 - } - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image on correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } elseif {$k == "image"} { - if {$i == "9.0"} { - incr r - } else { - set r -200 - } - } - } - } else { - set r -4 - } - } - - gdb_immediate "continue" 1 - - # now check for PC_TAG and no image - if {$r == 2} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } elseif {$k == "image"} { - set r -200 - } - } - } else { - set r -4 - } - } - - set r -} {3} - -# Test: srcwin-4.3 -# Desc: Test BP balloons -gdbtk_test srcwin-4.3 "BP Balloons" { - # move pointer out of the way - warp_pointer . 0 0 - set r 0 - gdb_immediate "break 10" 1 - gdb_immediate "tbreak 10" 1 - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image on correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } elseif {$k == "image"} { - if {$i == "10.0"} { - incr r - # we found the bp image, now we will test the bp balloon messages - set balloon [winfo toplevel [namespace tail $srcwin]].__balloon - # shouldn't be mapped yet - if {[winfo ismapped $balloon]} { - set r -3000 - break - } - move_mouse_to $twin [$twin bbox $i] - #wait a second for the balloon message to appear - sleep 1 - if {![winfo ismapped $balloon]} { - set r -4000 - break - } - # read the contents of the balloon and parse it into lines - set a [split [$balloon.label cget -text] \n] - set i 0 - # foreach line parse it and check the type and make sure it is enabled - foreach line $a { - if {[lindex $line 0] == "breakpoint"} {continue} - incr i - set enabled [lindex $line 0] - set bptype [lindex $line 2] - switch $i { - 1 { - if {$bptype != "donttouch"} {set r -1000} - } - 2 { - if {$bptype != "delete"} {set r -2000} - } - } - } - } else { - set r -200 - } - } - } - } else { - set r -4 - } - } - set r -} {2} - -#ManagedWin::open DebugWin - -# Test: srcwin-4.4 -# Desc: Click on line to set BP -gdbtk_test srcwin-4.4 "Click on line to set BP" { - set r 0 - - # click mouse button 1 at index 20.1 - if {![click $twin [$twin bbox 20.1] 1]} { - set r "Click failed on line 20.1" - } else { - - # now look for BP at line 20 - foreach bpnum [gdb_get_breakpoint_list] { - set bpinfo [gdb_get_breakpoint_info $bpnum] - lassign $bpinfo file func line pc type enabled disposition \ - ignore_count commands cond thread hit_count - set file [lindex [file split $file] end] - if {$file == "list0.h"} { - if {$line == "20"} { - if {$enabled == "1"} {incr r} - if {$func == "foo"} {incr r} - if {$type == "breakpoint"} {incr r} - if {$disposition == "donttouch"} {incr r} - } - } - } - } - set r -} {4} - - -# Test: srcwin-4.5 -# Desc: Continue till here popup -gdbtk_test srcwin-4.5 "Continue till here popup" { - set twin [$stw test_get twin] - - # Get coordinates of line 16 - set b [$twin bbox 16.1] - set y [expr {[lindex $b 1] + ([lindex $b 3] / 2)}] - - # Continue to here - $stw continue_to_here $twin $y - - # Where is the PC_TAG? - set pcs {} - set tags [$twin tag ranges PC_TAG] - foreach {start end} $tags { - lappend pcs [expr {int($start)}] - } - - # Where are breakpoints? - set bps {} - set imgs [$twin dump -image 1.0 end] - foreach {foo bar line} $imgs { - lappend bps $line - } - - list $pcs $bps -} {16 {10.0 20.0}} - -# 5.1 balloon variables -# Test: srcwin-5.1 -# Desc: variable balloon test -# continues to BP at line 20 and checks to see that value was updated -gdbtk_test srcwin-5.1 "variable balloon test" { - # move pointer out of the way - warp_pointer . 0 0 - set r 0 - set twin [$stw test_get twin] - - # move pointer to variable "x" and check balloon - set index [string first "x++" [$twin get 20.0 20.end]] - move_mouse_to $twin [$twin bbox 20.$index] - sleep 1 - if {[winfo ismapped $balloon]} { - if {![string compare "x=9" [$balloon.label cget -text]]} {incr r} - gdb_immediate "continue" 1 - sleep 1 - if {![string compare "x=13" [$balloon.label cget -text]]} {incr r} - } else { - set r -1 - } - - set r -} {2} - -# 6.1 mixed mode disassembly of include file -# Test: srcwin-6.1 -# Desc: Some versions of GDBtk can't do mixed-mode disassembly of a function -# that is in an include file. PR# mi/1101 - -gdbtk_test srcwin-6.1 "mixed mode disassembly of include file (mi/1101)" { - set r 0 - $srcwin mode "" MIXED - - # check contents of name and function comboboxes - set name [$statbar.name get] - set func [$statbar.func get] - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check contents of source window - set twin [$stw test_get twin] - set text [$twin get 1.0 end] - # Is it correct? I don't know. Guess we look for some pieces of source... - if {[string first "static void" $text] != -1 && - [string first "foo (x)" $text] != -1 && - [string first "bar (x++);" $text] != -1} { - set r 1 - } - - set r -} {1} - -gdbtk_test_done diff --git a/gdb/testsuite/gdb.gdbtk/srcwin2.test b/gdb/testsuite/gdb.gdbtk/srcwin2.test deleted file mode 100644 index ee693e269cb..00000000000 --- a/gdb/testsuite/gdb.gdbtk/srcwin2.test +++ /dev/null @@ -1,899 +0,0 @@ -# Copyright (C) 1999, 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Martin Hunt (hunt@cygnus.com) - - -# same as srcwin.test, except test debugging executables -# when source files are missing. - -# Read in the standard defs file - -if {![gdbtk_read_defs]} { - break -} - -global objdir srcdir - -##### ##### -# # -# SECTION 1: Mode Tests # -# # -##### ##### - -# Load the test executable -set program [file join $objdir list] -if {[catch {gdbtk_test_file $program} t]} { - # This isn't a test case, since if this fails, we're hosed. - gdbtk_test_error "loading \"$program\": $t" -} - -set srcwin [ManagedWin::open SrcWin] -set stw [$srcwin test_get twin] -set twin [$stw test_get twin] -set statbar [$srcwin test_get _statbar] - -# get things started -gdb_cmd "break main" -gdbtk_test_run - -# Test: srcwin2-1.1 -# Desc: Check for something in source window -gdbtk_test srcwin2-1.1 "source window has contents" { - set r 0 - set file1(source) [$twin get 1.0 end] - if {$file1(source) == ""} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin2-1.2 -# Desc: source->assembly mode change -gdbtk_test srcwin2-1.2 "source->assembly mode change" { - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - set file1(assembly) [$twin get 1.0 end] - # source == assembly because for there is no source - string compare $file1(source) $file1(assembly) -} {0} - -# Test: srcwin2-1.3 -# Desc: assembly->mixed mode change -gdbtk_test srcwin2-1.3 "assembly->mixed mode change" { - set r 0 - $srcwin mode "" MIXED - set twin [$stw test_get twin] - set file1(mixed) [$twin get 1.0 end] - # mixed != assembly because the lines with source should - # be noted, even if source in unavailable. This behaviour is - # different for different debug formats, so we accept either. - if {$file1(mixed) == ""} {set r -1} - if {[$statbar.mode get] != "MIXED"} {set r -2} - set r -} {0} - -# Test: srcwin2-1.4 -# Desc: mixed->src+asm mode change -gdbtk_test srcwin2-1.4 "mixed->src+asm mode change" { - set r 0 - # mode change may fail if fallover to ASSEMBLY fails - if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 } - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin2-1.5 -# Desc: src+asm->source mode change -gdbtk_test srcwin2-1.5 "src+asm->source mode change" { - set r 0 - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - if {[$stw test_get bwin] != ""} {set r -2} - if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -3} - set r -} {0} - -# Test: srcwin2-1.6 -# Desc: source->mixed mode change -gdbtk_test srcwin2-1.6 "source->mixed mode change" { - set r 0 - $srcwin mode "" MIXED - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $file1(mixed)} {set r -1} - if {[$statbar.mode get] != "MIXED"} {set r -2} - set r -} {0} - -# Test: srcwin2-1.7 -# Desc: mixed->source mode change -gdbtk_test srcwin2-1.7 "mixed->source mode change" { - set r 0 - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $file1(source)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin2-1.8 -# Desc: source->src+asm mode change -gdbtk_test srcwin2-1.8 "source->src+asm mode change" { - set r 0 - # mode change may fail if fallover to ASSEMBLY fails - if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 } - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} - if {$bwin != ""} {set r -2} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -3} - set r -} {0} - -# Test: srcwin2-1.9 -# Desc: src+asm->assembly mode change -gdbtk_test srcwin2-1.9 "src+asm->assembly mode change" { - set r 0 - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin2-1.10 -# Desc: assembly->src+asm mode change -gdbtk_test srcwin2-1.10 "assembly->src+asm mode change" { - set r 0 - # mode change may fail if fallover to ASSEMBLY fails - if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 } - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} - if {$bwin != ""} {set r -2} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -3} - set r -} {0} - -# Test: srcwin2-1.11 -# Desc: src+asm->mixed mode change -gdbtk_test srcwin2-1.11 "src+asm->mixed mode change" { - set r 0 - $srcwin mode "" MIXED - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $file1(mixed)} {set r -1} - if {[$statbar.mode get] != "MIXED"} {set r -2} - set r -} {0} - -# Test: srcwin2-1.12 -# Desc: mixed->assembly mode change -gdbtk_test srcwin2-1.12 "mixed->assembly mode change" { - set r 0 - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin2-1.13 -# Desc: assembly->source mode change -gdbtk_test srcwin2-1.13 "assembly->source mode change" { - set r 0 - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $file1(source)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - - -##### ##### -# # -# SECTION 2: Basic Operations # -# # -##### ##### - -# Test: srcwin2-2.1 -# Desc: check contents of filename combobox -gdbtk_test srcwin2-2.1 "check contents of filename combobox" { - set names [$statbar.name list get 0 end] - set r 0 - foreach f {list0.c list1.c} { - if {[lsearch $names $f] != -1} { - incr r - } - } - set r -} {2} - -# Test: srcwin2-2.2 -# Desc: check contents of function combobox -gdbtk_test srcwin2-2.2 "check contents of function combobox" { - set names [$statbar.func list get 0 end] - set r 0 - foreach f {main foo unused} { - if {[lsearch $names $f] != -1} { - incr r - } - } - set r -} {3} - -# Test: srcwin2-2.3 -# Desc: goto filename -gdbtk_test srcwin2-2.3 "goto filename" { - set func [$srcwin test_get _name 1] - $func "" list1.c - set twin [$stw test_get twin] - set file2(source) [$twin get 1.0 end] - expr {![string compare $file1(source) $file2(source)]} -} {0} - -# Test: srcwin2-2.4 -# Desc: check contents of function combobox -gdbtk_test srcwin2-2.4 "check contents of function combobox" { - set names [$statbar.func list get 0 end] - set r 0 - foreach f {bar long_line oof unused} { - if {[lsearch $names $f] != -1} { - incr r - } - } - set r -} {4} - -# Test: srcwin2-2.5 -# Desc: function combobox entry field should be empty after switching to a new file -gdbtk_test srcwin2-2.5 "function combobox entry field should be empty" { - set names [$statbar.func get] - string length $names -} {0} - -# Test: srcwin2-2.6 -# Desc: goto function -gdbtk_test srcwin2-2.6 "goto function bar" { - $srcwin goto_func "" bar - set r 0 - - # now get a dump of all tags and check that only one line is - # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. - - # We know that list1.c should have BROWSE_TAG set at index 10.2 - # for function "bar". If list1.c is changed or the layout of the source - # window is changed, this must be updated. - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "10.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} { incr r 10} - if {$v == "PC_TAG"} { incr r 100} - } - } - } else { - set r -1 - } - - if {$r == 1} { - # things are OK so far, so just verify the function name is displayed - # in the combobox entry field. - set names [$statbar.func get] - if {[string compare $names "bar"]} {set r -2} - } - set r -} {1} - -# Test: srcwin2-2.7 -# Desc: goto function "oof". This tests that the correct line is highlighted -# with BROWSE_TAG and no other lines are highlighted. It also checks that -# the combobox has the correct function name in it. Finally, list1.c -# has an extremely long line, line 32, that breaks some functions. We verify -# that the GDBtk has the correct line number. - -gdbtk_test srcwin2-2.7 "goto function oof" { - $srcwin goto_func "" oof - set r 0 - - # now get a dump of all tags and check that only one line is - # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. - - # We know that list1.c should have BROWSE_TAG set at index 38.2 - # for function "oof". If list1.c is changed or the layout of the source - # window is changed, this must be updated. - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "38.2"} { - set line_number [$twin get "$i wordstart" "$i wordend"] - if {$line_number == "38"} { - incr r - } else { - incr r -100 - } - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } - } - } else { - set r -1 - } - - if {$r == 1} { - # things are OK so far, so just verify the function name is displayed - # in the combobox entry field. - set names [$statbar.func get] - if {[string compare $names "oof"]} {set r -2} - } - set r -} {1} - -# Test: srcwin2-2.8 -# Desc: This test issues a next command while browsing list1.c. -# It should display list0.c and highlight the correct line. -gdbtk_test srcwin2-2.8 "step while browsing" { - gdb_immediate "next" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.c"} {set r -1} - if {$func != "main"} {set r -2} - - # check that correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file1(source) $a]} {set r -3} - - # check for PC_TAG - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - incr r - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin2-2.11 -# Desc: This test issues a break and a continue -gdbtk_test srcwin2-2.11 "set BP and continue" { - gdb_immediate "break oof" 1 - gdb_immediate "continue" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - # we must clear the breakpoint first so it doesn't mess up the - # comparison... - gdb_immediate "clear oof" 1 - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -##### ##### -# # -# SECTION 3: Stack Operations # -# # -##### ##### - -# Test: srcwin2-3.1 -# Desc: This tests "stack up" -gdbtk_test srcwin2-3.1 "stack up (1)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "long_line"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} { - if {$i == "26.2"} { - incr r - } else { - incr r 10 - } - } - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {2} - -# Test: srcwin2-3.2 -# Desc: Another "stack up" test -gdbtk_test srcwin2-3.2 "stack up (2)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "bar"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} { - if {$i == "12.2"} { - incr r - } else { - incr r 10 - } - } - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {2} - -# Test: srcwin2-3.3 -# Desc: Another "stack up" test -gdbtk_test srcwin2-3.3 "stack up (3)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set file3(source) [$twin get 1.0 end] - if {![string compare $file2(source) $file3(source)]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin2-3.4 -# Desc: Another "stack up" test -gdbtk_test srcwin2-3.4 "stack up (4)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.c"} {set r -1} - if {$func != "main"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file1(source) $a]} {set r -3} - - # check for STACK_TAG - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - incr r - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - - -# Disabled for now because there are different correct results. -# Test should be rewritten to include those. -# Test: srcwin2-3.5 -# Desc: "stack up" when we are at the top -#gdbtk_test srcwin2-3.5 "stack up when at the top" { -# $srcwin stack up -# set r 0 -# set name [$statbar.name get] -# set func [$statbar.func get] - - # check contents of name and function comboboxes -# if {$name != "list0.c"} {set r -1} -# if {$func != "main"} {set r -2} - - # check that the correct file is displayed -# set twin [$stw test_get twin] -# set a [$twin get 1.0 end] -# if {[string compare $file1(source) $a]} {set r -3} - - # check for STACK_TAG -# if {$r == 0} { -# if {![catch {set z [$twin dump -tag 1.0 end]}]} { -# foreach {k v i} $z { -# if {$k == "tagon"} { -# if {$v == "STACK_TAG"} { -# incr r -# } -# if {$v == "PC_TAG"} {incr r 10} -# if {$v == "BROWSE_TAG"} {incr r 100} -# } -# } -# } else { -# set r -4 -# } -# } -# set r -#} {1} - -# Test: srcwin2-3.6 -# Desc: "stack down" test -gdbtk_test srcwin2-3.6 "stack down" { - $srcwin stack down - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {![string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin2-3.7 -# Desc: "stack bottom" test -gdbtk_test srcwin2-3.7 "stack bottom" { - $srcwin stack bottom - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin2-3.8 -# Desc: "stack down" when at bottom -gdbtk_test srcwin2-3.8 "stack down when at bottom" { - $srcwin stack down - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list1.c"} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $file2(source) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "38.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# 4.1 bp, multiple, balloon, etc - -# Test: srcwin2-4.1 -# Desc: Set BP in another file. Tests bp and cache functions -gdbtk_test srcwin2-4.1 "set BP in another file" { - gdb_immediate "break foo" 1 - $srcwin goto_func "" foo - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image on correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } elseif {$k == "image"} { - if {$i == "9.0"} { - incr r - } else { - set r -200 - } - } - } - } else { - set r -4 - } - } - - if {$r == 2} { - # clear BP and compare with previous contents. This should succeed, - gdb_immediate "clear foo" 1 - set a [$twin get 1.0 end] - if {[string compare $file3(source) $a]} {set r -3} - } - - set r -} {2} - -# Test: srcwin2-4.2 -# Desc: Test temporary BP -gdbtk_test srcwin2-4.2 "temporary BP" { - set r 0 - if {[catch {gdb_immediate "tbreak foo" 1} msg]} { - set r -500 - } - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != "list0.h"} {set r -1} - if {$func != "foo"} {set r -2} - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image on correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } elseif {$k == "image"} { - if {$i == "9.0"} { - incr r - } else { - set r -200 - } - } - } - } else { - set r -4 - } - } - - gdb_immediate "continue" 1 - - # now check for PC_TAG and no image - if {$r == 2} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - if {$i == "9.2"} { - incr r - } else { - incr r 5 - } - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } elseif {$k == "image"} { - set r -200 - } - } - } else { - set r -4 - } - } - - set r -} {3} - -gdbtk_test_done diff --git a/gdb/testsuite/gdb.gdbtk/srcwin3.test b/gdb/testsuite/gdb.gdbtk/srcwin3.test deleted file mode 100644 index b9a1617bb5c..00000000000 --- a/gdb/testsuite/gdb.gdbtk/srcwin3.test +++ /dev/null @@ -1,789 +0,0 @@ -# Copyright (C) 1999, 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Martin Hunt (hunt@cygnus.com) - -########################################################### -# same as srcwin.test, except test debugging executables # -# build without "-g" # -########################################################### - -# Read in the standard defs file - -if {![gdbtk_read_defs]} { - break -} - -global objdir srcdir - -##### ##### -# # -# SECTION 1: Mode Tests # -# # -##### ##### - -# Load the test executable -set program [file join $objdir list] -if {[catch {gdbtk_test_file $program} t]} { - # This isn't a test case, since if this fails, we're hosed. - gdbtk_test_error "loading \"$program\": $t" -} - -set srcwin [ManagedWin::open SrcWin] -set stw [$srcwin test_get twin] -set twin [$stw test_get twin] -set statbar [$srcwin test_get _statbar] - -# get things started -gdb_cmd "break main" -gdbtk_test_run - -# Test: srcwin3-1.1 -# Desc: Check for something in source window -gdbtk_test srcwin3-1.1 "source window has contents" { - set r 0 - set source(main) [$twin get 1.0 end] - if {$source(main) == ""} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin3-1.2 -# Desc: source->assembly mode change -gdbtk_test srcwin3-1.2 "source->assembly mode change" { - set r 0 - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - if {$source(main) != [$twin get 1.0 end]} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin3-1.3 -# Desc: assembly->mixed mode change -gdbtk_test srcwin3-1.3 "assembly->mixed mode change" { - set r 0 - $srcwin mode "" MIXED - set twin [$stw test_get twin] - if {$source(main) != [$twin get 1.0 end]} {set r -1} - if {[$statbar.mode get] != "MIXED"} {set r -2} - set r -} {0} - -# Test: srcwin3-1.4 -# Desc: mixed->src+asm mode change -gdbtk_test srcwin3-1.4 "mixed->src+asm mode change" { - set r 0 - # mode change may fail if fallover to ASSEMBLY fails - if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 } - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin3-1.5 -# Desc: src+asm->source mode change -gdbtk_test srcwin3-1.5 "src+asm->source mode change" { - set r 0 - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - if {[$stw test_get bwin] != ""} {set r -2} - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -3} - set r -} {0} - -# Test: srcwin3-1.6 -# Desc: source->mixed mode change -gdbtk_test srcwin3-1.6 "source->mixed mode change" { - set r 0 - $srcwin mode "" MIXED - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {[$statbar.mode get] != "MIXED"} {set r -2} - set r -} {0} - -# Test: srcwin3-1.7 -# Desc: mixed->source mode change -gdbtk_test srcwin3-1.7 "mixed->source mode change" { - set r 0 - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin3-1.8 -# Desc: source->src+asm mode change -gdbtk_test srcwin3-1.8 "source->src+asm mode change" { - set r 0 - # mode change may fail if fallover to ASSEMBLY fails - if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 } - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {$bwin != ""} {set r -2} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -3} - set r -} {0} - -# Test: srcwin3-1.9 -# Desc: src+asm->assembly mode change -gdbtk_test srcwin3-1.9 "src+asm->assembly mode change" { - set r 0 - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin3-1.10 -# Desc: assembly->src+asm mode change -gdbtk_test srcwin3-1.10 "assembly->src+asm mode change" { - set r 0 - # mode change may fail if fallover to ASSEMBLY fails - if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 } - set twin [$stw test_get twin] - set bwin [$stw test_get bwin] - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {$bwin != ""} {set r -2} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -3} - set r -} {0} - -# Test: srcwin3-1.11 -# Desc: src+asm->mixed mode change -gdbtk_test srcwin3-1.11 "src+asm->mixed mode change" { - set r 0 - $srcwin mode "" MIXED - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {[$statbar.mode get] != "MIXED"} {set r -2} - set r -} {0} - -# Test: srcwin3-1.12 -# Desc: mixed->assembly mode change -gdbtk_test srcwin3-1.12 "mixed->assembly mode change" { - set r 0 - $srcwin mode "" ASSEMBLY - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - -# Test: srcwin3-1.13 -# Desc: assembly->source mode change -gdbtk_test srcwin3-1.13 "assembly->source mode change" { - set r 0 - $srcwin mode "" SOURCE - set twin [$stw test_get twin] - if {[$twin get 1.0 end] != $source(main)} {set r -1} - if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} - set r -} {0} - - -##### ##### -# # -# SECTION 2: Basic Operations # -# # -##### ##### - -# Test: srcwin3-2.2 -# Desc: check contents of function combobox -# There won't be any because we have no debug info -gdbtk_test srcwin3-2.2 "check contents of function combobox" { - set names [$statbar.func list get 0 end] - llength $names -} {0} - -# Test: srcwin3-2.3 -# Desc: goto filename - this won't work, but should leave things as they were -gdbtk_test srcwin3-2.3 "goto filename" { - set func [$srcwin test_get _name 1] - $func "" list1.c - set twin [$stw test_get twin] - string compare $source(main) [$twin get 1.0 end] -} {0} - -# Test: srcwin3-2.6 -# Desc: goto function -gdbtk_test srcwin3-2.6 "goto function bar" { - $srcwin goto_func "" bar - set r 0 - set twin [$stw test_get twin] - set source(bar) [$twin get 1.0 end] - - if {$source(bar) == $source(main)} {set r -1000} - - # now get a dump of all tags and check that only one line is - # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. - - # We know that list1.c should have BROWSE_TAG set at index 5.2 - # for function "bar". If list1.c is changed or the layout of the source - # window is changed, this must be updated. - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - incr r - } - if {$v == "STACK_TAG"} { incr r 10} - if {$v == "PC_TAG"} { incr r 100} - } - } - } else { - set r -1 - } - - if {$r == 1} { - # things are OK so far, so just verify the function name is displayed - # in the combobox entry field. - set names [$statbar.func get] - if {[string compare $names "bar"]} {set r -2} - } - set r -} {1} - -# Test: srcwin3-2.7 -# Desc: goto function "oof". This tests that the correct line is highlighted -# with BROWSE_TAG and no other lines are highlighted. It also checks that -# the combobox has the correct function name in it. - -gdbtk_test srcwin3-2.7 "goto function oof" { - $srcwin goto_func "" oof - set r 0 - - set twin [$stw test_get twin] - set source(oof) [$twin get 1.0 end] - - if {$source(bar) == $source(oof)} {set r -1000} - if {$source(oof) == $source(main)} {set r -2000} - - # now get a dump of all tags and check that only one line is - # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. - - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - incr r - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } - } - } else { - set r -1 - } - - if {$r == 1} { - # things are OK so far, so just verify the function name is displayed - # in the combobox entry field. - set names [$statbar.func get] - if {[string compare $names "oof"]} {set r -2} - } - set r -} {1} - -# Test: srcwin3-2.8 -# Desc: This test issues a nexti command while browsing oof. -# It should jump back to main -gdbtk_test srcwin3-2.8 "nexti while browsing" { - gdb_immediate "nexti" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of function combobox - if {$func != "main"} {set r -2} - if {$name != ""} {set r -1} - - # check that correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $source(main) $a]} {set r -3} - - # check for PC_TAG - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - incr r - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin3-2.11 -# Desc: This test issues a break and a continue -gdbtk_test srcwin3-2.11 "set BP and continue" { - gdb_immediate "break oof" 1 - gdb_immediate "continue" 1 - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - # we must clear the breakpoint first so it doesn't mess up the - # comparison... - gdb_immediate "clear oof" 1 - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $source(oof) $a]} {set r -3} - - # check for PC_TAG - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - incr r - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -##### ##### -# # -# SECTION 3: Stack Operations # -# # -##### ##### - -# Test: srcwin3-3.1 -# Desc: This tests "stack up" -gdbtk_test srcwin3-3.1 "stack up (1)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "long_line"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set source(long_line) [$twin get 1.0 end] - if {![string compare $source(long_line) $source(oof)]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} {incr r 5} - if {$v == "STACK_TAG"} {incr r} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin3-3.2 -# Desc: Another "stack up" test -gdbtk_test srcwin3-3.2 "stack up (2)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "bar"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $source(bar) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - set r -100 - } - if {$v == "STACK_TAG"} { - incr r - } - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin3-3.3 -# Desc: Another "stack up" test -gdbtk_test srcwin3-3.3 "stack up (3)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "foo"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set source(foo) [$twin get 1.0 end] - if {![string compare $source(foo) $source(bar)]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - incr r - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin3-3.4 -# Desc: Another "stack up" test -gdbtk_test srcwin3-3.4 "stack up (4)" { - $srcwin stack up - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "main"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $source(main) $a]} {set r -3} - - # check for STACK_TAG - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - incr r - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Disabled for now because there are different correct results. -# Test should be rewritten to include those. -# Test: srcwin3-3.5 -# Desc: "stack up" when we are at the top -#gdbtk_test srcwin3-3.5 "stack up when at the top" { -# $srcwin stack up -# set r 0 -# set name [$statbar.name get] -# set func [$statbar.func get] - - # check contents of name and function comboboxes -# if {$name != ""} {set r -1} -# if {$func != "main"} {set r -2} - - # check that the correct file is displayed -# set twin [$stw test_get twin] -# set a [$twin get 1.0 end] -# if {[string compare $source(main) $a]} {set r -3} - - # check for STACK_TAG -# if {$r == 0} { -# if {![catch {set z [$twin dump -tag 1.0 end]}]} { -# foreach {k v i} $z { -# if {$k == "tagon"} { -# if {$v == "STACK_TAG"} { -# incr r -# } -# if {$v == "PC_TAG"} {incr r 10} -# if {$v == "BROWSE_TAG"} {incr r 100} -# } -# } -# } else { -# set r -4 -# } -# } -# set r -#} {1} - -# Test: srcwin3-3.6 -# Desc: "stack down" test -gdbtk_test srcwin3-3.6 "stack down" { - $srcwin stack down - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "foo"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $source(foo) $a]} {set r -3} - - # check for PC_TAG and STACK_TAG on correct lines - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "STACK_TAG"} { - incr r - } - if {$v == "PC_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin3-3.7 -# Desc: "stack bottom" test -gdbtk_test srcwin3-3.7 "stack bottom" { - $srcwin stack bottom - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $source(oof) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - incr r - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# Test: srcwin3-3.8 -# Desc: "stack down" when at bottom -gdbtk_test srcwin3-3.8 "stack down when at bottom" { - $srcwin stack down - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "oof"} {set r -2} - - # check that the correct file is displayed - set twin [$stw test_get twin] - set a [$twin get 1.0 end] - if {[string compare $source(oof) $a]} {set r -3} - - # check for PC_TAG on correct line - if {$r == 0} { - if {![catch {set z [$twin dump -tag 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - incr r - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } - } - } else { - set r -4 - } - } - set r -} {1} - -# 4.1 bp, multiple, balloon, etc - -# Test: srcwin3-4.1 -# Desc: Set BP in another file. Tests bp and cache functions -gdbtk_test srcwin3-4.1 "set BP in another file" { - gdb_immediate "break foo" 1 - $srcwin goto_func "" foo - set r 0 - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "foo"} {set r -2} - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - incr r - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } elseif {$k == "image"} { - incr r - } - } - } else { - set r -4 - } - } - - if {$r == 2} { - # clear BP and compare with previous contents. This should succeed, - gdb_immediate "clear foo" 1 - set a [$twin get 1.0 end] - if {[string compare $source(foo) $a]} {set r -3} - } - - set r -} {2} - -# Test: srcwin3-4.2 -# Desc: Test temporary BP -gdbtk_test srcwin3-4.2 "temporary BP" { - set r 0 - if {[catch {gdb_immediate "tbreak foo" 1} msg]} { - set r -500 - } - set name [$statbar.name get] - set func [$statbar.func get] - - # check contents of name and function comboboxes - if {$name != ""} {set r -1} - if {$func != "foo"} {set r -2} - - set twin [$stw test_get twin] - - # check for BROWSE_TAG and BP image on correct line - if {$r == 0} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "BROWSE_TAG"} { - incr r - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "PC_TAG"} {incr r 100} - } elseif {$k == "image"} { - incr r - } - } - } else { - set r -4 - } - } - - gdb_immediate "continue" 1 - - # now check for PC_TAG and no image - if {$r == 2} { - if {![catch {set z [$twin dump 1.0 end]}]} { - foreach {k v i} $z { - if {$k == "tagon"} { - if {$v == "PC_TAG"} { - incr r - } - if {$v == "STACK_TAG"} {incr r 10} - if {$v == "BROWSE_TAG"} {incr r 100} - } elseif {$k == "image"} { - set r -200 - } - } - } else { - set r -4 - } - } - - set r -} {3} - -gdbtk_test_done diff --git a/gdb/testsuite/gdb.gdbtk/stack1.c b/gdb/testsuite/gdb.gdbtk/stack1.c deleted file mode 100644 index 389260a22a5..00000000000 --- a/gdb/testsuite/gdb.gdbtk/stack1.c +++ /dev/null @@ -1,231 +0,0 @@ -/* Functions defined in other files */ -extern void extern_func1_1 (int a, char *b, unsigned long c); - -/* Functions defined in this file */ -static void static_func_1 (int a, char *b, unsigned long c); -static void static_func_2 (int a, char *b, unsigned long c); -static void static_func_3 (int a, char *b, unsigned long c); -static void static_func_4 (int a, char *b, unsigned long c); -static void static_func_5 (int a, char *b, unsigned long c); -static void static_func_6 (int a, char *b, unsigned long c); -static void static_func_7 (int a, char *b, unsigned long c); -static void static_func_8 (int a, char *b, unsigned long c); -static void static_func_9 (int a, char *b, unsigned long c); -static void static_func_10 (int a, char *b, unsigned long c); -static void static_func_11 (int a, char *b, unsigned long c); -static void static_func_12 (int a, char *b, unsigned long c); -static void static_func_13 (int a, char *b, unsigned long c); -static void static_func_14 (int a, char *b, unsigned long c); -static void static_func_15 (int a, char *b, unsigned long c); - -void func_1 (int a, char *b, unsigned long c); -void func_2 (int a, char *b, unsigned long c); -void func_3 (int a, char *b, unsigned long c); -void func_4 (int a, char *b, unsigned long c); -void func_5 (int a, char *b, unsigned long c); -void func_6 (int a, char *b, unsigned long c); -void func_7 (int a, char *b, unsigned long c); -void func_8 (int a, char *b, unsigned long c); -void func_9 (int a, char *b, unsigned long c); -void func_10 (int a, char *b, unsigned long c); -void func_11 (int a, char *b, unsigned long c); -void func_12 (int a, char *b, unsigned long c); -void func_13 (int a, char *b, unsigned long c); -void func_14 (int a, char *b, unsigned long c); -void func_15 (int a, char *b, unsigned long c); - -int -main (int argc, char *argv[]) -{ - int a; - char *b; - unsigned long c; - - a = 1; - b = "This is a string."; - c = 0xdeadL; - - func_1 (a, b, c); - - exit (0); -} - -void -func_1 (int a, char *b, unsigned long c) -{ - func_2 (a, b, c); -} - -void -func_2 (int a, char *b, unsigned long c) -{ - func_3 (a, b, c); -} - -void -func_3 (int a, char *b, unsigned long c) -{ - func_4 (a, b, c); -} - -void -func_4 (int a, char *b, unsigned long c) -{ - func_5 (a, b, c); -} - -void -func_5 (int a, char *b, unsigned long c) -{ - func_6 (a, b, c); -} - -void -func_6 (int a, char *b, unsigned long c) -{ - func_7 (a, b, c); -} - -void -func_7 (int a, char *b, unsigned long c) -{ - func_8 (a, b, c); -} - -void -func_8 (int a, char *b, unsigned long c) -{ - func_9 (a, b, c); -} - -void -func_9 (int a, char *b, unsigned long c) -{ - func_10 (a, b, c); -} - -void -func_10 (int a, char *b, unsigned long c) -{ - func_11 (a, b, c); -} - -void -func_11 (int a, char *b, unsigned long c) -{ - func_12 (a, b, c); -} - -void -func_12 (int a, char *b, unsigned long c) -{ - func_13 (a, b, c); -} - -void -func_13 (int a, char *b, unsigned long c) -{ - func_14 (a, b, c); -} - -void -func_14 (int a, char *b, unsigned long c) -{ - func_15 (a, b, c); -} - -void -func_15 (int a, char *b, unsigned long c) -{ - static_func_1 (a, b, c); -} - -static void -static_func_1 (int a, char *b, unsigned long c) -{ - static_func_2 (a, b, c); -} - -static void -static_func_2 (int a, char *b, unsigned long c) -{ - static_func_3 (a, b, c); -} - -static void -static_func_3 (int a, char *b, unsigned long c) -{ - static_func_4 (a, b, c); -} - -static void -static_func_4 (int a, char *b, unsigned long c) -{ - static_func_5 (a, b, c); -} - -static void -static_func_5 (int a, char *b, unsigned long c) -{ - static_func_6 (a, b, c); -} - -static void -static_func_6 (int a, char *b, unsigned long c) -{ - static_func_7 (a, b, c); -} - -static void -static_func_7 (int a, char *b, unsigned long c) -{ - static_func_8 (a, b, c); -} - -static void -static_func_8 (int a, char *b, unsigned long c) -{ - static_func_9 (a, b, c); -} - -static void -static_func_9 (int a, char *b, unsigned long c) -{ - static_func_10 (a, b, c); -} - -static void -static_func_10 (int a, char *b, unsigned long c) -{ - static_func_11 (a, b, c); -} - -static void -static_func_11 (int a, char *b, unsigned long c) -{ - static_func_12 (a, b, c); -} - -static void -static_func_12 (int a, char *b, unsigned long c) -{ - static_func_13 (a, b, c); -} - -static void -static_func_13 (int a, char *b, unsigned long c) -{ - static_func_14 (a, b, c); -} - -static void -static_func_14 (int a, char *b, unsigned long c) -{ - static_func_15 (a, b, c); -} - -static void -static_func_15 (int a, char *b, unsigned long c) -{ - extern_func1_1 (a, b, c); -} diff --git a/gdb/testsuite/gdb.gdbtk/stack2.c b/gdb/testsuite/gdb.gdbtk/stack2.c deleted file mode 100644 index db47c469e6e..00000000000 --- a/gdb/testsuite/gdb.gdbtk/stack2.c +++ /dev/null @@ -1,107 +0,0 @@ -/* Functions defined in this file */ -void extern_func1_1 (int, char *, unsigned long); -void extern_func1_2 (int, char *, unsigned long); -void extern_func1_3 (int, char *, unsigned long); -void extern_func1_4 (int, char *, unsigned long); -void extern_func1_5 (int, char *, unsigned long); -void extern_func1_6 (int, char *, unsigned long); -void extern_func1_7 (int, char *, unsigned long); -void extern_func1_8 (int, char *, unsigned long); -void extern_func1_9 (int, char *, unsigned long); -void extern_func1_10 (int, char *, unsigned long); -void extern_func1_11 (int, char *, unsigned long); -void extern_func1_12 (int, char *, unsigned long); -void extern_func1_13 (int, char *, unsigned long); -void extern_func1_14 (int, char *, unsigned long); -void extern_func1_15 (int, char *, unsigned long); - -void -extern_func1_1 (int a, char *b, unsigned long c) -{ - extern_func1_2 (a, b, c); -} - -void -extern_func1_2 (int a, char *b, unsigned long c) -{ - extern_func1_3 (a, b, c); -} - -void -extern_func1_3 (int a, char *b, unsigned long c) -{ - extern_func1_4 (a, b, c); -} - -void -extern_func1_4 (int a, char *b, unsigned long c) -{ - extern_func1_5 (a, b, c); -} - -void -extern_func1_5 (int a, char *b, unsigned long c) -{ - extern_func1_6 (a, b, c); -} - -void -extern_func1_6 (int a, char *b, unsigned long c) -{ - extern_func1_7 (a, b, c); -} - -void -extern_func1_7 (int a, char *b, unsigned long c) -{ - extern_func1_8 (a, b, c); -} - -void -extern_func1_8 (int a, char *b, unsigned long c) -{ - extern_func1_9 (a, b, c); -} - -void -extern_func1_9 (int a, char *b, unsigned long c) -{ - extern_func1_10 (a, b, c); -} - -void -extern_func1_10 (int a, char *b, unsigned long c) -{ - extern_func1_11 (a, b, c); -} - -void -extern_func1_11 (int a, char *b, unsigned long c) -{ - extern_func1_12 (a, b, c); -} - -void -extern_func1_12 (int a, char *b, unsigned long c) -{ - extern_func1_13 (a, b, c); -} - -void -extern_func1_13 (int a, char *b, unsigned long c) -{ - extern_func1_14 (a, b, c); -} - -void -extern_func1_14 (int a, char *b, unsigned long c) -{ - extern_func1_15 (a, b, c); -} - -void -extern_func1_15 (int a, char *b, unsigned long c) -{ - /* THE END */ - return; -} diff --git a/gdb/testsuite/gdb.gdbtk/windows.exp b/gdb/testsuite/gdb.gdbtk/windows.exp deleted file mode 100644 index 94b09a4d863..00000000000 --- a/gdb/testsuite/gdb.gdbtk/windows.exp +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 2001 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License (GPL) as published by -# the Free Software Foundation; either version 2 of the License, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -load_lib insight-support.exp - -if {[gdbtk_initialize_display]} { - if {$tracelevel} { - strace $tracelevel - } - - # - # Basic window tests (basic as in, "do they open") - # - set prms_id 0 - set bug_id 0 - - set srcfile [file join $srcdir $subdir c_variable.c] - set binfile [file join $objdir $subdir c_variable] - set r [gdb_compile $srcfile $binfile executable {debug}] - if { $r != "" } { - gdb_suppress_entire_file \ - "Testcase compile failed, so some tests in this file will automatically fail." - } - - # Start with a fresh gdbtk - gdb_exit - set results [gdbtk_start [file join $srcdir $subdir windows.test]] - set results [split $results \n] - - # Analyze results - gdbtk_done $results -} diff --git a/gdb/testsuite/gdb.gdbtk/windows.test b/gdb/testsuite/gdb.gdbtk/windows.test deleted file mode 100644 index d8f72c549fe..00000000000 --- a/gdb/testsuite/gdb.gdbtk/windows.test +++ /dev/null @@ -1,131 +0,0 @@ -# Basic window tests -# Copyright 2001, 2003 Red Hat, Inc. -# -# This Program Is Free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -# This file was written by Keith Seitz (keiths@cygnus.com) - -# Read in the standard defs file -if {![gdbtk_read_defs]} { - break -} - -global objdir test_ran - -# Windows to test -# FIXME: TfindArgs needs to be updated before it can go in the list... -set windows [list BpWin BrowserWin Console DebugWin KodWin LocalsWin \ - MemWin ProcessWin RegWin StackWin TdumpWin WatchWin] - -# Dialogs to test -# FIXME: ActionhDlg,TraceDlg cannot be independently opened -set dialogs [list About AttachDlg GlobalPref SrcPref TargetSelection] - -# Helper proc to do all the testing -proc do_open_close {num winlist} { - set i 1 - foreach win $winlist { - - # Test: windows-$num.* - # Desc: Open each window before running - set win_obj "" - gdbtk_test windows-$num.$i "open $win before running" { - set err [catch {ManagedWin::open $win} txt] - if {$err} { - # display error - set txt - } else { - # display "0" - set win_obj $txt - set err - } - } {0} - - # Update screen - update idletasks - - # Test: windows-{$num+1}.* - # Desc: Close each window before running - gdbtk_test windows-[expr {$num+1}].$i "close $win before running" { - set err [catch {delete object $win_obj} txt] - if {$err} { - # display error - set txt - } else { - # display "0" - set err - } - } {0} - - # Update screen - update idletasks - incr i - } -} - -# -# Tests start here -# - -# Counter for tests. Increment by 2 after each call to do_open_close. -set num 1 - -# -# Check if all windows open with no file loaded -# -do_open_close $num $windows -incr num 2 - -# Sadly, there is no good way to unpost dialogs (except for setting -# an after callback). Until something better comes along, skip them. -# do_open_close $num $dialogs -# incr num 2 - -# -# Check if all windows open with file loaded -# - -# Load in a file -set program [file join $objdir c_variable] -if {[catch {gdbtk_test_file $program} t]} { - # This isn't a test case, since if this fails, we're hosed. - gdbtk_test_error "loading \"$program\": $t" -} - -do_open_close $num $windows -incr num 2 -#do_open_close $num $dialogs -incr num 2 - -# -# Check if all windows open after running -# - -# Break in main and run -gdb_cmd "break main" -gdbtk_test_run - -do_open_close $num $windows -incr num 2 -#do_open_close $num $dialogs -#incr num 2 - -# -# Exit -# -gdbtk_test_done |