From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from rock.gnat.com (rock.gnat.com [IPv6:2620:20:4000:0:a9e:1ff:fe9b:1d1]) by sourceware.org (Postfix) with ESMTPS id E9B2438582A3; Thu, 23 Jun 2022 11:21:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E9B2438582A3 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 7D6D41161BE; Thu, 23 Jun 2022 07:21:30 -0400 (EDT) X-Virus-Scanned: Debian amavisd-new at gnat.com Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id fM44UGj7vKJc; Thu, 23 Jun 2022 07:21:30 -0400 (EDT) Received: from free.home (tron.gnat.com [IPv6:2620:20:4000:0:46a8:42ff:fe0e:e294]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by rock.gnat.com (Postfix) with ESMTPS id 1F7161160D4; Thu, 23 Jun 2022 07:21:29 -0400 (EDT) Received: from livre (livre.home [172.31.160.2]) by free.home (8.15.2/8.15.2) with ESMTPS id 25NBLITq762855 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 23 Jun 2022 08:21:19 -0300 From: Alexandre Oliva To: Jonathan Wakely Cc: Sebastian Huber , "libstdc++" , gcc Patches , RTEMS Subject: Re: [PATCH] libstdc++: testsuite: fs rename to self may fail Organization: Free thinker, does not speak for AdaCore References: <4fe20709-e617-7644-175c-bd49b52dc6c2@embedded-brains.de> Errors-To: aoliva@lxoliva.fsfla.org Date: Thu, 23 Jun 2022 08:21:18 -0300 In-Reply-To: (Jonathan Wakely's message of "Thu, 23 Jun 2022 10:25:35 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.84 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jun 2022 11:21:33 -0000 On Jun 23, 2022, Jonathan Wakely wrote: > On Thu, 23 Jun 2022 at 07:26, Alexandre Oliva wrote: >> Would a patch to add: >> >> // { dg-xfail-if "::rename is not POSIX-compliant" { target *-*-rtems* } } >> >> to rename.cc tests be acceptable? > Yes, I think that's definitely the way to go. The "target" above shouldn't have been there, and the :: appears to get tcl/expect/dejagnu confused. Here's the patch. Regstrapped on x86_64-linux-gnu, also tested with a cross to aarch64-rtems6. Ok to install? libstdc++: xfail rename tests on rtems ::rename on RTEMS does not meet several POSIX requirements, despite compliance with C and C++ standards. ::std::filesystem::rename, in turn, has requirements borrowed from POSIX, so it would have to be a lot more than a simple wrapper around ::rename on RTEMS, and even then fall short. Until RTEMS reimplements ::rename for POSIX compliance, expect filesystem rename tests to fail on it. for libstdc++-v3/ChangeLog * testsuite/27_io/filesystem/operations/rename.cc: xfail on rtems. * testsuite/experimental/filesystem/operations/rename.cc: Likewise. --- .../27_io/filesystem/operations/rename.cc | 1 + .../experimental/filesystem/operations/rename.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/rename.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/rename.cc index b74e1133a7618..62543158e5241 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/rename.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/rename.cc @@ -17,6 +17,7 @@ // { dg-do run { target c++17 } } // { dg-require-filesystem-ts "" } +// { dg-xfail-if "rename is not POSIX-compliant" { *-*-rtems* } } #include #include diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/rename.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/rename.cc index 37e743b770fdf..3c501757bff17 100644 --- a/libstdc++-v3/testsuite/experimental/filesystem/operations/rename.cc +++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/rename.cc @@ -18,6 +18,7 @@ // { dg-options "-DUSE_FILESYSTEM_TS -lstdc++fs" } // { dg-do run { target c++11 } } // { dg-require-filesystem-ts "" } +// { dg-xfail-if "rename is not POSIX-compliant" { *-*-rtems* } } #include #include -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about