From 1f71c033756d6320512bce3b1844fcb1b4381ab3 Mon Sep 17 00:00:00 2001 From: Simon Rose <simon.rose@ess.eu> Date: Tue, 22 Mar 2022 13:53:09 +0100 Subject: [PATCH] Two more tests * One test to catch invalid dependencies * One test to catch architecture-dependent dependencies. Note that this itself does depend on the underlying architecture, which probably should be improved. But at the moment we only build for linux-based architectures, so this should be ok. --- tests/test_build.py | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/tests/test_build.py b/tests/test_build.py index 21e64be6..03225125 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -190,6 +190,54 @@ def test_automated_dependency(wrappers): assert f"{wrapper_b.name} {module_version}" == contents[1] +def test_missing_dependency(wrappers): + wrapper_a = wrappers.get() + wrapper_b = wrappers.get() + + wrapper_a.add_var_to_config_module(f"{wrapper_b.name}_DEP_VERSION", "bar") + + rc, _, errs = wrapper_a.run_make("build") + assert rc == 0 + assert f'Invalid dependency "{wrapper_b.name}_DEP_VERSION"; pruning' in errs + + +def test_architecture_dependent_dependency(wrappers): + wrapper_a = wrappers.get() + wrapper_b = wrappers.get() + wrapper_c = wrappers.get() + + cell_path = wrapper_a.path / "cellMods" + + module_version = "0.0.0+0" + + wrapper_a.add_var_to_config_module( + f"{wrapper_b.name}_DEP_VERSION_linux", module_version + ) + wrapper_a.add_var_to_config_module( + f"{wrapper_c.name}_DEP_VERSION_not_an_arch", module_version + ) + + rc, *_ = wrapper_c.run_make( + "cellinstall", module_version=module_version, cell_path=cell_path + ) + assert rc == 0 + rc, *_ = wrapper_b.run_make( + "cellinstall", module_version=module_version, cell_path=cell_path + ) + assert rc == 0 + rc, *_ = wrapper_a.run_make( + "cellinstall", module_version=module_version, cell_path=cell_path + ) + assert rc == 0 + + rc, outs, _ = run_ioc_get_output( + wrapper_a.name, module_version, wrapper_a.path / "cellMods" + ) + assert rc == 0 + assert f"Loaded {wrapper_b.name} version {module_version}" in outs + assert f"Loaded {wrapper_c.name} version {module_version}" not in outs + + def test_recursive_header_include(wrappers): wrapper_a = wrappers.get() wrapper_b = wrappers.get() -- GitLab