[libcxx-commits] [libcxx] 122064a - [libcxx] [test] Add a test parameter for disabling memory intensive tests (#68214)
via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Oct 17 12:49:56 PDT 2023
Author: Martin Storsjö
Date: 2023-10-17T12:49:52-07:00
New Revision: 122064a6303eb9c06e0af231f5a4ce145d9a2e67
URL: https://github.com/llvm/llvm-project/commit/122064a6303eb9c06e0af231f5a4ce145d9a2e67
DIFF: https://github.com/llvm/llvm-project/commit/122064a6303eb9c06e0af231f5a4ce145d9a2e67.diff
LOG: [libcxx] [test] Add a test parameter for disabling memory intensive tests (#68214)
Specifically, the test std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp
allocates a std::string with INT_MAX-1 elements, and then writes this to
a std::stringstream. On Linux, running this test consumes around 5.0 GB
of memory; on Windows, it ends up using up to 6.8 GB of memory.
This limits whether such tests can run on e.g. GitHub Actions runners,
where the free runners are limited to 8 GB of memory.
This is somewhat similar to, but still notably different, from the
existing test parameter long_tests.
Added:
Modified:
libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp
libcxx/utils/libcxx/test/params.py
Removed:
################################################################################
diff --git a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp
index 3a5edac6c58b4fe..8dc74421e789590 100644
--- a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: 32-bit-pointer
+// REQUIRES: large_tests
// Test that tellp() does not break the stringstream after INT_MAX, due to use
// of pbump() that accept int.
diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py
index c3732560f5e469a..e34fd0387f4f5b3 100644
--- a/libcxx/utils/libcxx/test/params.py
+++ b/libcxx/utils/libcxx/test/params.py
@@ -276,6 +276,14 @@ def getStdFlag(cfg, std):
help="Whether to enable tests that take longer to run. This can be useful when running on a very slow device.",
actions=lambda enabled: [] if not enabled else [AddFeature("long_tests")],
),
+ Parameter(
+ name="large_tests",
+ choices=[True, False],
+ type=bool,
+ default=True,
+ help="Whether to enable tests that use a lot of memory. This can be useful when running on a device with limited amounts of memory.",
+ actions=lambda enabled: [] if not enabled else [AddFeature("large_tests")],
+ ),
Parameter(
name="hardening_mode",
choices=["unchecked", "hardened", "safe", "debug"],
More information about the libcxx-commits
mailing list