From: Simon McVittie Date: Fri, 28 Sep 2018 16:02:38 +0000 (+0100) Subject: test: Move _dbus_misc_test() here X-Git-Tag: dbus-1.13.10~25^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=58fc8a0360aa2c159c73cfd7c7350b307087df1f;p=thirdparty%2Fdbus.git test: Move _dbus_misc_test() here Signed-off-by: Simon McVittie --- diff --git a/dbus/dbus-misc.c b/dbus/dbus-misc.c index fefe05a49..67a28403f 100644 --- a/dbus/dbus-misc.c +++ b/dbus/dbus-misc.c @@ -222,77 +222,3 @@ dbus_get_version (int *major_version_p, /** @} */ /* End of public API */ - -#ifdef DBUS_ENABLE_EMBEDDED_TESTS - -#ifndef DOXYGEN_SHOULD_SKIP_THIS - -#include "dbus-test.h" -#include - - -dbus_bool_t -_dbus_misc_test (const char *test_data_dir _DBUS_GNUC_UNUSED) -{ - int major, minor, micro; - DBusString str; - - /* make sure we don't crash on NULL */ - dbus_get_version (NULL, NULL, NULL); - - /* Now verify that all the compile-time version stuff - * is right and matches the runtime. These tests - * are mostly intended to catch various kinds of - * typo (mixing up major and minor, that sort of thing). - */ - dbus_get_version (&major, &minor, µ); - - _dbus_assert (major == DBUS_MAJOR_VERSION); - _dbus_assert (minor == DBUS_MINOR_VERSION); - _dbus_assert (micro == DBUS_MICRO_VERSION); - -#define MAKE_VERSION(x, y, z) (((x) << 16) | ((y) << 8) | (z)) - - /* check that MAKE_VERSION works and produces the intended ordering */ - _dbus_assert (MAKE_VERSION (1, 0, 0) > MAKE_VERSION (0, 0, 0)); - _dbus_assert (MAKE_VERSION (1, 1, 0) > MAKE_VERSION (1, 0, 0)); - _dbus_assert (MAKE_VERSION (1, 1, 1) > MAKE_VERSION (1, 1, 0)); - - _dbus_assert (MAKE_VERSION (2, 0, 0) > MAKE_VERSION (1, 1, 1)); - _dbus_assert (MAKE_VERSION (2, 1, 0) > MAKE_VERSION (1, 1, 1)); - _dbus_assert (MAKE_VERSION (2, 1, 1) > MAKE_VERSION (1, 1, 1)); - - /* check DBUS_VERSION */ - _dbus_assert (MAKE_VERSION (major, minor, micro) == DBUS_VERSION); - - /* check that ordering works with DBUS_VERSION */ - _dbus_assert (MAKE_VERSION (major - 1, minor, micro) < DBUS_VERSION); - _dbus_assert (MAKE_VERSION (major, minor - 1, micro) < DBUS_VERSION); - _dbus_assert (MAKE_VERSION (major, minor, micro - 1) < DBUS_VERSION); - - _dbus_assert (MAKE_VERSION (major + 1, minor, micro) > DBUS_VERSION); - _dbus_assert (MAKE_VERSION (major, minor + 1, micro) > DBUS_VERSION); - _dbus_assert (MAKE_VERSION (major, minor, micro + 1) > DBUS_VERSION); - - /* Check DBUS_VERSION_STRING */ - - if (!_dbus_string_init (&str)) - _dbus_test_fatal ("no memory"); - - if (!(_dbus_string_append_int (&str, major) && - _dbus_string_append_byte (&str, '.') && - _dbus_string_append_int (&str, minor) && - _dbus_string_append_byte (&str, '.') && - _dbus_string_append_int (&str, micro))) - _dbus_test_fatal ("no memory"); - - _dbus_assert (_dbus_string_equal_c_str (&str, DBUS_VERSION_STRING)); - - _dbus_string_free (&str); - - return TRUE; -} - -#endif /* !DOXYGEN_SHOULD_SKIP_THIS */ - -#endif diff --git a/dbus/dbus-test.h b/dbus/dbus-test.h index 36710fbf8..baf087006 100644 --- a/dbus/dbus-test.h +++ b/dbus/dbus-test.h @@ -43,9 +43,6 @@ dbus_bool_t _dbus_list_test (const char *test_data_dir); DBUS_PRIVATE_EXPORT dbus_bool_t _dbus_marshal_test (const char *test_data_dir); -DBUS_PRIVATE_EXPORT -dbus_bool_t _dbus_misc_test (const char *test_data_dir); - DBUS_PRIVATE_EXPORT dbus_bool_t _dbus_mem_pool_test (const char *test_data_dir); diff --git a/test/internals/misc-internals.c b/test/internals/misc-internals.c index 30c750dbb..94ad616e4 100644 --- a/test/internals/misc-internals.c +++ b/test/internals/misc-internals.c @@ -33,6 +33,68 @@ #include "misc-internals.h" +static dbus_bool_t +_dbus_misc_test (const char *test_data_dir _DBUS_GNUC_UNUSED) +{ + int major, minor, micro; + DBusString str; + + /* make sure we don't crash on NULL */ + dbus_get_version (NULL, NULL, NULL); + + /* Now verify that all the compile-time version stuff + * is right and matches the runtime. These tests + * are mostly intended to catch various kinds of + * typo (mixing up major and minor, that sort of thing). + */ + dbus_get_version (&major, &minor, µ); + + _dbus_assert (major == DBUS_MAJOR_VERSION); + _dbus_assert (minor == DBUS_MINOR_VERSION); + _dbus_assert (micro == DBUS_MICRO_VERSION); + +#define MAKE_VERSION(x, y, z) (((x) << 16) | ((y) << 8) | (z)) + + /* check that MAKE_VERSION works and produces the intended ordering */ + _dbus_assert (MAKE_VERSION (1, 0, 0) > MAKE_VERSION (0, 0, 0)); + _dbus_assert (MAKE_VERSION (1, 1, 0) > MAKE_VERSION (1, 0, 0)); + _dbus_assert (MAKE_VERSION (1, 1, 1) > MAKE_VERSION (1, 1, 0)); + + _dbus_assert (MAKE_VERSION (2, 0, 0) > MAKE_VERSION (1, 1, 1)); + _dbus_assert (MAKE_VERSION (2, 1, 0) > MAKE_VERSION (1, 1, 1)); + _dbus_assert (MAKE_VERSION (2, 1, 1) > MAKE_VERSION (1, 1, 1)); + + /* check DBUS_VERSION */ + _dbus_assert (MAKE_VERSION (major, minor, micro) == DBUS_VERSION); + + /* check that ordering works with DBUS_VERSION */ + _dbus_assert (MAKE_VERSION (major - 1, minor, micro) < DBUS_VERSION); + _dbus_assert (MAKE_VERSION (major, minor - 1, micro) < DBUS_VERSION); + _dbus_assert (MAKE_VERSION (major, minor, micro - 1) < DBUS_VERSION); + + _dbus_assert (MAKE_VERSION (major + 1, minor, micro) > DBUS_VERSION); + _dbus_assert (MAKE_VERSION (major, minor + 1, micro) > DBUS_VERSION); + _dbus_assert (MAKE_VERSION (major, minor, micro + 1) > DBUS_VERSION); + + /* Check DBUS_VERSION_STRING */ + + if (!_dbus_string_init (&str)) + _dbus_test_fatal ("no memory"); + + if (!(_dbus_string_append_int (&str, major) && + _dbus_string_append_byte (&str, '.') && + _dbus_string_append_int (&str, minor) && + _dbus_string_append_byte (&str, '.') && + _dbus_string_append_int (&str, micro))) + _dbus_test_fatal ("no memory"); + + _dbus_assert (_dbus_string_equal_c_str (&str, DBUS_VERSION_STRING)); + + _dbus_string_free (&str); + + return TRUE; +} + /** * @ingroup DBusSignatureInternals * Unit test for DBusSignature.