From patchwork Mon Feb 17 23:23:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 38194 Received: (qmail 86928 invoked by alias); 17 Feb 2020 23:23:43 -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 86919 invoked by uid 89); 17 Feb 2020 23:23:42 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.1 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.1 spammy=2020-02-18, 20200218, 17-02-2020, dirname X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 17 Feb 2020 23:23:41 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id C0B2CACAE; Mon, 17 Feb 2020 23:23:38 +0000 (UTC) Subject: Re: [PATCH][gdb/testsuite] Ignore pass/fail/unsupported in gdb-caching-proc.exp To: Simon Marchi , Tom Tromey Cc: gdb-patches@sourceware.org References: <20200213105754.GA22520@delia> <87imkapngd.fsf@tromey.com> <2319b744-2902-9c09-2448-450e40347c04@suse.de> From: Tom de Vries Message-ID: Date: Tue, 18 Feb 2020 00:23:37 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: X-IsSubscribed: yes On 17-02-2020 21:51, Simon Marchi wrote: > On 2020-02-13 10:02 a.m., Tom de Vries wrote: >> On 13-02-2020 15:32, Tom Tromey wrote: >>>>>>>> "Tom" == Tom de Vries writes: >>> >>> Tom> 2020-02-13 Tom de Vries >>> >>> Tom> * gdb.base/gdb-caching-proc.exp (ignore_pass, ignore_fail) >>> Tom> (ignore_unsupported): New proc. >>> Tom> (test_proc): Temporarily rename pass/fail/ignore to >>> Tom> ignore_{pass,fail,ignore} in order to ignore PASS/FAIL/IGNORE messages >>> Tom> from the tested procs. >>> >>> Can we just require that caching proc bodies not invoke tests? >>> >> >> We could, I don't have preference one way or the other. >> >> If I remove all the fail calls from gnat_runtime_has_debug_info, we >> still get these PASSes from gdb_compile_ada: >> ... >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: compilation gnat_debug_info_test.adb >> PASS: gdb.base/gdb-caching-proc.exp: gnat_runtime_has_debug_info consistency >> ... >> >> But we can factor that out, I've already done that once here ( >> https://sourceware.org/ml/gdb-patches/2019-10/msg01109.html ). >> >> Simon, WDYT? >> >> Thanks, >> - Tom >> > > If you can indeed do that, I think it would be best. Done. Ok for trunk? Thanks, - Tom [gdb/testsuite] Don't pass/fail in gnat_runtime_has_debug_info After de-installing gnatmake, I get: ... Running src/gdb/testsuite/gdb.base/gdb-caching-proc.exp ... FAIL: gdb-caching-proc.exp: failed to compile gnat-debug-info test binary ... FAIL: gdb-caching-proc.exp: failed to compile gnat-debug-info test binary ... In gdb.sum, we see these FAILs (each paired with an UNSUPPORTED as well) followed by: ... PASS: gdb-caching-proc.exp: gnat_runtime_has_debug_info consistency ... Fix this by removing the fail calls in gnat_runtime_has_debug_info, as well as using a new variant gdb_compile_ada_1 that doesn't call pass. Tested on x86_64-linux, with gnatmake installed and de-installed. gdb/testsuite/ChangeLog: 2020-02-18 Tom de Vries * lib/ada.exp (gdb_compile_ada_1): Factor out of ... (gdb_compile_ada): ... here. (gnat_runtime_has_debug_info): Remove fail calls. Use gdb_compile_ada_1 instead of gdb_compile_ada. --- gdb/testsuite/lib/ada.exp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/lib/ada.exp b/gdb/testsuite/lib/ada.exp index 9933cc951e..0689eeb239 100644 --- a/gdb/testsuite/lib/ada.exp +++ b/gdb/testsuite/lib/ada.exp @@ -52,9 +52,9 @@ proc target_compile_ada_from_dir {builddir source dest type options} { return -options $options $result } -# Compile some Ada code. +# Compile some Ada code. Return "" if the compile was successful. -proc gdb_compile_ada {source dest type options} { +proc gdb_compile_ada_1 {source dest type options} { set srcdir [file dirname $source] set gprdir [file dirname $srcdir] @@ -80,6 +80,15 @@ proc gdb_compile_ada {source dest type options} { # We therefore simply check whether the dest file has been created # or not. Unless not present, the build has succeeded. if [file exists $dest] { set result "" } + return $result +} + +# Compile some Ada code. Generate "PASS: foo.exp: compilation SOURCE" if the +# compile was successful. + +proc gdb_compile_ada {source dest type options} { + set result [gdb_compile_ada_1 $source $dest $type $options] + gdb_compile_test $source $result return $result } @@ -162,15 +171,13 @@ gdb_caching_proc gnat_runtime_has_debug_info { set src "$srcdir/lib/gnat_debug_info_test.adb" set dst [standard_output_file "gnat_debug_info_test"] - if { [gdb_compile_ada $src $dst executable {debug}] != "" } { - fail "failed to compile gnat-debug-info test binary" + if { [gdb_compile_ada_1 $src $dst executable {debug}] != "" } { return 0 } clean_restart $dst if { ! [runto "GNAT_Debug_Info_Test"] } { - fail "failed to run to GNAT_Debug_Info_Test" return 0 } @@ -183,7 +190,6 @@ gdb_caching_proc gnat_runtime_has_debug_info { } default { # Some other unexpected output... - fail $gdb_test_name } }