def test_single_target(self): configuration = mockconfig.MockConfig({"foo": {}, "bar": {}}) order = _order_resolve( devpipeline_core.resolve.calculate_dependencies(["foo"], configuration, ["build"])) self.assertEqual(1, len(order)) self.assertEqual(order[0], "foo.build")
def test_multiple(self): configuration = mockconfig.MockConfig({"foo": {}, "bar": {}}) order = _order_resolve( devpipeline_core.resolve.calculate_dependencies(["foo", "bar"], configuration, ["build"])) self.assertEqual(2, len(order)) self.assertTrue("foo.build" in order) self.assertTrue("bar.build" in order)
def test_circular_deps(self): configuration = mockconfig.MockConfig({"b": {"depends": "b"}}) def _run_fn(): devpipeline_core.resolve.calculate_dependencies(["b"], configuration, ["build"]) self.assertRaises(devpipeline_core.resolve.CircularDependencyException, _run_fn)
def test_missing_component(self): configuration = mockconfig.MockConfig({}) def _run_fn(): devpipeline_core.resolve.calculate_dependencies(["foo"], configuration, ["build"]) self.assertRaises(devpipeline_core.resolve.MissingComponentsException, _run_fn)
def test_tool_null_join(self): configuration = mockconfig.MockConfig({"a": {"foo.a": "bar"}}) config = devpipeline_core.configinfo.ConfigInfo(_MockExecutor()) config.config = configuration.get("a") args = {"a": None} found_args = {} devpipeline_core.toolsupport.args_builder( "foo", config, args, _make_found_args(found_args) ) expected = {"a": "bar"} _compare(self, expected, found_args)
def test_linear_deps(self): configuration = mockconfig.MockConfig({ "a": {}, "b": { "depends.build": "a" }, "c": { "depends.build": "b" } }) order = _order_resolve( devpipeline_core.resolve._process_reverse(["a"], configuration, ["build"])) _test_order(self, ["a.build", "b.build", "c.build"], order)
def test_tool_bad_join(self): configuration = mockconfig.MockConfig({"a": {"foo.a": "bar,baz"}}) config = devpipeline_core.configinfo.ConfigInfo(_MockExecutor()) config.config = configuration.get("a") args = {"a": None} found_args = {} def _work(): devpipeline_core.toolsupport.args_builder( "foo", config, args, _make_found_args(found_args) ) self.assertRaises(Exception, _work)
def test_complex_deps(self): configuration = mockconfig.MockConfig({ "a": {}, "b": { "depends.build": "a" }, "c": { "depends.checkout": "b" } }) order = _order_resolve( devpipeline_core.resolve.calculate_dependencies( ["c"], configuration, ["checkout", "build"])) _test_order(self, ["b.checkout", "c.checkout", "c.build"], order)
def test_no_deps(self): configuration = mockconfig.MockConfig({ "a": {}, "b": { "depends.build": "a" }, "c": { "depends.build": "b" } }) order = _order_resolve( devpipeline_core.resolve._process_reverse(["c"], configuration, ["build"])) self.assertEqual(1, len(order)) self.assertEqual(order[0], "c.build")