def test_edge_label_long_type_names(self): x = type('MyClass', (), {'__module__': 'mymodule'})() d = {x: 1} self.assertRegex( objgraph._edge_label(d, 1, shortnames=False), ' [label="mymodule\.MyClass\\n<mymodule\.MyClass object at .*"]')
def test_edge_label_unbound_method(self): class MyClass(object): def a_method(self): pass self.assertEqual(' [label="__func__",weight=10]', objgraph._edge_label(MyClass.a_method, MyClass.a_method.__func__))
def get_graph_text_repr(graph, garbage_ids, extra_info=False, refcounts=False, shortnames=True): node_names = {} for edge_data in graph: if edge_data['target'] not in garbage_ids or edge_data[ 'source'] not in garbage_ids: continue obj_id = edge_data['source'] target = garbage_ids[obj_id] for obj_id in (edge_data['source'], edge_data['target']): obj = garbage_ids[obj_id] node_names[obj_id] = { 'id': obj_id, 'label': objgraph._obj_label(obj, extra_info, refcounts, shortnames) } source = garbage_ids[edge_data['target']] edge_data['label'] = objgraph._edge_label(target, source) return {'nodes': node_names, 'edges': graph}
def get_graph_text_repr(graph, garbage_ids, extra_info = False, refcounts = False, shortnames = True): node_names = {} for edge_data in graph: if edge_data['target'] not in garbage_ids or edge_data['source'] not in garbage_ids: continue obj_id = edge_data['source'] target = garbage_ids[obj_id] for obj_id in (edge_data['source'], edge_data['target']): obj = garbage_ids[obj_id] node_names[obj_id] = {'id': obj_id, 'label': objgraph._obj_label(obj, extra_info, refcounts, shortnames)} source = garbage_ids[edge_data['target']] edge_data['label'] = objgraph._edge_label(target, source) return {'nodes': node_names, 'edges': graph}
def test_edge_label_frame_locals(self): frame = sys._getframe() self.assertEqual(' [label="f_locals",weight=10]', objgraph._edge_label(frame, frame.f_locals))