commit: 6055161b34274bf3fe8f3e4a15c1bf25bd65159d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 13 15:53:51 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 13 15:53:51 2025 +0000
URL: https://gitweb.gentoo.org/proj/steve.git/commit/?id=6055161b
Add a test for per-process limits
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
test/test_steve.py | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/test/test_steve.py b/test/test_steve.py
index 3612f4c..585c534 100644
--- a/test/test_steve.py
+++ b/test/test_steve.py
@@ -1,3 +1,4 @@
+import multiprocessing
import os
@@ -9,11 +10,33 @@ def test_basic(steve):
f.write(tokens)
+def non_blocking_read_test(path: Path) -> None:
+ with path.open("r+b") as f:
+ os.set_blocking(f.fileno(), False)
+ tokens = f.read(6)
+ assert len(tokens) == 5
+ assert f.read(1) is None
+ f.write(tokens)
+
+
def test_too_many(steve):
steve.start(["-j", "5"])
+ non_blocking_read_test(steve.dev_path)
+
+
+def test_per_process_limit(steve):
+ steve.start(["-j", "12", "-p", "5"])
with steve.dev_path.open("r+b") as f:
os.set_blocking(f.fileno(), False)
tokens = f.read(6)
assert len(tokens) == 5
assert f.read(1) is None
+
+ process = multiprocessing.Process(
+ target=non_blocking_read_test, args=(steve.dev_path,)
+ )
+ process.start()
+ process.join(10)
+ assert process.exitcode == 0
+
f.write(tokens)