Example #1
0
 def test_random_entries(self):
     import random
     snap = ProgSnapshot(test1_str)
     test_obj = json.loads(test1_str)
     random.shuffle(test_obj["traceEvents"])
     snap2 = ProgSnapshot(json.dumps(test_obj))
     self.assertTrue(list(snap.get_trees())[0].is_same(list(snap2.get_trees())[0]))
Example #2
0
 def test_basic(self):
     snap = ProgSnapshot(test1_str)
     tree_len = len(list(snap.get_trees()))
     self.assertEqual(tree_len, 1)
     tree = next(snap.get_trees())
     count = 0
     for _ in tree.inorder_traverse():
         count += 1
     self.assertEqual(count, 12)
Example #3
0
    def test_multiple_process(self):
        data = '{"traceEvents": [{"pid":7762,"tid":7761,"ts":23668655766.343,"dur":5.8,"name":"builtins.exec","caller_lineno":147,"ph":"X","cat":"FEE"}, {"pid":7761,"tid":7761,"ts":23668655766.343,"dur":5.8,"name":"builtins.exec","caller_lineno":147,"ph":"X","cat":"FEE"}], "viztracer_metadata": {"version": "0.6.2"}}'
        snap = ProgSnapshot(data)
        self.assertEqual(len(list(snap.get_trees())), 2)

        # Coverage test
        _ = snap.list_pid()
 def test_change_parent(self):
     data = '{"traceEvents": [{"pid":7762,"tid":7761,"ts":0,"dur":100,"name":"grandpa","caller_lineno":147,"ph":"X","cat":"FEE"}, {"pid":7762,"tid":7761,"ts":50,"dur":10,"name":"grandson","caller_lineno":147,"ph":"X","cat":"FEE"}, {"pid":7762,"tid":7761,"ts":10,"dur":80,"name":"son","caller_lineno":147,"ph":"X","cat":"FEE"}], "viztracer_metadata": {"version": "0.6.2"}}'
     snap = ProgSnapshot(data)
     tree = next(snap.get_trees())
     for node in tree.inorder_traverse():
         if node.parent:
             self.assertIn(node, node.parent.children)