From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 73881 invoked by alias); 3 Mar 2016 16:07:35 -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 73016 invoked by uid 89); 3 Mar 2016 16:07:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=Admin, our X-HELO: usplmg20.ericsson.net Received: from usplmg20.ericsson.net (HELO usplmg20.ericsson.net) (198.24.6.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Thu, 03 Mar 2016 16:07:33 +0000 Received: from EUSAAHC008.ericsson.se (Unknown_Domain [147.117.188.96]) by usplmg20.ericsson.net (Symantec Mail Security) with SMTP id EC.D7.12433.3BC58D65; Thu, 3 Mar 2016 16:48:03 +0100 (CET) Received: from [142.133.110.144] (147.117.188.8) by smtp-am.internal.ericsson.com (147.117.188.98) with Microsoft SMTP Server id 14.3.248.2; Thu, 3 Mar 2016 11:07:30 -0500 Subject: Re: [PATCH] cleanup skip.exp, make test names unique To: Doug Evans , References: <001a11426f264ea88f052d192a10@google.com> From: Simon Marchi Message-ID: <56D86142.4040200@ericsson.com> Date: Thu, 03 Mar 2016 16:07:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <001a11426f264ea88f052d192a10@google.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2016-03/txt/msg00048.txt.bz2 On 16-03-02 06:23 PM, Doug Evans wrote: > 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. > > 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. > > @@ -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() > FYI, your patch does not apply cleanly, I think it has some long lines wrapped. But otherwise it looks good to me.