summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli/test_dependency_graph.py
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2023-09-28 09:06:17 -0500
committerGitHub <noreply@github.com>2023-09-28 09:06:17 -0500
commit4b323a2de6cc5a648907639d30831d1d02360767 (patch)
tree7a0d69172ecbfb48ca7888a1a5fb6866482666b1 /smoketest/scripts/cli/test_dependency_graph.py
parent58344bc7696234b3e4792909c121314bbc5f6647 (diff)
parent0cc75919dbaf2e1ec26885b7fbb7cc91dc7b28fa (diff)
downloadvyos-1x-4b323a2de6cc5a648907639d30831d1d02360767.tar.gz
vyos-1x-4b323a2de6cc5a648907639d30831d1d02360767.zip
Merge pull request #2315 from vyos/mergify/bp/sagitta/pr-2216
T5412: Add support for extending config-mode dependencies in add-on packages (backport #2216)
Diffstat (limited to 'smoketest/scripts/cli/test_dependency_graph.py')
-rwxr-xr-xsmoketest/scripts/cli/test_dependency_graph.py54
1 files changed, 0 insertions, 54 deletions
diff --git a/smoketest/scripts/cli/test_dependency_graph.py b/smoketest/scripts/cli/test_dependency_graph.py
deleted file mode 100755
index 45a40acc4..000000000
--- a/smoketest/scripts/cli/test_dependency_graph.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (C) 2022 VyOS maintainers and contributors
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 or later as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-import json
-import unittest
-from graphlib import TopologicalSorter, CycleError
-
-DEP_FILE = '/usr/share/vyos/config-mode-dependencies.json'
-
-def graph_from_dict(d):
- g = {}
- for k in list(d):
- g[k] = set()
- # add the dependencies for every sub-case; should there be cases
- # that are mutally exclusive in the future, the graphs will be
- # distinguished
- for el in list(d[k]):
- g[k] |= set(d[k][el])
- return g
-
-class TestDependencyGraph(unittest.TestCase):
- def setUp(self):
- with open(DEP_FILE) as f:
- dd = json.load(f)
- self.dependency_graph = graph_from_dict(dd)
-
- def test_cycles(self):
- ts = TopologicalSorter(self.dependency_graph)
- out = None
- try:
- # get node iterator
- order = ts.static_order()
- # try iteration
- _ = [*order]
- except CycleError as e:
- out = e.args
-
- self.assertIsNone(out)
-
-if __name__ == '__main__':
- unittest.main(verbosity=2)