def test_graph_paths_basic(self): """Test for the GraphPaths analyzer on a basic graph.""" libdeps_graph = LibdepsGraph(get_basic_mock_graph()) expected_result = { "GRAPH_PATHS": { "('lib1.so', 'lib6.so')": [["lib1.so", "lib2.so", "lib3.so", "lib6.so"], ["lib1.so", "lib2.so", "lib4.so", "lib6.so"]] } } self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.GraphPaths, 'lib1.so', 'lib6.so') expected_result = {"GRAPH_PATHS": {"('lib4.so', 'lib5.so')": []}} self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.GraphPaths, 'lib4.so', 'lib5.so') expected_result = { "GRAPH_PATHS": { "('lib2.so', 'lib5.so')": [['lib2.so', 'lib3.so', 'lib5.so']] } } self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.GraphPaths, 'lib2.so', 'lib5.so')
def test_exclude_depends_basic(self): """Test for the ExcludeDependents for basic graph.""" libdeps_graph = LibdepsGraph(get_basic_mock_graph()) expected_result = {"EXCLUDE_DEPENDS": {"('lib6.so', 'lib5.so')": []}} self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.ExcludeDependents, ['lib6.so', 'lib5.so']) expected_result = { "EXCLUDE_DEPENDS": { "('lib3.so', 'lib1.so')": ["lib1.so", "lib2.so"] } } self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.ExcludeDependents, ['lib3.so', 'lib1.so']) expected_result = { "EXCLUDE_DEPENDS": { "('lib6.so', 'lib1.so', 'lib2.so')": ["lib2.so", "lib3.so", "lib4.so"] } } self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.ExcludeDependents, ['lib6.so', 'lib1.so', 'lib2.so'])
def test_common_depends_basic(self): """Test for the CommonDependents for basic graph.""" libdeps_graph = LibdepsGraph(get_basic_mock_graph()) expected_result = { "COMMON_DEPENDS": { "('lib6.so', 'lib5.so')": ["lib1.so", "lib2.so", "lib3.so", "lib4.so"] } } self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.CommonDependents, ['lib6.so', 'lib5.so']) expected_result = { "COMMON_DEPENDS": { "('lib5.so', 'lib6.so')": ["lib1.so", "lib2.so", "lib3.so", "lib4.so"] } } self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.CommonDependents, ['lib5.so', 'lib6.so']) expected_result = { "COMMON_DEPENDS": { "('lib5.so', 'lib6.so', 'lib2.so')": ["lib1.so"] } } self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.CommonDependents, ['lib5.so', 'lib6.so', 'lib2.so'])
def test_counts_basic(self): """Test counts on basic graph.""" libdeps_graph = LibdepsGraph(get_basic_mock_graph()) expected_result = { "NODE": 6, "EDGE": 13, "DIR_EDGE": 7, "TRANS_EDGE": 6, "DIR_PUB_EDGE": 6, "PUB_EDGE": 12, "PRIV_EDGE": 1, "IF_EDGE": 0, "PROG": 0, "LIB": 6 } self.run_counts(expected_result, libdeps_graph)
def test_direct_depends_basic(self): """Test for the DirectDependents for basic graph.""" libdeps_graph = LibdepsGraph(get_basic_mock_graph()) expected_result = {"DIRECT_DEPENDS": {"lib6.so": ["lib3.so", "lib4.so"]}} self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.DirectDependents, 'lib6.so') expected_result = {'DIRECT_DEPENDS': {'lib1.so': []}} self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.DirectDependents, 'lib1.so')
def test_critical_paths_basic(self): """Test for the CriticalPaths for basic graph.""" libdeps_graph = LibdepsGraph(get_basic_mock_graph()) expected_result = {"CRITICAL_EDGES": {"('lib1.so', 'lib6.so')": [["lib1.so", "lib2.so"]]}} self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.CriticalEdges, 'lib1.so', 'lib6.so') expected_result = {"CRITICAL_EDGES": {"('lib1.so', 'lib5.so')": [["lib1.so", "lib2.so"]]}} self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.CriticalEdges, 'lib1.so', 'lib5.so') expected_result = {"CRITICAL_EDGES": {"('lib5.so', 'lib6.so')": []}} self.run_analysis(expected_result, libdeps_graph, libdeps.analyzer.CriticalEdges, 'lib5.so', 'lib6.so')