コード例 #1
0
 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")
コード例 #2
0
 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)
コード例 #3
0
    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)
コード例 #4
0
    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)
コード例 #5
0
    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)
コード例 #6
0
 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)
コード例 #7
0
    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)
コード例 #8
0
 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)
コード例 #9
0
 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")