Uniquefy gdb.base/catch-syscall.exp test names.
authorPedro Alves <palves@redhat.com>
Wed, 9 Oct 2013 14:31:35 +0000 (14:31 +0000)
committerPedro Alves <palves@redhat.com>
Wed, 9 Oct 2013 14:31:35 +0000 (14:31 +0000)
catch-syscall.exp has a series of duplicated output in gdb.sum.  This
patch makes sure all test names are unique, using with_test_prefix.

Tested on x86_64 Fedora 17.

gdb/testsuite/
2013-10-09  Pedro Alves  <palves@redhat.com>

* gdb.base/catch-syscall.exp (test_catch_syscall_without_args)
(test_catch_syscall_with_args, test_catch_syscall_with_many_args)
(test_catch_syscall_with_wrong_args)
(test_catch_syscall_restarting_inferior)
(test_catch_syscall_fail_nodatadir)
(test_catch_syscall_without_args_noxml)
(test_catch_syscall_with_args_noxml)
(test_catch_syscall_with_wrong_args_noxml): Use with_test_prefix.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/catch-syscall.exp

index 3e5e970..7a5f913 100644 (file)
@@ -1,3 +1,14 @@
+2013-10-09  Pedro Alves  <palves@redhat.com>
+
+       * gdb.base/catch-syscall.exp (test_catch_syscall_without_args)
+       (test_catch_syscall_with_args, test_catch_syscall_with_many_args)
+       (test_catch_syscall_with_wrong_args)
+       (test_catch_syscall_restarting_inferior)
+       (test_catch_syscall_fail_nodatadir)
+       (test_catch_syscall_without_args_noxml)
+       (test_catch_syscall_with_args_noxml)
+       (test_catch_syscall_with_wrong_args_noxml): Use with_test_prefix.
+
 2013-10-08  Tom Tromey  <tromey@redhat.com>
 
        * gdb.dwarf2/dwzbuildid.exp: New file.
