summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-01-28 03:53:29 +0000
committerHavoc Pennington <hp@redhat.com>2003-01-28 03:53:29 +0000
commit05a4ad6994919b352b5229d0b1b0a8ebebe2a42f (patch)
treeef8adeefdea46a6ae4b673cd4014d5f8d2ea792b /test
parentee1133de4dc5e181be5d09f084d8823388d5f693 (diff)
2003-01-27 Havoc Pennington <hp@pobox.com>
* dbus/dbus-mempool.c (time_for_size): replace printf with _dbus_verbose * dbus/dbus-message-builder.c (_dbus_message_data_load): allow empty lines; fix the SAVE_LENGTH stuff to be START_LENGTH/END_LENGTH so it actually works; couple other bugfixes * test/Makefile.am (dist-hook): add dist-hook for .message files * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy can be constant or locked. (_dbus_string_free): allow freeing a const string as documented/intended * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility * dbus/dbus-test-main.c (main): take an argument which is the directory containing test data * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir argument to this and load all the messages in test/data/ checking that they can be loaded or not loaded as appropriate.
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am10
-rw-r--r--test/data/incomplete-messages/missing-body.message12
-rw-r--r--test/data/invalid-messages/bad-endian.message13
-rw-r--r--test/data/valid-messages/simplest-manual.message14
-rw-r--r--test/data/valid-messages/simplest.message7
5 files changed, 53 insertions, 3 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index 4ddf2603..f0118ee6 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -24,3 +24,13 @@ TEST_LIBS=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-convenience.la $(top_bu
echo_client_LDADD=$(TEST_LIBS)
echo_server_LDADD=$(TEST_LIBS)
+dist-hook:
+ DIRS="data data/valid-messages" ; \
+ for D in $DIRS; do \
+ test -d $(distdir)/$D || mkdir $(distdir)/$D ; \
+ done ; \
+ FILES=`find -name "*.message"` ; \
+ for F in $FILES; do \
+ echo '-- Disting file '$$F ; \
+ cp $F $(distdir)/$$F ; \
+ done
diff --git a/test/data/incomplete-messages/missing-body.message b/test/data/incomplete-messages/missing-body.message
new file mode 100644
index 00000000..c97ef7a3
--- /dev/null
+++ b/test/data/incomplete-messages/missing-body.message
@@ -0,0 +1,12 @@
+## message that's missing an expected body
+
+VALID_HEADER
+END_LENGTH Header
+
+## create the body, then chop it off
+START_LENGTH Body
+TYPE INT32
+INT32 37
+END_LENGTH Body
+
+CHOP 8
diff --git a/test/data/invalid-messages/bad-endian.message b/test/data/invalid-messages/bad-endian.message
new file mode 100644
index 00000000..7a7b75d1
--- /dev/null
+++ b/test/data/invalid-messages/bad-endian.message
@@ -0,0 +1,13 @@
+## message with invalid endianness tag
+
+BYTE 'i'
+BYTE 0
+BYTE 0
+BYTE 0
+LENGTH Header
+LENGTH Body
+## client serial
+INT32 7
+END_LENGTH Header
+START_LENGTH Body
+END_LENGTH Body
diff --git a/test/data/valid-messages/simplest-manual.message b/test/data/valid-messages/simplest-manual.message
new file mode 100644
index 00000000..bf5ddc5b
--- /dev/null
+++ b/test/data/valid-messages/simplest-manual.message
@@ -0,0 +1,14 @@
+## like simplest.message, but doesn't use VALID_HEADER
+## convenience command. mostly to test the test framework.
+
+BYTE 'l'
+BYTE 0
+BYTE 0
+BYTE 0
+LENGTH Header
+LENGTH Body
+## client serial
+INT32 7
+END_LENGTH Header
+START_LENGTH Body
+END_LENGTH Body
diff --git a/test/data/valid-messages/simplest.message b/test/data/valid-messages/simplest.message
index 949aa852..872a58a6 100644
--- a/test/data/valid-messages/simplest.message
+++ b/test/data/valid-messages/simplest.message
@@ -1,6 +1,7 @@
## simplest possible valid message
-## this does a LENGTH Header and LENGTH Body
+## VALID_HEADER includes a LENGTH Header and LENGTH Body
VALID_HEADER
-SET_LENGTH Header
-SET_LENGTH Body
+END_LENGTH Header
+START_LENGTH Body
+END_LENGTH Body