[tor-commits] [tor/master] Add several test scripts wrapping test_workqueue

nickm at torproject.org nickm at torproject.org
Sun Jun 19 16:16:02 UTC 2016


commit 3cc374456bc9428fac3ce95203d15ebbe393c09c
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Jun 8 17:29:06 2016 -0400

    Add several test scripts wrapping test_workqueue
    
    This is a fairly easy way for us to get our test coverage up on
    compat_threads.c and workqueue.c -- I already implemented these
    tests, so we might as well enable them.
---
 changes/workqueue_tests               |  4 ++++
 src/test/include.am                   | 18 ++++++++++++++++--
 src/test/test_workqueue.c             |  3 +++
 src/test/test_workqueue_cancel.sh     |  4 ++++
 src/test/test_workqueue_efd.sh        |  4 ++++
 src/test/test_workqueue_efd2.sh       |  4 ++++
 src/test/test_workqueue_pipe.sh       |  4 ++++
 src/test/test_workqueue_pipe2.sh      |  4 ++++
 src/test/test_workqueue_socketpair.sh |  4 ++++
 9 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/changes/workqueue_tests b/changes/workqueue_tests
new file mode 100644
index 0000000..7c5d756
--- /dev/null
+++ b/changes/workqueue_tests
@@ -0,0 +1,4 @@
+  o Testing:
+    - Run more workqueue tests as part of "make check". These had previously
+      been implemented, but you needed to know special command-line options
+      to enable them.
diff --git a/src/test/include.am b/src/test/include.am
index fa660f5..5a91c74 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -9,6 +9,12 @@ TESTS_ENVIRONMENT = \
 	export TESTING_TOR_BINARY="$(TESTING_TOR_BINARY)";
 
 TESTSCRIPTS = src/test/test_zero_length_keys.sh \
+	src/test/test_workqueue_cancel.sh \
+	src/test/test_workqueue_efd.sh \
+	src/test/test_workqueue_efd2.sh \
+	src/test/test_workqueue_pipe.sh \
+	src/test/test_workqueue_pipe2.sh \
+	src/test/test_workqueue_socketpair.sh \
 	src/test/test_switch_id.sh
 
 if USEPYTHON
@@ -16,7 +22,8 @@ TESTSCRIPTS += src/test/test_ntor.sh src/test/test_bt.sh
 endif
 
 TESTS += src/test/test src/test/test-slow src/test/test-memwipe \
-	src/test/test_workqueue src/test/test_keygen.sh \
+	src/test/test_workqueue \
+	src/test/test_keygen.sh \
 	src/test/test-timers \
 	$(TESTSCRIPTS)
 
@@ -257,4 +264,11 @@ EXTRA_DIST += \
 	src/test/test_zero_length_keys.sh \
 	src/test/test_ntor.sh src/test/test_bt.sh \
 	src/test/test-network.sh \
-	src/test/test_switch_id.sh
+	src/test/test_switch_id.sh \
+	src/test/test_workqueue_cancel.sh \
+	src/test/test_workqueue_efd.sh \
+	src/test/test_workqueue_efd2.sh \
+	src/test/test_workqueue_pipe.sh \
+	src/test/test_workqueue_pipe2.sh \
+	src/test/test_workqueue_socketpair.sh
+
diff --git a/src/test/test_workqueue.c b/src/test/test_workqueue.c
index cbcf596..75d68a7 100644
--- a/src/test/test_workqueue.c
+++ b/src/test/test_workqueue.c
@@ -400,6 +400,9 @@ main(int argc, char **argv)
   }
 
   rq = replyqueue_new(as_flags);
+  if (as_flags && rq == NULL)
+    return 77; // 77 means "skipped".
+
   tor_assert(rq);
   tp = threadpool_new(opt_n_threads,
                       rq, new_state, free_state, NULL);
diff --git a/src/test/test_workqueue_cancel.sh b/src/test/test_workqueue_cancel.sh
new file mode 100755
index 0000000..f7c6631
--- /dev/null
+++ b/src/test/test_workqueue_cancel.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+${builddir:-.}/src/test/test_workqueue -C 1
+
diff --git a/src/test/test_workqueue_efd.sh b/src/test/test_workqueue_efd.sh
new file mode 100755
index 0000000..4d89396
--- /dev/null
+++ b/src/test/test_workqueue_efd.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+${builddir:-.}/src/test/test_workqueue \
+	   --no-eventfd2 --no-pipe2 --no-pipe --no-socketpair
diff --git a/src/test/test_workqueue_efd2.sh b/src/test/test_workqueue_efd2.sh
new file mode 100755
index 0000000..7cfff45
--- /dev/null
+++ b/src/test/test_workqueue_efd2.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+${builddir:-.}/src/test/test_workqueue \
+	   --no-eventfd --no-pipe2 --no-pipe --no-socketpair
diff --git a/src/test/test_workqueue_pipe.sh b/src/test/test_workqueue_pipe.sh
new file mode 100755
index 0000000..afcef87
--- /dev/null
+++ b/src/test/test_workqueue_pipe.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+${builddir:-.}/src/test/test_workqueue \
+	   --no-eventfd2 --no-eventfd --no-pipe2 --no-socketpair
diff --git a/src/test/test_workqueue_pipe2.sh b/src/test/test_workqueue_pipe2.sh
new file mode 100755
index 0000000..a20a142
--- /dev/null
+++ b/src/test/test_workqueue_pipe2.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+${builddir:-.}/src/test/test_workqueue \
+	   --no-eventfd2 --no-eventfd --no-pipe --no-socketpair
diff --git a/src/test/test_workqueue_socketpair.sh b/src/test/test_workqueue_socketpair.sh
new file mode 100755
index 0000000..76af797
--- /dev/null
+++ b/src/test/test_workqueue_socketpair.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+${builddir:-.}/src/test/test_workqueue \
+	   --no-eventfd2 --no-eventfd --no-pipe2 --no-pipe





More information about the tor-commits mailing list