/snap/node/11782/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp
NameSizeModeActions
generator/-0755rm
common.py253130644editdlrm
common_test.py62520755editdlrm
easy_xml.py54870644editdlrm
easy_xml_test.py39410755editdlrm
flock_tool.py18860755editdlrm
input.py1264370644editdlrm
input_test.py34260755editdlrm
mac_tool.py304820755editdlrm
MSVSNew.py131910644editdlrm
MSVSProject.py69400644editdlrm
MSVSSettings.py457470644editdlrm
MSVSSettings_test.py744340755editdlrm
MSVSToolFile.py18300644editdlrm
MSVSUserFile.py53760644editdlrm
MSVSUtil.py103260644editdlrm
MSVSVersion.py198780644editdlrm
msvs_emulation.py540210644editdlrm
ninja_syntax.py56400644editdlrm
simple_copy.py12970644editdlrm
win_tool.py151780755editdlrm
xcodeproj_file.py1362720644editdlrm
xcode_emulation.py824540644editdlrm
xcode_emulation_test.py14890644editdlrm
xcode_ninja.py121320644editdlrm
xml_fix.py22440644editdlrm
__init__.py246530755editdlrm
Edit: /snap/node/11782/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py (3426B)
#!/usr/bin/env python3 # Copyright 2013 Google Inc. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Unit tests for the input.py file.""" import unittest import gyp.input class TestFindCycles(unittest.TestCase): def setUp(self): self.nodes = {} for x in ("a", "b", "c", "d", "e"): self.nodes[x] = gyp.input.DependencyGraphNode(x) def _create_dependency(self, dependent, dependency): dependent.dependencies.append(dependency) dependency.dependents.append(dependent) def test_no_cycle_empty_graph(self): for label, node in self.nodes.items(): self.assertEqual([], node.FindCycles()) def test_no_cycle_line(self): self._create_dependency(self.nodes["a"], self.nodes["b"]) self._create_dependency(self.nodes["b"], self.nodes["c"]) self._create_dependency(self.nodes["c"], self.nodes["d"]) for label, node in self.nodes.items(): self.assertEqual([], node.FindCycles()) def test_no_cycle_dag(self): self._create_dependency(self.nodes["a"], self.nodes["b"]) self._create_dependency(self.nodes["a"], self.nodes["c"]) self._create_dependency(self.nodes["b"], self.nodes["c"]) for label, node in self.nodes.items(): self.assertEqual([], node.FindCycles()) def test_cycle_self_reference(self): self._create_dependency(self.nodes["a"], self.nodes["a"]) self.assertEqual( [[self.nodes["a"], self.nodes["a"]]], self.nodes["a"].FindCycles() ) def test_cycle_two_nodes(self): self._create_dependency(self.nodes["a"], self.nodes["b"]) self._create_dependency(self.nodes["b"], self.nodes["a"]) self.assertEqual( [[self.nodes["a"], self.nodes["b"], self.nodes["a"]]], self.nodes["a"].FindCycles(), ) self.assertEqual( [[self.nodes["b"], self.nodes["a"], self.nodes["b"]]], self.nodes["b"].FindCycles(), ) def test_two_cycles(self): self._create_dependency(self.nodes["a"], self.nodes["b"]) self._create_dependency(self.nodes["b"], self.nodes["a"]) self._create_dependency(self.nodes["b"], self.nodes["c"]) self._create_dependency(self.nodes["c"], self.nodes["b"]) cycles = self.nodes["a"].FindCycles() self.assertTrue([self.nodes["a"], self.nodes["b"], self.nodes["a"]] in cycles) self.assertTrue([self.nodes["b"], self.nodes["c"], self.nodes["b"]] in cycles) self.assertEqual(2, len(cycles)) def test_big_cycle(self): self._create_dependency(self.nodes["a"], self.nodes["b"]) self._create_dependency(self.nodes["b"], self.nodes["c"]) self._create_dependency(self.nodes["c"], self.nodes["d"]) self._create_dependency(self.nodes["d"], self.nodes["e"]) self._create_dependency(self.nodes["e"], self.nodes["a"]) self.assertEqual( [ [ self.nodes["a"], self.nodes["b"], self.nodes["c"], self.nodes["d"], self.nodes["e"], self.nodes["a"], ] ], self.nodes["a"].FindCycles(), ) if __name__ == "__main__": unittest.main()