summaryrefslogtreecommitdiff
path: root/debian/tests
diff options
context:
space:
mode:
Diffstat (limited to 'debian/tests')
-rwxr-xr-xdebian/tests/build36
-rw-r--r--debian/tests/control5
-rwxr-xr-xdebian/tests/installed-tests33
3 files changed, 74 insertions, 0 deletions
diff --git a/debian/tests/build b/debian/tests/build
new file mode 100755
index 00000000..1e27f1a1
--- /dev/null
+++ b/debian/tests/build
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+set -e
+exec 2>&1
+set -x
+
+cd "$ADTTMP"
+
+cat > connect.c <<EOF
+#include <stdio.h>
+
+#include <dbus/dbus.h>
+
+int main (void)
+{
+ DBusError error;
+ DBusConnection *connection;
+
+ dbus_error_init(&error);
+ connection = dbus_bus_get(DBUS_BUS_SESSION, &error);
+
+ if (connection == NULL) {
+ fprintf(stderr, "%s: %s", error.name, error.message);
+ dbus_error_free(&error);
+ return 1;
+ }
+
+ dbus_connection_unref(connection);
+ return 0;
+}
+EOF
+
+gcc -o connect connect.c $(pkg-config --cflags --libs dbus-1)
+test -x connect
+dbus-run-session -- ./connect
+echo "everything seems OK"
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 00000000..0515c14b
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,5 @@
+Tests: installed-tests
+Depends: dbus, libdbus-1-3, dbus-1-dbg
+
+Tests: build
+Depends: libdbus-1-dev, dbus, build-essential
diff --git a/debian/tests/installed-tests b/debian/tests/installed-tests
new file mode 100755
index 00000000..9f1be3ec
--- /dev/null
+++ b/debian/tests/installed-tests
@@ -0,0 +1,33 @@
+#!/bin/sh
+# installed-tests wrapper for dbus. Outputs TAP format because why not
+
+set -e
+
+timeout="timeout 300s"
+ret=0
+i=0
+
+for dir in /usr/lib/*/dbus-1.0/test /usr/lib/*/dbus-1.0/debug-build/lib/dbus-1.0/test; do
+ for t in "$dir"/test-*; do
+ i=$(( $i + 1 ))
+ echo "# $i - $t ..."
+ echo "x" > "$ADTTMP/result"
+ ( set +e; $timeout $t; echo "$?" > "$ADTTMP/result" ) 2>&1 | sed 's/^/# /'
+ e="$(cat "$ADTTMP/result")"
+ case "$e" in
+ (0)
+ echo "ok $i - $t"
+ ;;
+ (77)
+ echo "ok $i # SKIP $t"
+ ;;
+ (*)
+ echo "not ok $i - $t ($e)"
+ ret=1
+ ;;
+ esac
+ done
+done
+
+echo "1..$i"
+exit $ret