$79 GRAYBYTE WORDPRESS FILE MANAGER $40

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/

HOME
Current File : /usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp//input_test.py
#! /usr/bin/python2

# 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 gyp.input
import unittest
import sys


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()

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
1 Jan 1970 8.00 AM
root / root
0
generator
--
31 Aug 2024 8.02 AM
root / root
0755
MSVSNew.py
11.656 KB
10 Mar 2021 9.36 PM
root / root
0644
MSVSProject.py
6.237 KB
10 Mar 2021 9.36 PM
root / root
0644
MSVSSettings.py
44.11 KB
10 Mar 2021 9.36 PM
root / root
0644
MSVSSettings_test.py
64.562 KB
10 Mar 2021 9.36 PM
root / root
0644
MSVSToolFile.py
1.762 KB
10 Mar 2021 9.36 PM
root / root
0644
MSVSUserFile.py
4.967 KB
10 Mar 2021 9.36 PM
root / root
0644
MSVSUtil.py
9.31 KB
10 Mar 2021 9.36 PM
root / root
0644
MSVSVersion.py
17.024 KB
10 Mar 2021 9.36 PM
root / root
0644
__init__.py
21.868 KB
10 Mar 2021 9.36 PM
root / root
0644
common.py
20.579 KB
10 Mar 2021 9.36 PM
root / root
0644
common_test.py
1.918 KB
10 Mar 2021 9.36 PM
root / root
0644
easy_xml.py
4.873 KB
10 Mar 2021 9.36 PM
root / root
0644
easy_xml_test.py
3.249 KB
10 Mar 2021 9.36 PM
root / root
0644
flock_tool.py
1.706 KB
10 Mar 2021 9.36 PM
root / root
0644
input.py
113.647 KB
10 Mar 2021 9.36 PM
root / root
0644
input_test.py
3.11 KB
10 Mar 2021 9.36 PM
root / root
0644
mac_tool.py
22.892 KB
10 Mar 2021 9.36 PM
root / root
0644
msvs_emulation.py
46.759 KB
10 Mar 2021 9.36 PM
root / root
0644
ninja_syntax.py
5.406 KB
10 Mar 2021 9.36 PM
root / root
0644
simple_copy.py
1.302 KB
10 Mar 2021 9.36 PM
root / root
0644
win_tool.py
12.723 KB
10 Mar 2021 9.36 PM
root / root
0644
xcode_emulation.py
64.854 KB
10 Mar 2021 9.36 PM
root / root
0644
xcode_ninja.py
10.32 KB
10 Mar 2021 9.36 PM
root / root
0644
xcodeproj_file.py
117.659 KB
10 Mar 2021 9.36 PM
root / root
0644
xml_fix.py
2.123 KB
10 Mar 2021 9.36 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF