From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) by sourceware.org (Postfix) with ESMTPS id 64960384F6FC for ; Fri, 18 Nov 2022 10:32:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 64960384F6FC Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=foss.st.com Received: from pps.filterd (m0288072.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2AI8OSZ0015712; Fri, 18 Nov 2022 11:32:50 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=selector1; bh=GlvuYSfEkShPvst+dV/hKYo4rZDTotYQGEfquVW98oU=; b=a/DGTeJdmfFr2vXb4jj8/e2AvsQgSGOOc0a84aLaMUTT523dZ5xpTCRS6R+3SdtXpFQS G5m3N/StRKcUyNimlsKKCiv8ItluHlsooHWRBiugSHQy4Xna7T8jI71Hf8S4QWgv/NdX ip9K8YkXlhUcBujT3HrlN1LB2SyuGbyxX2esh0lB3PIB09RyLZwkfJk+203NT3GLsHGL cXNcQKk47T98yFduTjqPIlb7fiOtgVgHKTb/WV6gWoDbv8Z//xRb9c0h1g5lat8W7C21 ioA5IPwe/GOjqBbVMf9ODOmmPBbvfpqntkA6/Btt4V/zfUlsbWHRKVQq2j9HCpi5RXiH kA== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3kx0ph2v6e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 18 Nov 2022 11:32:50 +0100 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 76C5710002A; Fri, 18 Nov 2022 11:32:43 +0100 (CET) Received: from Webmail-eu.st.com (shfdag1node3.st.com [10.75.129.71]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id AD9A821ED33; Fri, 18 Nov 2022 11:32:43 +0100 (CET) Received: from [10.252.28.208] (10.252.28.208) by SHFDAG1NODE3.st.com (10.75.129.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.6; Fri, 18 Nov 2022 11:32:42 +0100 Message-ID: <5df5e19b-2224-1bce-ac4e-052397e2d362@foss.st.com> Date: Fri, 18 Nov 2022 11:32:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: PING^5 [PATCH] testsuite: Verify that module-mapper is available Content-Language: en-US To: Richard Biener CC: , , References: <20220923120331.4136741-1-torbjorn.svensson@foss.st.com> <7e6bb5c3-3fae-6cfd-e0e1-8e295045f4b7@foss.st.com> <854beb3d-7553-af23-cd38-819cabf21896@foss.st.com> <81cd87f1-8125-faf4-1617-f00b230720ed@foss.st.com> From: Torbjorn SVENSSON In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.252.28.208] X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To SHFDAG1NODE3.st.com (10.75.129.71) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-17_06,2022-11-18_01,2022-06-22_01 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,GIT_PATCH_0,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2022-11-18 09:14, Richard Biener wrote: > On Thu, Nov 17, 2022 at 6:09 PM Torbjorn SVENSSON via Gcc-patches > wrote: >> >> Hi, >> >> Ping, https://gcc.gnu.org/pipermail/gcc-patches/2022-November/604895.html >> >> Ok for trunk? > > OK. Pushed. > >> Kind regards, >> Torbjörn >> >> On 2022-11-02 19:13, Torbjorn SVENSSON wrote: >>> Hi, >>> >>> Ping, https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602844.html >>> >>> Ok for trunk? >>> >>> Kind regards, >>> Torbjörn >>> >>> On 2022-10-25 16:24, Torbjorn SVENSSON via Gcc-patches wrote: >>>> Hi, >>>> >>>> Ping, https://gcc.gnu.org/pipermail/gcc-patches/2022-October/603544.html >>>> >>>> Kind regards, >>>> Torbjörn >>>> >>>> On 2022-10-14 09:42, Torbjorn SVENSSON wrote: >>>>> Hi, >>>>> >>>>> Ping, https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602843.html >>>>> >>>>> Kind regards, >>>>> Torbjörn >>>>> >>>>> On 2022-10-05 11:17, Torbjorn SVENSSON wrote: >>>>>> Hi, >>>>>> >>>>>> Ping, >>>>>> https://gcc.gnu.org/pipermail/gcc-patches/2022-September/602111.html >>>>>> >>>>>> Kind regards, >>>>>> Torbjörn >>>>>> >>>>>> On 2022-09-23 14:03, Torbjörn SVENSSON wrote: >>>>>>> For some test cases, it's required that the optional module mapper >>>>>>> "g++-mapper-server" is built. As the server is not required, the >>>>>>> test cases will fail if it can't be found. >>>>>>> >>>>>>> gcc/testsuite/ChangeLog: >>>>>>> >>>>>>> * lib/target-supports.exp (check_is_prog_name_available): >>>>>>> New. >>>>>>> * lib/target-supports-dg.exp >>>>>>> (dg-require-prog-name-available): New. >>>>>>> * g++.dg/modules/modules.exp: Verify avilability of module >>>>>>> mapper. >>>>>>> >>>>>>> Signed-off-by: Torbjörn SVENSSON >>>>>>> --- >>>>>>> gcc/testsuite/g++.dg/modules/modules.exp | 31 >>>>>>> ++++++++++++++++++++++++ >>>>>>> gcc/testsuite/lib/target-supports-dg.exp | 15 ++++++++++++ >>>>>>> gcc/testsuite/lib/target-supports.exp | 15 ++++++++++++ >>>>>>> 3 files changed, 61 insertions(+) >>>>>>> >>>>>>> diff --git a/gcc/testsuite/g++.dg/modules/modules.exp >>>>>>> b/gcc/testsuite/g++.dg/modules/modules.exp >>>>>>> index afb323d0efd..4784803742a 100644 >>>>>>> --- a/gcc/testsuite/g++.dg/modules/modules.exp >>>>>>> +++ b/gcc/testsuite/g++.dg/modules/modules.exp >>>>>>> @@ -279,6 +279,29 @@ proc module-init { src } { >>>>>>> return $option_list >>>>>>> } >>>>>>> +# Return 1 if requirements are met >>>>>>> +proc module-check-requirements { tests } { >>>>>>> + foreach test $tests { >>>>>>> + set tmp [dg-get-options $test] >>>>>>> + foreach op $tmp { >>>>>>> + switch [lindex $op 0] { >>>>>>> + "dg-additional-options" { >>>>>>> + # Example strings to match: >>>>>>> + # -fmodules-ts -fmodule-mapper=|@g++-mapper-server\\ >>>>>>> -t\\ [srcdir]/inc-xlate-1.map >>>>>>> + # -fmodules-ts -fmodule-mapper=|@g++-mapper-server >>>>>>> + if [regexp -- {(^| )-fmodule-mapper=\|@([^\\ ]*)} >>>>>>> [lindex $op 2] dummy dummy2 prog] { >>>>>>> + verbose "Checking that mapper exist: $prog" >>>>>>> + if { ![ check_is_prog_name_available $prog ] } { >>>>>>> + return 0 >>>>>>> + } >>>>>>> + } >>>>>>> + } >>>>>>> + } >>>>>>> + } >>>>>>> + } >>>>>>> + return 1 >>>>>>> +} >>>>>>> + >>>>>>> # cleanup any detritus from previous run >>>>>>> cleanup_module_files [find $DEFAULT_REPO *.gcm] >>>>>>> @@ -307,6 +330,14 @@ foreach src [lsort [find $srcdir/$subdir >>>>>>> {*_a.[CHX}]] { >>>>>>> set tests [lsort [find [file dirname $src] \ >>>>>>> [regsub {_a.[CHX]$} [file tail $src] >>>>>>> {_[a-z].[CHX]}]]] >>>>>>> + if { ![module-check-requirements $tests] } { >>>>>>> + set testcase [regsub {_a.[CH]} $src {}] >>>>>>> + set testcase \ >>>>>>> + [string range $testcase [string length "$srcdir/"] end] >>>>>>> + unsupported $testcase >>>>>>> + continue >>>>>>> + } >>>>>>> + >>>>>>> set std_list [module-init $src] >>>>>>> foreach std $std_list { >>>>>>> set mod_files {} >>>>>>> diff --git a/gcc/testsuite/lib/target-supports-dg.exp >>>>>>> b/gcc/testsuite/lib/target-supports-dg.exp >>>>>>> index aa2164bc789..6ce3b2b1a1b 100644 >>>>>>> --- a/gcc/testsuite/lib/target-supports-dg.exp >>>>>>> +++ b/gcc/testsuite/lib/target-supports-dg.exp >>>>>>> @@ -683,3 +683,18 @@ proc dg-require-symver { args } { >>>>>>> set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] >>>>>>> } >>>>>>> } >>>>>>> + >>>>>>> +# If this target does not provide prog named "$args", skip this test. >>>>>>> + >>>>>>> +proc dg-require-prog-name-available { args } { >>>>>>> + # The args are within another list; pull them out. >>>>>>> + set args [lindex $args 0] >>>>>>> + >>>>>>> + set prog [lindex $args 1] >>>>>>> + >>>>>>> + if { ![ check_is_prog_name_available $prog ] } { >>>>>>> + upvar dg-do-what dg-do-what >>>>>>> + set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] >>>>>>> + } >>>>>>> +} >>>>>>> + >>>>>>> diff --git a/gcc/testsuite/lib/target-supports.exp >>>>>>> b/gcc/testsuite/lib/target-supports.exp >>>>>>> index 703aba412a6..c3b7a6c17b3 100644 >>>>>>> --- a/gcc/testsuite/lib/target-supports.exp >>>>>>> +++ b/gcc/testsuite/lib/target-supports.exp >>>>>>> @@ -11928,3 +11928,18 @@ main: >>>>>>> .byte 0 >>>>>>> } ""] >>>>>>> } >>>>>>> + >>>>>>> +# Return 1 if this target has prog named "$prog", 0 otherwise. >>>>>>> + >>>>>>> +proc check_is_prog_name_available { prog } { >>>>>>> + global tool >>>>>>> + >>>>>>> + set options [list "additional_flags=-print-prog-name=$prog"] >>>>>>> + set output [lindex [${tool}_target_compile "" "" "none" >>>>>>> $options] 0] >>>>>>> + >>>>>>> + if { $output == $prog } { >>>>>>> + return 0 >>>>>>> + } >>>>>>> + >>>>>>> + return 1 >>>>>>> +}