]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
test: Move _dbus_signature_test() here
authorSimon McVittie <smcv@collabora.com>
Fri, 28 Sep 2018 16:00:01 +0000 (17:00 +0100)
committerSimon McVittie <smcv@collabora.com>
Mon, 21 Jan 2019 15:22:06 +0000 (15:22 +0000)
This is all public API, so there's no need to embed it in the library.

Signed-off-by: Simon McVittie <smcv@collabora.com>
dbus/dbus-signature.c
dbus/dbus-test.h
test/internals/misc-internals.c

index 006ac6a5e7b3a10da002c35e03382dead6d6fd8b..01a456bc12d98601ab652bc12991195bd4323ca1 100644 (file)
@@ -413,179 +413,3 @@ dbus_type_is_valid (int typecode)
 }
 
 /** @} */ /* end of DBusSignature group */
-
-#ifdef DBUS_ENABLE_EMBEDDED_TESTS
-
-/**
- * @ingroup DBusSignatureInternals
- * Unit test for DBusSignature.
- *
- * @returns #TRUE on success.
- */
-dbus_bool_t
-_dbus_signature_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
-{
-  DBusSignatureIter iter;
-  DBusSignatureIter subiter;
-  DBusSignatureIter subsubiter;
-  DBusSignatureIter subsubsubiter;
-  const char *sig;
-  dbus_bool_t boolres;
-
-  sig = "";
-  _dbus_assert (dbus_signature_validate (sig, NULL));
-  _dbus_assert (!dbus_signature_validate_single (sig, NULL));
-  dbus_signature_iter_init (&iter, sig);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_INVALID);
-
-  sig = DBUS_TYPE_STRING_AS_STRING;
-  _dbus_assert (dbus_signature_validate (sig, NULL));
-  _dbus_assert (dbus_signature_validate_single (sig, NULL));
-  dbus_signature_iter_init (&iter, sig);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_STRING);
-
-  sig = DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_BYTE_AS_STRING;
-  _dbus_assert (dbus_signature_validate (sig, NULL));
-  dbus_signature_iter_init (&iter, sig);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_STRING);
-  boolres = dbus_signature_iter_next (&iter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_BYTE);
-
-  sig = DBUS_TYPE_UINT16_AS_STRING
-    DBUS_STRUCT_BEGIN_CHAR_AS_STRING
-    DBUS_TYPE_STRING_AS_STRING
-    DBUS_TYPE_UINT32_AS_STRING
-    DBUS_TYPE_VARIANT_AS_STRING
-    DBUS_TYPE_DOUBLE_AS_STRING
-    DBUS_STRUCT_END_CHAR_AS_STRING;
-  _dbus_assert (dbus_signature_validate (sig, NULL));
-  dbus_signature_iter_init (&iter, sig);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_UINT16);
-  boolres = dbus_signature_iter_next (&iter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_STRUCT);
-  dbus_signature_iter_recurse (&iter, &subiter);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_STRING);
-  boolres = dbus_signature_iter_next (&subiter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_UINT32);
-  boolres = dbus_signature_iter_next (&subiter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_VARIANT);
-  boolres = dbus_signature_iter_next (&subiter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_DOUBLE);
-
-  sig = DBUS_TYPE_UINT16_AS_STRING
-    DBUS_STRUCT_BEGIN_CHAR_AS_STRING
-    DBUS_TYPE_UINT32_AS_STRING
-    DBUS_TYPE_BYTE_AS_STRING
-    DBUS_TYPE_ARRAY_AS_STRING
-    DBUS_TYPE_ARRAY_AS_STRING
-    DBUS_TYPE_DOUBLE_AS_STRING
-    DBUS_STRUCT_BEGIN_CHAR_AS_STRING
-    DBUS_TYPE_BYTE_AS_STRING
-    DBUS_STRUCT_END_CHAR_AS_STRING
-    DBUS_STRUCT_END_CHAR_AS_STRING;
-  _dbus_assert (dbus_signature_validate (sig, NULL));
-  dbus_signature_iter_init (&iter, sig);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_UINT16);
-  boolres = dbus_signature_iter_next (&iter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_STRUCT);
-  dbus_signature_iter_recurse (&iter, &subiter);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_UINT32);
-  boolres = dbus_signature_iter_next (&subiter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_BYTE);
-  boolres = dbus_signature_iter_next (&subiter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_ARRAY);
-  _dbus_assert (dbus_signature_iter_get_element_type (&subiter) == DBUS_TYPE_ARRAY);
-
-  dbus_signature_iter_recurse (&subiter, &subsubiter);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subsubiter) == DBUS_TYPE_ARRAY);
-  _dbus_assert (dbus_signature_iter_get_element_type (&subsubiter) == DBUS_TYPE_DOUBLE);
-
-  dbus_signature_iter_recurse (&subsubiter, &subsubsubiter);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subsubsubiter) == DBUS_TYPE_DOUBLE);
-  boolres = dbus_signature_iter_next (&subiter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_STRUCT);
-  dbus_signature_iter_recurse (&subiter, &subsubiter);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subsubiter) == DBUS_TYPE_BYTE);
-
-  sig = DBUS_TYPE_ARRAY_AS_STRING
-    DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
-    DBUS_TYPE_INT16_AS_STRING
-    DBUS_TYPE_STRING_AS_STRING
-    DBUS_DICT_ENTRY_END_CHAR_AS_STRING
-    DBUS_TYPE_VARIANT_AS_STRING;
-  _dbus_assert (dbus_signature_validate (sig, NULL));
-  _dbus_assert (!dbus_signature_validate_single (sig, NULL));
-  dbus_signature_iter_init (&iter, sig);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_ARRAY);
-  _dbus_assert (dbus_signature_iter_get_element_type (&iter) == DBUS_TYPE_DICT_ENTRY);
-
-  dbus_signature_iter_recurse (&iter, &subiter);
-  dbus_signature_iter_recurse (&subiter, &subsubiter);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subsubiter) == DBUS_TYPE_INT16);
-  boolres = dbus_signature_iter_next (&subsubiter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&subsubiter) == DBUS_TYPE_STRING);
-  boolres = dbus_signature_iter_next (&subsubiter);
-  _dbus_assert (!boolres);
-
-  boolres = dbus_signature_iter_next (&iter);
-  _dbus_assert (boolres);
-  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_VARIANT);
-  boolres = dbus_signature_iter_next (&iter);
-  _dbus_assert (!boolres);
-
-  sig = DBUS_TYPE_DICT_ENTRY_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-
-  sig = DBUS_TYPE_ARRAY_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-
-  sig = DBUS_TYPE_UINT32_AS_STRING
-    DBUS_TYPE_ARRAY_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-
-  sig = DBUS_TYPE_ARRAY_AS_STRING
-    DBUS_TYPE_DICT_ENTRY_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-
-  sig = DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-
-  sig = DBUS_DICT_ENTRY_END_CHAR_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-
-  sig = DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
-    DBUS_TYPE_INT32_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-
-  sig = DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
-    DBUS_TYPE_INT32_AS_STRING
-    DBUS_TYPE_STRING_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-
-  sig = DBUS_STRUCT_END_CHAR_AS_STRING
-    DBUS_STRUCT_BEGIN_CHAR_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-
-  sig = DBUS_STRUCT_BEGIN_CHAR_AS_STRING
-    DBUS_TYPE_BOOLEAN_AS_STRING;
-  _dbus_assert (!dbus_signature_validate (sig, NULL));
-  return TRUE;
-#if 0
- oom:
-  _dbus_test_fatal ("out of memory");
-  return FALSE;
-#endif
-}
-
-#endif
-
index 3ca2ef97d7fe89ae2b4741b13ab0db21a879c72a..36710fbf8bff8ce098d8dd3792ca8d5b841d0093 100644 (file)
@@ -46,9 +46,6 @@ 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_signature_test         (const char *test_data_dir);
-
 DBUS_PRIVATE_EXPORT
 dbus_bool_t _dbus_mem_pool_test          (const char *test_data_dir);
 