index 1066caf..7f1bd29 100644 (file)
@@ -168,106 +168,124 @@ proc check_for_program_end {} {
 proc test_catch_syscall_without_args {} {
     global gdb_prompt all_syscalls last_syscall
 
-    # Trying to set the syscall
-    set thistest "setting catch syscall without arguments"
-    gdb_test "catch syscall" "Catchpoint .*(syscall).*" $thistest
+    with_test_prefix "without arguments" {
+       # Trying to set the syscall.
+       gdb_test "catch syscall" "Catchpoint .*(syscall).*"
 
-    check_info_bp_any_syscall
+       check_info_bp_any_syscall
 
-    # We have to check every syscall
-    foreach name $all_syscalls {
-        check_continue $name
-    }
+       # We have to check every syscall.
+       foreach name $all_syscalls {
+           check_continue $name
+       }
 
-    # At last but not least, we check if the inferior
-    # has called the last (exit) syscall.
-    check_call_to_syscall $last_syscall
+       # At last but not least, we check if the inferior has called
+       # the last (exit) syscall.
+       check_call_to_syscall $last_syscall
 
-    # Now let's see if the inferior correctly finishes.
-    check_for_program_end
+       # Now let's see if the inferior correctly finishes.
+       check_for_program_end
+    }
 }
 
 proc test_catch_syscall_with_args {} {
-    global gdb_prompt
-    set syscall_name "close"
+    with_test_prefix "with arguments" {
+       global gdb_prompt
 
-    insert_catch_syscall_with_arg $syscall_name 
+       set syscall_name "close"
+       insert_catch_syscall_with_arg $syscall_name
 
-    # Can we continue until we catch the syscall?
-    check_continue $syscall_name
+       # Can we continue until we catch the syscall?
+       check_continue $syscall_name
 
-    # Now let's see if the inferior correctly finishes.
-    check_for_program_end
+       # Now let's see if the inferior correctly finishes.
+       check_for_program_end
+    }
 }
 
 proc test_catch_syscall_with_many_args {} {
-    global gdb_prompt all_syscalls all_syscalls_numbers
+    with_test_prefix "with many arguments" {
+       global gdb_prompt all_syscalls all_syscalls_numbers
 
-    insert_catch_syscall_with_many_args $all_syscalls $all_syscalls_numbers
+       insert_catch_syscall_with_many_args $all_syscalls $all_syscalls_numbers
 
-    # Can we continue until we catch the syscalls?
-    foreach name $all_syscalls {
-        check_continue $name
-    }
+       # Can we continue until we catch the syscalls?
+       foreach name $all_syscalls {
+           check_continue $name
+       }
 
-    # Now let's see if the inferior correctly finishes.
-    check_for_program_end
+       # Now let's see if the inferior correctly finishes.
+       check_for_program_end
+    }
 }
 
 proc test_catch_syscall_with_wrong_args {} {
-    global gdb_prompt
-    # mlock is not called from the source
-    set syscall_name "mlock"
-
-    insert_catch_syscall_with_arg $syscall_name
-
-    # Now, we must verify if the program stops with a continue.
-    # If it doesn't, everything is right (since we don't have
-    # a syscall named "mlock" in it).  Otherwise, this is a failure.
-    set thistest "catch syscall with unused syscall ($syscall_name)"
-    gdb_continue_to_end $thistest
+    with_test_prefix "wrong args" {
+       global gdb_prompt
+
+       # mlock is not called from the source
+       set syscall_name "mlock"
+       insert_catch_syscall_with_arg $syscall_name
+
+       # Now, we must verify if the program stops with a continue.
+       # If it doesn't, everything is right (since we don't have
+       # a syscall named "mlock" in it).  Otherwise, this is a failure.
+       set thistest "catch syscall with unused syscall ($syscall_name)"
+       gdb_continue_to_end $thistest
+    }
 }
 
 proc test_catch_syscall_restarting_inferior {} {
-    global gdb_prompt
-    set syscall_name "chroot"
+    with_test_prefix "restarting inferior" {
+       global gdb_prompt
+
+       set syscall_name "chroot"
 
-    insert_catch_syscall_with_arg $syscall_name
+       with_test_prefix "entry" {
+           insert_catch_syscall_with_arg $syscall_name
 
-    # Let's first reach the call of the syscall.
-    check_call_to_syscall $syscall_name
+           # Let's first reach the entry of the syscall.
+           check_call_to_syscall $syscall_name
+       }
 
-    # Now, restart the program
-    rerun_to_main
+       with_test_prefix "entry/return" {
+           # Now, restart the program.
+           rerun_to_main
 
-    # And check for call/return
-    check_continue $syscall_name
+           # And check for entry/return.
+           check_continue $syscall_name
 
-    # Can we finish?
-    check_for_program_end
+           # Can we finish?
+           check_for_program_end
+       }
+    }
 }
 
 proc test_catch_syscall_fail_nodatadir {} {
-    global gdb_prompt
+    with_test_prefix "fail no datadir" {
+       global gdb_prompt
 
-    # Sanitizing.
-    delete_breakpoints
+       # Sanitizing.
+       delete_breakpoints
 
-    # Make sure GDB doesn't load the syscalls xml from the system data
-    # directory.
-    gdb_test_no_output "set data-directory /the/path/to/nowhere"
+       # Make sure GDB doesn't load the syscalls xml from the system
+       # data directory.
+       gdb_test_no_output "set data-directory /the/path/to/nowhere"
 
-    # Testing to see if we receive a warning when calling "catch syscall"
-    # without XML support (without datadir).
-    set thistest "Catch syscall displays a warning when there is no XML support (no datadir set)"
-    gdb_test "catch syscall" "warning: Could not load the syscall XML file.*warning: GDB will not be able to display syscall names nor to verify if.*any provided syscall numbers are valid.*Catchpoint .*(syscall).*" $thistest
+       # Testing to see if we receive a warning when calling "catch
+       # syscall" without XML support (without datadir).
+       set thistest "catch syscall displays a warning when there is no XML support"
+       gdb_test "catch syscall" \
+           "warning: Could not load the syscall XML file.*warning: GDB will not be able to display syscall names nor to verify if.*any provided syscall numbers are valid.*Catchpoint .*(syscall).*" \
+           $thistest
 
-    # Since the catchpoint was set, we must check if it's present at
-    # "info breakpoints"
-    check_info_bp_any_syscall
+       # Since the catchpoint was set, we must check if it's present
+       # in "info breakpoints" output.
+       check_info_bp_any_syscall
 
-    # Sanitizing.
-    delete_breakpoints
+       # Sanitizing.
+       delete_breakpoints
+    }
 }
 
 proc do_syscall_tests {} {
@@ -311,68 +329,74 @@ proc do_syscall_tests {} {
 }
 
 proc test_catch_syscall_without_args_noxml {} {
-    # We will need the syscall names even not using it
-    # because we need to know know many syscalls are in
-    # the example file.
-    global gdb_prompt all_syscalls last_syscall
-
-    delete_breakpoints
-
-    set thistest "Catch syscall without arguments and without XML support"
-    gdb_test "catch syscall" "Catchpoint .*(syscall).*"
-
-    # Now, we should be able to set a catchpoint,
-    # and GDB shall not display the warning anymore.
-    foreach name $all_syscalls {
-        # Unfortunately, we don't know the syscall number
-        # that will be caught because this information is
-        # arch-dependent.  Thus, we try to catch anything
-        # similar to a number.
-        check_continue "\[0-9\]*"
+    with_test_prefix "without args noxml" {
+       # We will need the syscall names even not using it because we
+       # need to know know many syscalls are in the example file.
+       global gdb_prompt all_syscalls last_syscall
+
+       delete_breakpoints
+
+       gdb_test "catch syscall" "Catchpoint .*(syscall).*"
+
+       # Now, we should be able to set a catchpoint, and GDB shall
+       # not display the warning anymore.
+       foreach name $all_syscalls {
+           # Unfortunately, we don't know the syscall number that
+           # will be caught because this information is
+           # arch-dependent.  Thus, we try to catch anything similar
+           # to a number.
+           with_test_prefix "$name" {
+               check_continue "\[0-9\]*"
+           }
+       }
+
+       # At last but not least, we check if the inferior has called
+       # the last (exit) syscall.
+       check_call_to_syscall "\[0-9\]*"
+
+       delete_breakpoints
     }
-
-    # At last but not least, we check if the inferior
-    # has called the last (exit) syscall.
-    check_call_to_syscall "\[0-9\]*"
-
-    delete_breakpoints
 }
 
 proc test_catch_syscall_with_args_noxml {} {
-    global gdb_prompt
+    with_test_prefix "with args noxml" {
+       global gdb_prompt
 
-    # The number of the "close" syscall.  This is our
-    # option for a "long-estabilished" syscall in all
-    # Linux architectures, but unfortunately x86_64 and
-    # a few other platforms don't "follow the convention".
-    # Because of this, we need this ugly check :-(.
-    set close_number ""
-    if { [istarget "x86_64-*-linux*"] } {
-        set close_number "3"
-    } else {
-        set close_number "6"
-    }
+       # The number of the "close" syscall.  This is our option for a
+       # "long-estabilished" syscall in all Linux architectures, but
+       # unfortunately x86_64 and a few other platforms don't "follow
+       # the convention".  Because of this, we need this ugly check
+       # :-(.
+       set close_number ""
+       if { [istarget "x86_64-*-linux*"] } {
+           set close_number "3"
+       } else {
+           set close_number "6"
+       }
 
-    delete_breakpoints
+       delete_breakpoints
 
-    insert_catch_syscall_with_arg $close_number
+       insert_catch_syscall_with_arg $close_number
 
-    check_continue $close_number
+       check_continue $close_number
 
-    delete_breakpoints
+       delete_breakpoints
+    }
 }
 
 proc test_catch_syscall_with_wrong_args_noxml {} {
-    global gdb_prompt
+    with_test_prefix "with wrong args noxml" {
+       global gdb_prompt
 
-    delete_breakpoints
+       delete_breakpoints
 
-    # Even without XML support, GDB should not accept unknown
-    # syscall names for the catchpoint.
-    set thistest "Catch a nonsense syscall without XML support"
-    gdb_test "catch syscall nonsense_syscall" "Unknown syscall name .nonsense_syscall.*" $thistest
+       # Even without XML support, GDB should not accept unknown
+       # syscall names for the catchpoint.
+       gdb_test "catch syscall nonsense_syscall" \
+           "Unknown syscall name .nonsense_syscall.*"
 
-    delete_breakpoints
+       delete_breakpoints
+    }
 }
 
 proc do_syscall_tests_without_xml {} {