From 3958a6140caae9f0948bdd7b0f99d3b33d0b231b Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Mon, 6 Dec 2021 16:02:35 +0000 Subject: [PATCH] test/buildroot: test timeout at the `run` level Check the timeout functionality at the `Buildroot.run` level not at the `read_with_timeout` level, which is an implementation detail. --- test/mod/test_buildroot.py | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/test/mod/test_buildroot.py b/test/mod/test_buildroot.py index 0d876a92..b105cd5a 100644 --- a/test/mod/test_buildroot.py +++ b/test/mod/test_buildroot.py @@ -4,10 +4,7 @@ import pathlib import os -import select -import subprocess import sys -import time from tempfile import TemporaryDirectory @@ -176,21 +173,14 @@ def test_timeout(tempdir): var = pathlib.Path(tempdir, "var") var.mkdir() + monitor = NullMonitor(sys.stderr.fileno()) + with BuildRoot("/", runner, libdir, var) as root: - READ_ONLY = select.POLLIN | select.POLLPRI | select.POLLHUP | select.POLLERR - poller = select.poll() + root.run(["/bin/sleep", "1"], monitor, timeout=2) - proc = subprocess.Popen(['python3', libdir + '/stages/org.osbuild.test.timeout'], stdout = subprocess.PIPE) - start = time.monotonic() - timeout = 4 - poller.register(proc.stdout.fileno(), READ_ONLY) with pytest.raises(TimeoutError): - root.read_with_timeout(proc, poller, start, timeout) + root.run(["/bin/sleep", "1"], monitor, timeout=0.1) - proc = subprocess.Popen(['python3', libdir + '/stages/org.osbuild.test.timeout'], stdout = subprocess.PIPE) - start = time.monotonic() - timeout = 0 - poller.register(proc.stdout.fileno(), READ_ONLY) with pytest.raises(TimeoutError): - root.read_with_timeout(proc, poller, start, timeout) + root.run(["/bin/sleep", "1"], monitor, timeout=0.1)