Beispiel #1
0
def test_proctree_getpaths(set1):
    #        hide
    # p15 -> p16  ->  p17 -> 19
    #         \_ p18_/  \_ p20
    pt = ProcTree()
    pt.init()
    assert pt.getPaths(set1.p15) == []
    assert pt.getPaths(set1.p19) == [[set1.p17, set1.p16, set1.p15],
                                     [set1.p17, set1.p18, set1.p16, set1.p15]]
    assert pt.getPaths(set1.p20) == [[set1.p17, set1.p16, set1.p15],
                                     [set1.p17, set1.p18, set1.p16, set1.p15]]
    # assert pt.getPaths(set1.p19, check_hide = True)  == [
    # 	[set1.p17, set1.p15], [set1.p17, set1.p18, set1.p15]]
    # assert pt.getPaths(set1.p20, check_hide = True)  == [
    # 	[set1.p17, set1.p15], [set1.p17, set1.p18, set1.p15]]

    # circulic dependence
    p21 = Proc()
    p22 = Proc()
    p23 = Proc()
    # p21 -> p22 -> p23 -> p21
    p21.depends = p23
    p23.depends = p22
    p22.depends = p21
    pt = ProcTree()
    pt.init()
    with pytest.raises(ProcTreeParseError):
        pt.getPaths(p23)
Beispiel #2
0
 def testGetPaths(self, procs, proc, paths, exception=None):
     for p in procs:
         ProcTree.register(p)
     pt = ProcTree()
     if exception:
         self.assertRaises(ProcTreeParseError, pt.getPaths, proc)
     else:
         ps = pt.getPaths(proc)
         self.assertListEqual(ps, paths)