From e5a812082ae033afb1eed82c0f2df3d0f6bdc93f Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 08:53:20 +0200 Subject: Adding upstream version 2.1.6. Signed-off-by: Daniel Baumann --- lib/common/tests/utils/compare_version_test.c | 55 +++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 lib/common/tests/utils/compare_version_test.c (limited to 'lib/common/tests/utils/compare_version_test.c') diff --git a/lib/common/tests/utils/compare_version_test.c b/lib/common/tests/utils/compare_version_test.c new file mode 100644 index 0000000..35ebb63 --- /dev/null +++ b/lib/common/tests/utils/compare_version_test.c @@ -0,0 +1,55 @@ +/* + * Copyright 2022 the Pacemaker project contributors + * + * The version control history for this file may have further details. + * + * This source code is licensed under the GNU General Public License version 2 + * or later (GPLv2+) WITHOUT ANY WARRANTY. + */ + +#include + +#include + +static void +empty_params(void **state) +{ + assert_int_equal(compare_version(NULL, NULL), 0); + assert_int_equal(compare_version(NULL, "abc"), -1); + assert_int_equal(compare_version(NULL, "1.0.1"), -1); + assert_int_equal(compare_version("abc", NULL), 1); + assert_int_equal(compare_version("1.0.1", NULL), 1); +} + +static void +equal_versions(void **state) +{ + assert_int_equal(compare_version("0.4.7", "0.4.7"), 0); + assert_int_equal(compare_version("1.0", "1.0"), 0); +} + +static void +unequal_versions(void **state) +{ + assert_int_equal(compare_version("0.4.7", "0.4.8"), -1); + assert_int_equal(compare_version("0.4.8", "0.4.7"), 1); + + assert_int_equal(compare_version("0.2.3", "0.3"), -1); + assert_int_equal(compare_version("0.3", "0.2.3"), 1); + + assert_int_equal(compare_version("0.99", "1.0"), -1); + assert_int_equal(compare_version("1.0", "0.99"), 1); +} + +static void +shorter_versions(void **state) +{ + assert_int_equal(compare_version("1.0", "1.0.1"), -1); + assert_int_equal(compare_version("1.0.1", "1.0"), 1); +} + +PCMK__UNIT_TEST(NULL, NULL, + cmocka_unit_test(empty_params), + cmocka_unit_test(equal_versions), + cmocka_unit_test(unequal_versions), + cmocka_unit_test(shorter_versions)) -- cgit v1.2.3