From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 71686 invoked by alias); 26 Apr 2015 01:25:57 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 71634 invoked by uid 89); 26 Apr 2015 01:25:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,T_RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=no version=3.3.2 X-HELO: layla.krisman.be Received: from layla.krisman.be (HELO layla.krisman.be) (176.31.208.35) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sun, 26 Apr 2015 01:25:56 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (envelope-from ) id 1YmB8X-0002To-UP; Sun, 26 Apr 2015 03:13:34 +0200 From: Gabriel Krisman Bertazi To: gdb-patches@sourceware.org Cc: dje@google.com, sergiodj@redhat.com, Gabriel Krisman Bertazi Subject: [PATCH v3 03/17] Add tests for catching groups of syscalls on supported architectures. Date: Sun, 26 Apr 2015 01:25:00 -0000 Message-Id: <1430011521-24340-4-git-send-email-gabriel@krisman.be> In-Reply-To: <1430011521-24340-1-git-send-email-gabriel@krisman.be> References: <1430011521-24340-1-git-send-email-gabriel@krisman.be> X-IsSubscribed: yes X-SW-Source: 2015-04/txt/msg00956.txt.bz2 gdb/testsuite/ * gdb.base/catch-syscall.exp (do_syscall_tests): Add call to test_catch_syscall_group. (test_catch_syscall_group): New. --- gdb/testsuite/gdb.base/catch-syscall.exp | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gdb/testsuite/gdb.base/catch-syscall.exp b/gdb/testsuite/gdb.base/catch-syscall.exp index df0004a..c65c8e3 100644 --- a/gdb/testsuite/gdb.base/catch-syscall.exp +++ b/gdb/testsuite/gdb.base/catch-syscall.exp @@ -269,6 +269,40 @@ proc test_catch_syscall_fail_nodatadir {} { } } +proc test_catch_syscall_group {} { + global decimal + + set sysnum "\\\[${decimal}\\\]" + + gdb_test "catch syscall g:process" \ + "Catchpoint $decimal \\(syscalls (\'(clone|fork|execve|exit)\' $sysnum)+.*" \ + "set catchpoint on a group of syscalls" + + gdb_test "catch syscall group:process read" \ + "Catchpoint $decimal \\(syscalls (\'(clone|fork|execve|exit)\' $sysnum)+.*read.*\\)" \ + "set catchpoints on a group of syscalls and on a single syscall" + + gdb_test "catch syscall group:" \ + "Unknown syscall group.*" \ + "set catchpoints on an invalid group" + + gdb_test "catch syscall g:junk" \ + "Unknown syscall group.*" \ + "set catchpoints on an unknown group." + + gdb_test "complete catch syscall g:proc" \ + "catch syscall g:process" \ + "complete catch syscall group with 'g:' prefix" + + gdb_test "complete catch syscall group:proc" \ + "catch syscall group:process" \ + "complete catch syscall group with 'group:' prefix" + + gdb_test "complete catch syscall g" \ + ".*group:process.*" \ + "complete catch syscall group suggests 'group:' prefix" +} + proc do_syscall_tests {} { # NOTE: We don't have to point gdb at the correct data-directory. # For the build tree that is handled by INTERNAL_GDBFLAGS. @@ -309,6 +343,9 @@ proc do_syscall_tests {} { # Testing if the 'catch syscall' command works when switching to # different architectures on-the-fly (PR gdb/10737). if [runto_main] then { test_catch_syscall_multi_arch } + + # Testing the 'catch' syscall command for a group of syscalls. + if [runto_main] then { test_catch_syscall_group } } proc test_catch_syscall_without_args_noxml {} { -- 1.9.3