From patchwork Wed Mar 2 23:23:10 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Evans X-Patchwork-Id: 11171 Received: (qmail 46043 invoked by alias); 2 Mar 2016 23:23:16 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 46021 invoked by uid 89); 2 Mar 2016 23:23:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 spammy=glob, bz, enb, H*r:209.85.218 X-HELO: mail-oi0-f73.google.com Received: from mail-oi0-f73.google.com (HELO mail-oi0-f73.google.com) (209.85.218.73) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 02 Mar 2016 23:23:12 +0000 Received: by mail-oi0-f73.google.com with SMTP id r187so308102oih.0 for ; Wed, 02 Mar 2016 15:23:12 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:message-id:date:subject:from:to:cc; bh=enn9UZlsKcjiqSisv6+19qOi+IP1T9nKfO/AO9hsLdo=; b=ZGdqA5wEixCs1lQK0Tr0Hu8yvRK72QHzWSaXywWb7AqUcAwf9p9ypGxX4m/fTB3xg4 wADRA5P/clIqPUcSbyd5ddcKy3hZnrNttvVlkmgFU2eRDDHUnQebdpxKCPeGmUQVfr+c O9bHd5AKqdepGMRuizwJ09ZMCObmzU7MzD/gRVqiic27ShYS2s/kbjVNRbxyyZc9ElMm fs2eSArHuLNSAfvf96Mh2ozJl3QJliNk202TgXTyNcUrKgf/hy0m1XYzM/G0MxsjAbTL 1TqKGWgJEYaUVJM+/HrZ1Nc+VszwhXh88WkEBXA28JpQieoS22FZUkT81VrdSxgWzU6E ur4Q== X-Gm-Message-State: AD7BkJJIQL69K6cR3q48QX0ds/KfTLG/AKWpDTy/hlXYpXIw61j68EbpJdUdAgSfmfRinyIsOUkQa1U5j6V05qE/TzatbFZsOcfLXotx3roigjK+hD/gNb+RqubjQg+zPIgVAqKEsEZMlAi/9oPd7C9aKBjJzOX+0BUbvdT3h7+8DXdxb7InpA== MIME-Version: 1.0 X-Received: by 10.107.169.88 with SMTP id s85mr5625ioe.30.1456960990746; Wed, 02 Mar 2016 15:23:10 -0800 (PST) Message-ID: <001a11426f264ea88f052d192a10@google.com> Date: Wed, 02 Mar 2016 23:23:10 +0000 Subject: [PATCH] cleanup skip.exp, make test names unique From: Doug Evans To: gdb-patches@sourceware.org Cc: simon.marchi@ericsson.com X-IsSubscribed: yes Hi. I need to fix an issue here (remove dependency on hand-calling), but before that I figure I might as well do some cleanup first and make each test name unique. 2016-03-02 Doug Evans * gdb.base/skip.exp: Use with_test_prefix. @@ -210,75 +222,80 @@ gdb_test "skip -gfi sk*1.c" "File\\(s\\) sk\\*1.c will be skipped when stepping\ gdb_test "skip -fu baz" "Function baz will be skipped when stepping\." gdb_test "skip -rfu ^b.z$" "Function\\(s\\) \\^b\\.z\\$ will be skipped when stepping." -if ![runto_main] { - fail "Can't run to main" - return +with_test_prefix "step using -fi" { + if ![runto_main] { + fail "Can't run to main" + return + } + + gdb_test_no_output "skip disable" + gdb_test_no_output "skip enable 5" + gdb_test "step" "foo \\(\\) at.*" "step 1" + gdb_test "step" ".*" "step 2"; # Return from foo() + gdb_test "step" "main \\(\\) at.*" "step 3" } -set test "step using -fi" -gdb_test_no_output "skip disable" -gdb_test_no_output "skip enable 5" -gdb_test "step" "foo \\(\\) at.*" "$test (1)" -gdb_test "step" ".*" "$test (2)"; # Return from foo() -gdb_test "step" "main \\(\\) at.*" "$test (3)" - -if ![runto_main] { - fail "Can't run to main" - return +with_test_prefix "step using -gfi" { + if ![runto_main] { + fail "Can't run to main" + return + } + + gdb_test_no_output "skip disable" + gdb_test_no_output "skip enable 6" + gdb_test "step" "foo \\(\\) at.*" "step 1" + gdb_test "step" ".*" "step 2"; # Return from foo() + gdb_test "step" "main \\(\\) at.*" "step 3" } -set test "step using -gfi" -gdb_test_no_output "skip disable" -gdb_test_no_output "skip enable 6" -gdb_test "step" "foo \\(\\) at.*" "$test (1)" -gdb_test "step" ".*" "$test (2)"; # Return from foo() -gdb_test "step" "main \\(\\) at.*" "$test (3)" - -if ![runto_main] { - fail "Can't run to main" - return +with_test_prefix "step using -fu for baz" { + if ![runto_main] { + fail "Can't run to main" + return + } + + gdb_test_no_output "skip disable" + gdb_test_no_output "skip enable 7" + gdb_test "step" "bar \\(\\) at.*" "step 1" + gdb_test "step" ".*" "step 2"; # Return from bar() + gdb_test "step" "foo \\(\\) at.*" "step 3" + gdb_test "step" ".*" "step 4"; # Return from foo() + gdb_test "step" "main \\(\\) at.*" "step 5" } -set test "step using -fu for baz" -gdb_test_no_output "skip disable" -gdb_test_no_output "skip enable 7" -gdb_test "step" "bar \\(\\) at.*" "$test (1)" -gdb_test "step" ".*" "$test (2)"; # Return from bar() -gdb_test "step" "foo \\(\\) at.*" "$test (3)" -gdb_test "step" ".*" "$test (4)"; # Return from foo() -gdb_test "step" "main \\(\\) at.*" "$test (5)" - -if ![runto_main] { - fail "Can't run to main" - return +with_test_prefix "step using -rfu for baz" { + if ![runto_main] { + fail "Can't run to main" + return + } + + gdb_test_no_output "skip disable" + gdb_test_no_output "skip enable 8" + gdb_test "step" "bar \\(\\) at.*" "step 1" + gdb_test "step" ".*" "step 2"; # Return from bar() + gdb_test "step" "foo \\(\\) at.*" "step 3" + gdb_test "step" ".*" "step 4"; # Return from foo() + gdb_test "step" "main \\(\\) at.*" "step 5" } -set test "step using -rfu for baz" -gdb_test_no_output "skip disable" -gdb_test_no_output "skip enable 8" -gdb_test "step" "bar \\(\\) at.*" "$test (1)" -gdb_test "step" ".*" "$test (2)"; # Return from bar() -gdb_test "step" "foo \\(\\) at.*" "$test (3)" -gdb_test "step" ".*" "$test (4)"; # Return from foo() -gdb_test "step" "main \\(\\) at.*" "$test (5)" - # Test -fi + -fu. -if ![runto_main] { - fail "Can't run to main" - return +with_test_prefix "step using -fi + -fu" { + if ![runto_main] { + fail "Can't run to main" + return + } + + gdb_test_no_output "skip delete" + gdb_test "skip -fi skip1.c -fu test_skip" \ + "Function test_skip in file skip1.c will be skipped when stepping\." + gdb_breakpoint "test_skip_file_and_function" + gdb_breakpoint "end_test_skip_file_and_function" + gdb_test "call test_skip_file_and_function ()" "silently stop." + # Verify we can step into skip.c:test_skip but not skip1.c:test_skip. + gdb_test "step" "test_skip \\(\\) at.*" "step 1" + gdb_test "step" "test_skip_file_and_function \\(\\) at.*" "step 2"; # Return from test_skip() + gdb_test "step" "skip1_test_skip_file_and_function \\(\\) at.*" "step 3" + gdb_test "step" ".*" "step 4"; # Skip over test_skip() + gdb_test "step" "test_skip_file_and_function \\(\\) at.*" "step 5"; # Return from skip1_test_skip_file_and_function() } - -set test "step using -fi + -fu" -gdb_test_no_output "skip delete" -gdb_test "skip -fi skip1.c -fu test_skip" \ - "Function test_skip in file skip1.c will be skipped when stepping\." -gdb_breakpoint "test_skip_file_and_function" -gdb_breakpoint "end_test_skip_file_and_function" -gdb_test "call test_skip_file_and_function ()" "silently stop." -# Verify we can step into skip.c:test_skip but not skip1.c:test_skip. -gdb_test "step" "test_skip \\(\\) at.*" "$test (1)" -gdb_test "step" "test_skip_file_and_function \\(\\) at.*" "$test (2)"; # Return from test_skip() -gdb_test "step" "skip1_test_skip_file_and_function \\(\\) at.*" "$test (4)" -gdb_test "step" ".*" "$test (5)"; # Skip over test_skip() -gdb_test "step" "test_skip_file_and_function \\(\\) at.*" "$test (6)"; # Return from skip1_test_skip_file_and_function() diff --git a/gdb/testsuite/gdb.base/skip.exp b/gdb/testsuite/gdb.base/skip.exp index 7d28b8b..67ae9d9 100644 --- a/gdb/testsuite/gdb.base/skip.exp +++ b/gdb/testsuite/gdb.base/skip.exp @@ -94,113 +94,125 @@ if ![runto_main] { fail "Can't run to main" return } + gdb_test "step" ".*" "step in the main" gdb_test "bt" "\\s*\\#0\\s+main.*" "step after all ignored" # Now remove skip.c from the skiplist. Our first step should take us # into foo(), and our second step should take us to the next line in main(). -gdb_test "skip delete 1" -# Check that entry 1 is missing from |info skip| -gdb_test "info skip" \ - "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* +with_test_prefix "step after deleting 1" { + gdb_test "skip delete 1" + # Check that entry 1 is missing from |info skip| + gdb_test "info skip" \ + "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* 2\\s+y\\s+n\\s+\\s+n\\s+main\\s* 3\\s+y\\s+n\\s+$srcfile1\\s+n\\s+\\s* 4\\s+y\\s+n\\s+\\s+n\\s+baz\\s*" \ - "info skip (delete 1)" + "info skip (delete 1)" -if ![runto_main] { - fail "Can't run to main" - return + if ![runto_main] { + fail "Can't run to main" + return + } + + gdb_test "step" "foo \\(\\) at.*" "step 1" + gdb_test "step" ".*" "step 2" ; # Return from foo() + gdb_test "step" "main \\(\\) at.*" "step 3" } -set test "step after deleting 1" -gdb_test "step" "foo \\(\\) at.*" "$test (1)" -gdb_test "step" ".*" "$test (2)" ; # Return from foo() -gdb_test "step" "main \\(\\) at.*" "$test (3)" # Now disable the skiplist entry for skip1.c. We should now # step into foo(), then into bar(), but not into baz(). -gdb_test "skip disable 3" -# Is entry 3 disabled in |info skip|? -gdb_test "info skip 3" \ - "3\\s+n\\s+n\\s+$srcfile1\\s+n\\s+\\s*" \ - "info skip shows entry as disabled" - -if ![runto_main] { - fail "Can't run to main" - return +with_test_prefix "step after disabling 3" { + gdb_test "skip disable 3" + # Is entry 3 disabled in |info skip|? + gdb_test "info skip 3" \ + "3\\s+n\\s+n\\s+$srcfile1\\s+n\\s+\\s*" \ + "info skip shows entry as disabled" + + if ![runto_main] { + fail "Can't run to main" + return + } + + gdb_test "step" "bar \\(\\) at.*" "step 1" + gdb_test "step" ".*" "step 2"; # Return from foo() + gdb_test "step" "foo \\(\\) at.*" "step 3" + gdb_test "step" ".*" "step 4"; # Return from bar() + gdb_test "step" "main \\(\\) at.*" "step 5" } -set test "step after disabling 3" -gdb_test "step" "bar \\(\\) at.*" "$test (1)" -gdb_test "step" ".*" "$test (2)"; # Return from foo() -gdb_test "step" "foo \\(\\) at.*" "$test (3)" -gdb_test "step" ".*" "$test (4)"; # Return from bar() -gdb_test "step" "main \\(\\) at.*" "$test (5)" # Enable skiplist entry 3 and make sure we step over it like before. -gdb_test "skip enable 3" -# Is entry 3 enabled in |info skip|? -gdb_test "info skip 3" \ - "3\\s+y\\s+n\\s+$srcfile1\\s+n\\s+\\s*" \ - "info skip shows entry as enabled" -if ![runto_main] { - fail "Can't run to main" - return +with_test_prefix "step after enable 3" { + gdb_test "skip enable 3" + # Is entry 3 enabled in |info skip|? + gdb_test "info skip 3" \ + "3\\s+y\\s+n\\s+$srcfile1\\s+n\\s+\\s*" \ + "info skip shows entry as enabled" + + if ![runto_main] { + fail "Can't run to main" + return + } + + gdb_test "step" "foo \\(\\) at.*" "step 1" + gdb_test "step" ".*" "step 2"; # Return from foo() + gdb_test "step" "main \\(\\) at.*" "step 3" } -set test "step after enable 3" -gdb_test "step" "foo \\(\\) at.*" "$test (1)" -gdb_test "step" ".*" "$test (2)"; # Return from foo() -gdb_test "step" "main \\(\\) at.*" "$test (3)" -gdb_test "skip disable" -gdb_test "info skip" \ - "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* +# Admin tests (disable,enable,delete). + +with_test_prefix "admin" { + gdb_test "skip disable" + gdb_test "info skip" \ + "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* 2\\s+n\\s+n\\s+\\s+n\\s+main\\s* 3\\s+n\\s+n\\s+$srcfile1\\s+n\\s+\\s* 4\\s+n\\s+n\\s+\\s+n\\s+baz\\s*" \ - "info skip after disabling all" + "info skip after disabling all" -gdb_test "skip enable" -gdb_test "info skip" \ - "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* + gdb_test "skip enable" + gdb_test "info skip" \ + "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* 2\\s+y\\s+n\\s+\\s+n\\s+main\\s* 3\\s+y\\s+n\\s+$srcfile1\\s+n\\s+\\s* 4\\s+y\\s+n\\s+\\s+n\\s+baz\\s*" \ - "info skip after enabling all" + "info skip after enabling all" -gdb_test "skip disable 4 2-3" -gdb_test "info skip" \ - "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* + gdb_test "skip disable 4 2-3" + gdb_test "info skip" \ + "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* 2\\s+n\\s+n\\s+\\s+n\\s+main\\s* 3\\s+n\\s+n\\s+$srcfile1\\s+n\\s+\\s* 4\\s+n\\s+n\\s+\\s+n\\s+baz\\s*" \ - "info skip after disabling 4 2-3" + "info skip after disabling 4 2-3" -gdb_test "skip enable 2-3" -gdb_test "info skip" \ - "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* + gdb_test "skip enable 2-3" + gdb_test "info skip" \ + "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* 2\\s+y\\s+n\\s+\\s+n\\s+main\\s* 3\\s+y\\s+n\\s+$srcfile1\\s+n\\s+\\s* 4\\s+n\\s+n\\s+\\s+n\\s+baz\\s*" \ - "info skip after enabling 2-3" + "info skip after enabling 2-3" -gdb_test "info skip 2-3" \ - "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* + gdb_test "info skip 2-3" \ + "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* 2\\s+y\\s+n\\s+\\s+n\\s+main\\s* 3\\s+y\\s+n\\s+$srcfile1\\s+n\\s+\\s*" \ - "info skip 2-3" + "info skip 2-3" -gdb_test "skip delete 2 3" -gdb_test "info skip" \ - "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* + gdb_test "skip delete 2 3" + gdb_test "info skip" \ + "Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s* 4\\s+n\\s+n\\s+\\s+n\\s+baz\\s*" \ - "info skip after deleting 2 3" + "info skip after deleting 2 3" -gdb_test "skip delete" -gdb_test "info skip" "Not skipping any files or functions\." \ - "info skip after deleting all" + gdb_test "skip delete" + gdb_test "info skip" "Not skipping any files or functions\." \ + "info skip after deleting all" +} # Now test skip -fi, etc.