コード例 #1
0
 def test_target_task_set(self):
     "The target_task_set property has the targeted tasks"
     self.tgg = self.maketgg(["_fake-t-1"])
     self.assertEqual(self.tgg.target_task_set.graph,
                      graph.Graph({"_fake-t-1"}, set()))
     self.assertEqual(set(six.iterkeys(self.tgg.target_task_set.tasks)),
                      {"_fake-t-1"})
コード例 #2
0
 def test_full_task_set(self):
     "The full_task_set property has all tasks"
     self.tgg = self.maketgg()
     self.assertEqual(self.tgg.full_task_set.graph,
                      graph.Graph({'_fake-t-0', '_fake-t-1', '_fake-t-2'}, set()))
     self.assertEqual(sorted(self.tgg.full_task_set.tasks.keys()),
                      sorted(['_fake-t-0', '_fake-t-1', '_fake-t-2']))
コード例 #3
0
 def test_target_task_set(self):
     "The target_task_set property has the targeted tasks"
     self.tgg = self.maketgg(['_fake-t-1'])
     self.assertEqual(self.tgg.target_task_set.graph,
                      graph.Graph({'_fake-t-1'}, set()))
     self.assertEqual(self.tgg.target_task_set.tasks.keys(),
                      ['_fake-t-1'])
コード例 #4
0
 def test_target_task_graph(self):
     "The target_task_graph property has the targeted tasks and deps"
     self.tgg = self.maketgg(['_fake-t-1'])
     self.assertEqual(self.tgg.target_task_graph.graph,
                      graph.Graph({'_fake-t-0', '_fake-t-1'},
                                  {('_fake-t-1', '_fake-t-0', 'prev')}))
     self.assertEqual(sorted(self.tgg.target_task_graph.tasks.keys()),
                      sorted(['_fake-t-0', '_fake-t-1']))
コード例 #5
0
 def test_optimized_task_graph(self):
     "The optimized task graph contains task ids"
     self.tgg = self.maketgg(['_fake-t-2'])
     tid = self.tgg.label_to_taskid
     self.assertEqual(
         self.tgg.optimized_task_graph.graph,
         graph.Graph({tid['_fake-t-0'], tid['_fake-t-1'], tid['_fake-t-2']}, {
             (tid['_fake-t-1'], tid['_fake-t-0'], 'prev'),
             (tid['_fake-t-2'], tid['_fake-t-1'], 'prev'),
         }))
コード例 #6
0
 def test_full_task_set(self):
     "The full_task_set property has all tasks"
     self.tgg = self.maketgg()
     self.assertEqual(
         self.tgg.full_task_set.graph,
         graph.Graph({"_fake-t-0", "_fake-t-1", "_fake-t-2"}, set()),
     )
     self.assertEqual(
         sorted(self.tgg.full_task_set.tasks.keys()),
         sorted(["_fake-t-0", "_fake-t-1", "_fake-t-2"]),
     )
コード例 #7
0
ファイル: test_generator.py プロジェクト: soufianos01/juggler
 def test_full_task_graph(self):
     "The full_task_graph property has all tasks, and links"
     self.tgg = self.maketgg()
     self.assertEqual(
         self.tgg.full_task_graph.graph,
         graph.Graph({'_fake-t-0', '_fake-t-1', '_fake-t-2'}, {
             ('_fake-t-1', '_fake-t-0', 'prev'),
             ('_fake-t-2', '_fake-t-1', 'prev'),
         }))
     self.assertEqual(sorted(self.tgg.full_task_graph.tasks.keys()),
                      sorted(['_fake-t-0', '_fake-t-1', '_fake-t-2']))
コード例 #8
0
def make_graph(*tasks_and_edges, **kwargs):
    tasks = {t.label: t for t in tasks_and_edges if isinstance(t, Task)}
    edges = {e for e in tasks_and_edges if not isinstance(e, Task)}
    tg = TaskGraph(tasks, graph.Graph(set(tasks), edges))

    if kwargs.get("deps", True):
        # set dependencies based on edges
        for l, r, name in tg.graph.edges:
            tg.tasks[l].dependencies[name] = r

    return tg
コード例 #9
0
 def test_target_task_graph(self):
     "The target_task_graph property has the targeted tasks and deps"
     self.tgg = self.maketgg(["_fake-t-1"])
     self.assertEqual(
         self.tgg.target_task_graph.graph,
         graph.Graph({"_fake-t-0", "_fake-t-1"},
                     {("_fake-t-1", "_fake-t-0", "prev")}),
     )
     self.assertEqual(
         sorted(self.tgg.target_task_graph.tasks.keys()),
         sorted(["_fake-t-0", "_fake-t-1"]),
     )
コード例 #10
0
ファイル: test_optimize.py プロジェクト: wenshiqi0/gecko-dev
 def test_optimize(self):
     "optimize_task_graph annotates and extracts the subgraph from a simple graph"
     input = self.make_graph(
         self.make_task('task1', ['optimize-to-task', 'dep1']),
         self.make_task('task2', ['no-optimize']),
         self.make_task('task3', ['no-optimize']),
         ('task2', 'task1', 'build'),
         ('task2', 'task3', 'image'),
     )
     opt, label_to_taskid = optimize_task_graph(input, {}, set())
     self.assertEqual(opt.graph, graph.Graph(
         {label_to_taskid['task2'], label_to_taskid['task3']},
         {(label_to_taskid['task2'], label_to_taskid['task3'], 'image')}))
コード例 #11
0
 def test_optimized_task_graph(self):
     "The optimized task graph contains task ids"
     self.tgg = self.maketgg(["_fake-t-2"])
     tid = self.tgg.label_to_taskid
     self.assertEqual(
         self.tgg.optimized_task_graph.graph,
         graph.Graph(
             {tid["_fake-t-0"], tid["_fake-t-1"], tid["_fake-t-2"]},
             {
                 (tid["_fake-t-1"], tid["_fake-t-0"], "prev"),
                 (tid["_fake-t-2"], tid["_fake-t-1"], "prev"),
             },
         ),
     )
コード例 #12
0
 def test_full_task_graph(self):
     "The full_task_graph property has all tasks, and links"
     self.tgg = self.maketgg()
     self.assertEqual(
         self.tgg.full_task_graph.graph,
         graph.Graph(
             {"_fake-t-0", "_fake-t-1", "_fake-t-2"},
             {
                 ("_fake-t-1", "_fake-t-0", "prev"),
                 ("_fake-t-2", "_fake-t-1", "prev"),
             },
         ),
     )
     self.assertEqual(
         sorted(self.tgg.full_task_graph.tasks.keys()),
         sorted(["_fake-t-0", "_fake-t-1", "_fake-t-2"]),
     )
コード例 #13
0
def make_opt_graph(*tasks_and_edges):
    tasks = {t.task_id: t for t in tasks_and_edges if isinstance(t, Task)}
    edges = {e for e in tasks_and_edges if not isinstance(e, Task)}
    return TaskGraph(tasks, graph.Graph(set(tasks), edges))
コード例 #14
0
 def make_graph(self, *tasks_and_edges):
     tasks = {t.label: t for t in tasks_and_edges if isinstance(t, Task)}
     edges = {e for e in tasks_and_edges if not isinstance(e, Task)}
     return TaskGraph(tasks, graph.Graph(set(tasks), edges))