[libcxx-commits] [libcxx] [libcxxabi] [libcxx][test] Disable large_tests for picolib builds (PR #103930)
David Spickett via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Aug 14 06:16:02 PDT 2024
https://github.com/DavidSpickett created https://github.com/llvm/llvm-project/pull/103930
We had a few xfails due to memory limitations, so we should use the existing large_tests feature instead, and disable it for picolib runs.
There is one existing test, stringstream.members/gcount.pass.cpp, which requires large_tests. However it is also unsupported on 32 bit platforms, so we don't lose any coverage there.
>From 6c77177e3c08a9be95b8fba0f05299d9556106bd Mon Sep 17 00:00:00 2001
From: David Spickett <david.spickett at linaro.org>
Date: Wed, 14 Aug 2024 13:12:08 +0000
Subject: [PATCH] [libcxx][test] Disable large_tests for picolib builds
We had a few xfails due to memory limitations, so we should use the
existing large_tests feature instead, and disable it for picolib runs.
There is one existing test, stringstream.members/gcount.pass.cpp,
which requires large_tests. However it is also unsupported on 32 bit platforms,
so we don't lose any coverage there.
---
libcxx/cmake/caches/Armv7M-picolibc.cmake | 3 ++-
.../simd/simd.reference/reference_assignment.pass.cpp | 3 +--
libcxxabi/test/test_demangle.pass.cpp | 3 +--
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/libcxx/cmake/caches/Armv7M-picolibc.cmake b/libcxx/cmake/caches/Armv7M-picolibc.cmake
index b5f9089308d22e..705e408ba2c760 100644
--- a/libcxx/cmake/caches/Armv7M-picolibc.cmake
+++ b/libcxx/cmake/caches/Armv7M-picolibc.cmake
@@ -30,7 +30,8 @@ set(LIBCXX_ENABLE_THREADS OFF CACHE BOOL "")
set(LIBCXX_ENABLE_WIDE_CHARACTERS OFF CACHE BOOL "")
set(LIBCXX_INCLUDE_BENCHMARKS OFF CACHE BOOL "")
# Long tests are prohibitively slow when run via emulation.
-set(LIBCXX_TEST_PARAMS "long_tests=False" CACHE STRING "")
+# Large tests won't fit in the memory of the emulated machine.
+set(LIBCXX_TEST_PARAMS "long_tests=False;large_tests=False" CACHE STRING "")
set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
set(LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "")
set(LIBUNWIND_ENABLE_STATIC ON CACHE BOOL "")
diff --git a/libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp b/libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
index 013adb36859352..2d5e73dfbe027d 100644
--- a/libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
+++ b/libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
@@ -8,8 +8,7 @@
// UNSUPPORTED: c++03, c++11, c++14
-// The machine emulated in tests does not have enough memory for code.
-// UNSUPPORTED: LIBCXX-PICOLIBC-FIXME
+// REQUIRES: large_tests
// <experimental/simd>
//
diff --git a/libcxxabi/test/test_demangle.pass.cpp b/libcxxabi/test/test_demangle.pass.cpp
index ab783cf9d96f22..d9ab119baff8ab 100644
--- a/libcxxabi/test/test_demangle.pass.cpp
+++ b/libcxxabi/test/test_demangle.pass.cpp
@@ -6,8 +6,7 @@
//
//===----------------------------------------------------------------------===//
-// This test is too big for most embedded devices.
-// XFAIL: LIBCXX-PICOLIBC-FIXME
+// REQUIRES: large_tests
// https://llvm.org/PR51407 was not fixed in some previously-released
// demanglers, which causes them to run into the infinite loop.
More information about the libcxx-commits
mailing list