From d028ea5b1691f5b5b866161e870ea3fb1eefb1fa Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Tue, 5 Jan 2021 20:02:36 +0100 Subject: [PATCH] stage: pass store instead of cache & var Instead of passing separate `cache` and `var` variables, which are both determined by the store, just pass the store. --- osbuild/pipeline.py | 19 ++++++------------- test/mod/test_osbuild.py | 10 +++++----- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/osbuild/pipeline.py b/osbuild/pipeline.py index 3270d1f0..52fcb2f3 100644 --- a/osbuild/pipeline.py +++ b/osbuild/pipeline.py @@ -54,15 +54,9 @@ class Stage: m.update(json.dumps(self.options, sort_keys=True).encode()) return m.hexdigest() - def run(self, - tree, - runner, - build_tree, - cache, - monitor, - libdir, - var="/var/tmp"): - with buildroot.BuildRoot(build_tree, runner, libdir, var=var) as build_root, \ + def run(self, tree, runner, build_tree, store, monitor, libdir): + var = store.store + with buildroot.BuildRoot(build_tree, runner, libdir, var) as build_root, \ tempfile.TemporaryDirectory(prefix="osbuild-sources-output-", dir=var) as sources_output: args = { @@ -84,7 +78,7 @@ class Stage: src = sources.SourcesServer(libdir, self.sources, - os.path.join(cache, "sources"), + os.path.join(store.store, "sources"), sources_output) build_root.register_api(src) @@ -231,10 +225,9 @@ class Pipeline: r = stage.run(path, self.runner, build_path, - object_store.store, + object_store, monitor, - libdir, - var=object_store.store) + libdir) monitor.result(r) diff --git a/test/mod/test_osbuild.py b/test/mod/test_osbuild.py index 9124aaee..a5f65b72 100644 --- a/test/mod/test_osbuild.py +++ b/test/mod/test_osbuild.py @@ -13,6 +13,7 @@ import osbuild import osbuild.meta from osbuild.formats import v1 as fmt from osbuild.monitor import NullMonitor +from osbuild.objectstore import ObjectStore from osbuild.pipeline import detect_host_runner from .. import test @@ -46,16 +47,15 @@ class TestDescriptions(unittest.TestCase): with tempfile.TemporaryDirectory() as tmpdir: data = pathlib.Path(tmpdir, "data") - cache = pathlib.Path(tmpdir, "cache") + storedir = pathlib.Path(tmpdir, "store") root = pathlib.Path("/") runner = detect_host_runner() monitor = NullMonitor(sys.stderr.fileno()) libdir = os.path.abspath(os.curdir) + store = ObjectStore(storedir) + data.mkdir() - for p in [data, cache]: - p.mkdir() - - res = stage.run(data, runner, root, cache, monitor, libdir) + res = stage.run(data, runner, root, store, monitor, libdir) self.assertEqual(res.success, True) self.assertEqual(res.id, stage.id)