diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-09 13:16:35 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-09 13:16:35 +0000 |
commit | e2bbf175a2184bd76f6c54ccf8456babeb1a46fc (patch) | |
tree | f0b76550d6e6f500ada964a3a4ee933a45e5a6f1 /tests/topotests/lib/test/test_version.py | |
parent | Initial commit. (diff) | |
download | frr-e2bbf175a2184bd76f6c54ccf8456babeb1a46fc.tar.xz frr-e2bbf175a2184bd76f6c54ccf8456babeb1a46fc.zip |
Adding upstream version 9.1.upstream/9.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/topotests/lib/test/test_version.py')
-rwxr-xr-x | tests/topotests/lib/test/test_version.py | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/topotests/lib/test/test_version.py b/tests/topotests/lib/test/test_version.py new file mode 100755 index 0000000..7b18daa --- /dev/null +++ b/tests/topotests/lib/test/test_version.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: ISC + +# +# test_version.py +# Tests for library function: version_cmp(). +# +# Copyright (c) 2017 by +# Network Device Education Foundation, Inc. ("NetDEF") +# + +""" +Tests for the version_cmp() function. +""" + +import os +import sys +import pytest + +# Save the Current Working Directory to find lib files. +CWD = os.path.dirname(os.path.realpath(__file__)) +sys.path.append(os.path.join(CWD, "../../")) + +# pylint: disable=C0413 +from lib.topotest import version_cmp + + +def test_valid_versions(): + "Test valid version compare results" + + curver = "3.0" + samever = "3" + oldver = "2.0" + newver = "3.0.1" + newerver = "3.0.11" + vercustom = "3.0-dev" + verysmallinc = "3.0.0.0.0.0.0.1" + + assert version_cmp(curver, oldver) == 1 + assert version_cmp(curver, newver) == -1 + assert version_cmp(curver, curver) == 0 + assert version_cmp(curver, newerver) == -1 + assert version_cmp(newver, newerver) == -1 + assert version_cmp(curver, samever) == 0 + assert version_cmp(curver, vercustom) == 0 + assert version_cmp(vercustom, vercustom) == 0 + assert version_cmp(vercustom, oldver) == 1 + assert version_cmp(vercustom, newver) == -1 + assert version_cmp(vercustom, samever) == 0 + assert version_cmp(curver, verysmallinc) == -1 + assert version_cmp(newver, verysmallinc) == 1 + assert version_cmp(verysmallinc, verysmallinc) == 0 + assert version_cmp(vercustom, verysmallinc) == -1 + + +def test_invalid_versions(): + "Test invalid version strings" + + curver = "3.0" + badver1 = ".1" + badver2 = "-1.0" + badver3 = "." + badver4 = "3.-0.3" + + with pytest.raises(ValueError): + assert version_cmp(curver, badver1) + assert version_cmp(curver, badver2) + assert version_cmp(curver, badver3) + assert version_cmp(curver, badver4) + + +def test_regression_1(): + """ + Test regression on the following type of comparison: '3.0.2' > '3' + Expected result is 1. + """ + assert version_cmp("3.0.2", "3") == 1 |