index 579b00e7e2f5295467e16620e9ec9fcad8f267ea..30c750dbbb5d27a07d676493afd69db9e65189e3 100644 (file)
@@ -1,6 +1,8 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 /*
- * Copyright 2002-2009 Red Hat, Inc.
+ * Copyright 2002-2011 Red Hat, Inc.
+ * Copyright 2006 Julio M. Merino Vidal
+ * Copyright 2006 Ralf Habacker
  * Copyright 2011-2018 Collabora Ltd.
  *
  * Licensed under the Academic Free License version 2.1
 
 #include <config.h>
 
+#include <dbus/dbus.h>
 #include "dbus/dbus-internals.h"
 #include "dbus/dbus-test.h"
+#include "dbus/dbus-test-tap.h"
 #include "test/test-utils.h"
 
 #include "misc-internals.h"
 
+/**
+ * @ingroup DBusSignatureInternals
+ * Unit test for DBusSignature.
+ *
+ * @returns #TRUE on success.
+ */
+static dbus_bool_t
+_dbus_signature_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
+{
+  DBusSignatureIter iter;
+  DBusSignatureIter subiter;
+  DBusSignatureIter subsubiter;
+  DBusSignatureIter subsubsubiter;
+  const char *sig;
+  dbus_bool_t boolres;
+
+  sig = "";
+  _dbus_assert (dbus_signature_validate (sig, NULL));
+  _dbus_assert (!dbus_signature_validate_single (sig, NULL));
+  dbus_signature_iter_init (&iter, sig);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_INVALID);
+
+  sig = DBUS_TYPE_STRING_AS_STRING;
+  _dbus_assert (dbus_signature_validate (sig, NULL));
+  _dbus_assert (dbus_signature_validate_single (sig, NULL));
+  dbus_signature_iter_init (&iter, sig);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_STRING);
+
+  sig = DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_BYTE_AS_STRING;
+  _dbus_assert (dbus_signature_validate (sig, NULL));
+  dbus_signature_iter_init (&iter, sig);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_STRING);
+  boolres = dbus_signature_iter_next (&iter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_BYTE);
+
+  sig = DBUS_TYPE_UINT16_AS_STRING
+    DBUS_STRUCT_BEGIN_CHAR_AS_STRING
+    DBUS_TYPE_STRING_AS_STRING
+    DBUS_TYPE_UINT32_AS_STRING
+    DBUS_TYPE_VARIANT_AS_STRING
+    DBUS_TYPE_DOUBLE_AS_STRING
+    DBUS_STRUCT_END_CHAR_AS_STRING;
+  _dbus_assert (dbus_signature_validate (sig, NULL));
+  dbus_signature_iter_init (&iter, sig);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_UINT16);
+  boolres = dbus_signature_iter_next (&iter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_STRUCT);
+  dbus_signature_iter_recurse (&iter, &subiter);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_STRING);
+  boolres = dbus_signature_iter_next (&subiter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_UINT32);
+  boolres = dbus_signature_iter_next (&subiter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_VARIANT);
+  boolres = dbus_signature_iter_next (&subiter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_DOUBLE);
+
+  sig = DBUS_TYPE_UINT16_AS_STRING
+    DBUS_STRUCT_BEGIN_CHAR_AS_STRING
+    DBUS_TYPE_UINT32_AS_STRING
+    DBUS_TYPE_BYTE_AS_STRING
+    DBUS_TYPE_ARRAY_AS_STRING
+    DBUS_TYPE_ARRAY_AS_STRING
+    DBUS_TYPE_DOUBLE_AS_STRING
+    DBUS_STRUCT_BEGIN_CHAR_AS_STRING
+    DBUS_TYPE_BYTE_AS_STRING
+    DBUS_STRUCT_END_CHAR_AS_STRING
+    DBUS_STRUCT_END_CHAR_AS_STRING;
+  _dbus_assert (dbus_signature_validate (sig, NULL));
+  dbus_signature_iter_init (&iter, sig);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_UINT16);
+  boolres = dbus_signature_iter_next (&iter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_STRUCT);
+  dbus_signature_iter_recurse (&iter, &subiter);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_UINT32);
+  boolres = dbus_signature_iter_next (&subiter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_BYTE);
+  boolres = dbus_signature_iter_next (&subiter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_ARRAY);
+  _dbus_assert (dbus_signature_iter_get_element_type (&subiter) == DBUS_TYPE_ARRAY);
+
+  dbus_signature_iter_recurse (&subiter, &subsubiter);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subsubiter) == DBUS_TYPE_ARRAY);
+  _dbus_assert (dbus_signature_iter_get_element_type (&subsubiter) == DBUS_TYPE_DOUBLE);
+
+  dbus_signature_iter_recurse (&subsubiter, &subsubsubiter);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subsubsubiter) == DBUS_TYPE_DOUBLE);
+  boolres = dbus_signature_iter_next (&subiter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subiter) == DBUS_TYPE_STRUCT);
+  dbus_signature_iter_recurse (&subiter, &subsubiter);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subsubiter) == DBUS_TYPE_BYTE);
+
+  sig = DBUS_TYPE_ARRAY_AS_STRING
+    DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
+    DBUS_TYPE_INT16_AS_STRING
+    DBUS_TYPE_STRING_AS_STRING
+    DBUS_DICT_ENTRY_END_CHAR_AS_STRING
+    DBUS_TYPE_VARIANT_AS_STRING;
+  _dbus_assert (dbus_signature_validate (sig, NULL));
+  _dbus_assert (!dbus_signature_validate_single (sig, NULL));
+  dbus_signature_iter_init (&iter, sig);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_ARRAY);
+  _dbus_assert (dbus_signature_iter_get_element_type (&iter) == DBUS_TYPE_DICT_ENTRY);
+
+  dbus_signature_iter_recurse (&iter, &subiter);
+  dbus_signature_iter_recurse (&subiter, &subsubiter);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subsubiter) == DBUS_TYPE_INT16);
+  boolres = dbus_signature_iter_next (&subsubiter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&subsubiter) == DBUS_TYPE_STRING);
+  boolres = dbus_signature_iter_next (&subsubiter);
+  _dbus_assert (!boolres);
+
+  boolres = dbus_signature_iter_next (&iter);
+  _dbus_assert (boolres);
+  _dbus_assert (dbus_signature_iter_get_current_type (&iter) == DBUS_TYPE_VARIANT);
+  boolres = dbus_signature_iter_next (&iter);
+  _dbus_assert (!boolres);
+
+  sig = DBUS_TYPE_DICT_ENTRY_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+
+  sig = DBUS_TYPE_ARRAY_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+
+  sig = DBUS_TYPE_UINT32_AS_STRING
+    DBUS_TYPE_ARRAY_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+
+  sig = DBUS_TYPE_ARRAY_AS_STRING
+    DBUS_TYPE_DICT_ENTRY_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+
+  sig = DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+
+  sig = DBUS_DICT_ENTRY_END_CHAR_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+
+  sig = DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
+    DBUS_TYPE_INT32_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+
+  sig = DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
+    DBUS_TYPE_INT32_AS_STRING
+    DBUS_TYPE_STRING_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+
+  sig = DBUS_STRUCT_END_CHAR_AS_STRING
+    DBUS_STRUCT_BEGIN_CHAR_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+
+  sig = DBUS_STRUCT_BEGIN_CHAR_AS_STRING
+    DBUS_TYPE_BOOLEAN_AS_STRING;
+  _dbus_assert (!dbus_signature_validate (sig, NULL));
+  return TRUE;
+#if 0
+ oom:
+  _dbus_test_fatal ("out of memory");
+  return FALSE;
+#endif
+}
+
 static DBusTestCase tests[] =
 {
   { "string", _dbus_string_test },