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)

Reply via email to