test: move api buildroot test to test_buildroot.py
Create a new test suite for BuildRoot related test and move the the combined api and buildroot check there.
This commit is contained in:
parent
41cf4bf2d3
commit
28cea491bd
2 changed files with 48 additions and 28 deletions
|
|
@ -2,15 +2,11 @@
|
||||||
# Test for API infrastructure
|
# Test for API infrastructure
|
||||||
#
|
#
|
||||||
|
|
||||||
import pathlib
|
|
||||||
import os
|
import os
|
||||||
import sys
|
|
||||||
import tempfile
|
import tempfile
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import osbuild
|
import osbuild
|
||||||
from osbuild.buildroot import BuildRoot
|
|
||||||
from osbuild.monitor import NullMonitor
|
|
||||||
from osbuild.util import jsoncomm
|
from osbuild.util import jsoncomm
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -69,27 +65,3 @@ class TestAPI(unittest.TestCase):
|
||||||
with self.assertRaises(AssertionError):
|
with self.assertRaises(AssertionError):
|
||||||
with api:
|
with api:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def test_buildroot(self):
|
|
||||||
# Check API and BuildRoot integration: the runner will call
|
|
||||||
# api.setup_stdio and thus check that connecting to the api
|
|
||||||
# works correctly
|
|
||||||
runner = "org.osbuild.linux"
|
|
||||||
libdir = os.path.abspath(os.curdir)
|
|
||||||
var = pathlib.Path(self.tmp.name, "var")
|
|
||||||
var.mkdir()
|
|
||||||
|
|
||||||
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/true"])
|
|
||||||
self.assertEqual(r.returncode, 0)
|
|
||||||
|
|
||||||
# Test we can use `.run` multiple times
|
|
||||||
r = root.run(["/usr/bin/true"])
|
|
||||||
self.assertEqual(r.returncode, 0)
|
|
||||||
|
|
||||||
r = root.run(["/usr/bin/false"])
|
|
||||||
self.assertNotEqual(r.returncode, 0)
|
|
||||||
|
|
|
||||||
48
test/mod/test_buildroot.py
Normal file
48
test/mod/test_buildroot.py
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
#
|
||||||
|
# Test for the build root
|
||||||
|
#
|
||||||
|
|
||||||
|
import pathlib
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
import osbuild
|
||||||
|
from osbuild.buildroot import BuildRoot
|
||||||
|
from osbuild.monitor import NullMonitor
|
||||||
|
from .. import test
|
||||||
|
|
||||||
|
|
||||||
|
@unittest.skipUnless(test.TestBase.can_bind_mount(), "root-only")
|
||||||
|
class TestBuildRoot(test.TestBase):
|
||||||
|
"""Check BuildRoot"""
|
||||||
|
def setUp(self):
|
||||||
|
self.tmp = tempfile.TemporaryDirectory()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
self.tmp.cleanup()
|
||||||
|
|
||||||
|
def test_basic(self):
|
||||||
|
# This also checks the API and BuildRoot integration:
|
||||||
|
# the runner will call api.setup_stdio and thus check
|
||||||
|
# that connecting to the api works correctly
|
||||||
|
runner = "org.osbuild.linux"
|
||||||
|
libdir = os.path.abspath(os.curdir)
|
||||||
|
var = pathlib.Path(self.tmp.name, "var")
|
||||||
|
var.mkdir()
|
||||||
|
|
||||||
|
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/true"])
|
||||||
|
self.assertEqual(r.returncode, 0)
|
||||||
|
|
||||||
|
# Test we can use `.run` multiple times
|
||||||
|
r = root.run(["/usr/bin/true"])
|
||||||
|
self.assertEqual(r.returncode, 0)
|
||||||
|
|
||||||
|
r = root.run(["/usr/bin/false"])
|
||||||
|
self.assertNotEqual(r.returncode, 0)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue