[llvm] 87cca0c - [lit] Split Linux specific ulimit tests (#158390)

via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 14 00:04:15 PDT 2025


Author: Aiden Grossman
Date: 2025-09-14T00:04:11-07:00
New Revision: 87cca0c32c4e3ce51b53cf5c3ee0a430c1a6cb8f

URL: https://github.com/llvm/llvm-project/commit/87cca0c32c4e3ce51b53cf5c3ee0a430c1a6cb8f
DIFF: https://github.com/llvm/llvm-project/commit/87cca0c32c4e3ce51b53cf5c3ee0a430c1a6cb8f.diff

LOG: [lit] Split Linux specific ulimit tests (#158390)

Some of the ulimit limits do not work on some POSIX platforms. THe
motivating example here is ulimit -v on MacOS as the relevant system
calls are not implemented in XNU. Splitting the tests lets us keep test
coverage on POSIX (non-Linux) platforms.

Added: 
    llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/lit.cfg
    llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt
    llvm/utils/lit/tests/shtest-ulimit-nondarwin.py

Modified: 
    llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt
    llvm/utils/lit/tests/shtest-ulimit.py

Removed: 
    


################################################################################
diff  --git a/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/lit.cfg b/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/lit.cfg
new file mode 100644
index 0000000000000..c7bdc7e7b6bc0
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/lit.cfg
@@ -0,0 +1,8 @@
+import lit.formats
+
+config.name = "shtest-ulimit"
+config.suffixes = [".txt"]
+config.test_format = lit.formats.ShTest(execute_external=False)
+config.test_source_root = None
+config.test_exec_root = None
+config.substitutions.append(("%{python}", '"%s"' % (sys.executable)))

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt b/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt
new file mode 100644
index 0000000000000..dbdd0037e70a7
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt
@@ -0,0 +1,4 @@
+# RUN: ulimit -v 1048576
+# RUN: %{python} %S/../shtest-ulimit/print_limits.py
+# Fail the test so that we can assert on the output.
+# RUN: not echo return

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt b/llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt
index ad353b5d7c459..4edf1c303a092 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt
+++ b/llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt
@@ -1,4 +1,3 @@
-# RUN: ulimit -v 1048576
 # RUN: ulimit -n 50
 # RUN: %{python} %S/print_limits.py
 # Fail the test so that we can assert on the output.

diff  --git a/llvm/utils/lit/tests/shtest-ulimit-nondarwin.py b/llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
new file mode 100644
index 0000000000000..2661a2c8d6448
--- /dev/null
+++ b/llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
@@ -0,0 +1,13 @@
+# Check the ulimit command
+
+# ulimit does not work on non-POSIX platforms.
+# These tests are specific to options that Darwin does not support.
+# UNSUPPORTED: system-windows, system-darwin
+
+# RUN: not %{lit} -a -v %{inputs}/shtest-ulimit-nondarwin | FileCheck %s
+
+# CHECK: -- Testing: 1 tests{{.*}}
+
+# CHECK-LABEL: FAIL: shtest-ulimit :: ulimit_okay.txt ({{[^)]*}})
+# CHECK: ulimit -v 1048576
+# CHECK: RLIMIT_AS=1073741824

diff  --git a/llvm/utils/lit/tests/shtest-ulimit.py b/llvm/utils/lit/tests/shtest-ulimit.py
index b86578a21f661..15336d51ca3df 100644
--- a/llvm/utils/lit/tests/shtest-ulimit.py
+++ b/llvm/utils/lit/tests/shtest-ulimit.py
@@ -3,12 +3,6 @@
 # ulimit does not work on non-POSIX platforms.
 # UNSUPPORTED: system-windows
 
-# TODO(boomanaiden154): The test fails on some non-Linux POSIX
-# platforms (like MacOS) due to the underlying system not supporting
-# ulimit -v. This test needs to be carved up so we keep full test
-# coverage on Linux and as much as possible on other platforms.
-# REQUIRES: system-linux
-
 # RUN: not %{lit} -a -v %{inputs}/shtest-ulimit | FileCheck %s
 
 # CHECK: -- Testing: 2 tests{{.*}}
@@ -18,7 +12,5 @@
 # CHECK: 'ulimit' requires two arguments
 
 # CHECK-LABEL: FAIL: shtest-ulimit :: ulimit_okay.txt ({{[^)]*}})
-# CHECK: ulimit -v 1048576
 # CHECK: ulimit -n 50
-# CHECK: RLIMIT_AS=1073741824
 # CHECK: RLIMIT_NOFILE=50


        


More information about the llvm-commits mailing list