From a3934ab947ffcb925f86c9870e7c865eacabe30d Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Fri, 28 Aug 2020 16:22:20 +0200 Subject: [PATCH] test/buildroot: check BuildRoot.output Now that the `org.osbuild.linux` runner does not use `api.setup_stdio` anymore, the output of the binary run from the BuildRoot must end up in `BuildRoot.output`. Check for that. --- test/mod/test_buildroot.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/test/mod/test_buildroot.py b/test/mod/test_buildroot.py index 451bb677..1f50d4ad 100644 --- a/test/mod/test_buildroot.py +++ b/test/mod/test_buildroot.py @@ -71,6 +71,24 @@ class TestBuildRoot(test.TestBase): assert r.output self.assertEqual(log, r.output) + def test_output(self): + runner = "org.osbuild.linux" + libdir = os.path.abspath(os.curdir) + var = pathlib.Path(self.tmp.name, "var") + var.mkdir() + + data = "42. cats are superior to dogs" + + monitor = NullMonitor(sys.stderr.fileno()) + with BuildRoot("/", runner, libdir=libdir, var=var) as root: + api = osbuild.api.API({}, monitor) + root.register_api(api) + + r = root.run(["/usr/bin/echo", data], monitor) + self.assertEqual(r.returncode, 0) + + self.assertEqual(data, r.output.strip()) + @unittest.skipUnless(test.TestBase.have_test_data(), "no test-data access") def test_bind_mounts(self): runner = "org.osbuild.linux"