diff options
author | John Estabrook <jestabro@vyos.io> | 2023-09-28 09:06:17 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-28 09:06:17 -0500 |
commit | 4b323a2de6cc5a648907639d30831d1d02360767 (patch) | |
tree | 7a0d69172ecbfb48ca7888a1a5fb6866482666b1 /smoketest/scripts/cli/test_dependency_graph.py | |
parent | 58344bc7696234b3e4792909c121314bbc5f6647 (diff) | |
parent | 0cc75919dbaf2e1ec26885b7fbb7cc91dc7b28fa (diff) | |
download | vyos-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-x | smoketest/scripts/cli/test_dependency_graph.py | 54 |
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) |