summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tests/main.c4
-rwxr-xr-xsrc/tests/piglit131
2 files changed, 35 insertions, 0 deletions
diff --git a/src/tests/main.c b/src/tests/main.c
index 65a193a..97b6b1c 100644
--- a/src/tests/main.c
+++ b/src/tests/main.c
@@ -37,6 +37,10 @@ int main(int argc, char *argv[])
g_test_add("/x11spice/x11perf1", xdummy_t, "x11perf1", start_server, test_script, stop_server);
+#if defined(SPICEDUMMY)
+ g_test_add("/x11spice/piglit1", xdummy_t, "piglit1", start_server, test_script, stop_server);
+#endif
+
g_log_set_always_fatal(G_LOG_LEVEL_ERROR);
return g_test_run();
diff --git a/src/tests/piglit1 b/src/tests/piglit1
new file mode 100755
index 0000000..cf65558
--- /dev/null
+++ b/src/tests/piglit1
@@ -0,0 +1,31 @@
+#!/bin/bash
+# x11spice test script
+# This will receive 4 arguments:
+# $1 - Test X display, with a spice server attached
+# $2 - Client X display, upon which we can run spicy
+# $3 - Spice URI to connect to the spice server on $1
+# $4 - Directory we can use for logs and scratch info
+# Note that it's also important that this script monitor itself;
+# there is no external timeout mechanism
+
+which piglit 2>/dev/null
+if [ $? -ne 0 ] ; then
+ echo piglit not available, skipping
+ exit 77
+fi
+
+echo Running piglit to see how we perform
+spicy --display $2 --uri=$3 &
+spid=$!
+DISPLAY=:1 piglit run sanity $4/piglit
+rc=$?
+
+ps -p $spid >/dev/null 2>&1
+if [ $? -ne 0 ] ; then
+ echo Spice client not running. That is an error.
+ exit 1
+else
+ kill $spid
+fi
+
+exit $rc