def test_recursion_limit(deep_stats): deepest_stats = list(spread_stats(deep_stats))[-1] assert deepest_stats.deep_time > 0 # It exceeded the recursion limit until 6fe1b48. assert deep_stats.children[0].deep_time == deepest_stats.deep_time # Pickling. assert isinstance(deep_stats, RecordingStatistics) data = pickle.dumps(deep_stats) frozen_stats = pickle.loads(data) assert isinstance(frozen_stats, FrozenStatistics) deepest_frozen_stats = list(spread_stats(frozen_stats))[-1] assert deepest_stats.deep_time == deepest_frozen_stats.deep_time
def test_spread_stats(): stats = FrozenStatistics(children=[ FrozenStatistics('foo', own_hits=10, children=[ FrozenStatistics('foo', own_hits=20, children=[]), FrozenStatistics('bar', own_hits=30, children=[]), ]), FrozenStatistics('bar', own_hits=40, children=[]), FrozenStatistics('baz', own_hits=50, children=[]), ]) descendants = list(spread_stats(stats)) assert len(descendants) == 5 assert descendants[0].name == 'foo' assert descendants[1].name == 'bar' assert descendants[2].name == 'baz' assert descendants[3].name == 'foo' assert descendants[4].name == 'bar'
def test_spread_stats(): stats = FrozenStatistics( children=[ FrozenStatistics( "foo", own_hits=10, children=[ FrozenStatistics("foo", own_hits=20, children=[]), FrozenStatistics("bar", own_hits=30, children=[]), ], ), FrozenStatistics("bar", own_hits=40, children=[]), FrozenStatistics("baz", own_hits=50, children=[]), ] ) descendants = list(spread_stats(stats)) assert len(descendants) == 5 assert descendants[0].name == "foo" assert descendants[1].name == "bar" assert descendants[2].name == "baz" assert descendants[3].name == "foo" assert descendants[4].name == "bar"