[tor-commits] [tor/release-0.4.2] Add a TOR_SKIP_TESTCASES environment variable for suppressing tests.
teor at torproject.org
teor at torproject.org
Fri Mar 20 01:28:01 UTC 2020
commit 6bafe97bc1e9c66e5e727cdf5160341ae58b4f81
Author: Nick Mathewson <nickm at torproject.org>
Date: Thu Mar 19 15:25:11 2020 -0400
Add a TOR_SKIP_TESTCASES environment variable for suppressing tests.
For example, "TOR_SKIP_TESTCASES=crypto/.. ./src/test/test" will run
the tests and suppress all the "crypto/" tests. You could get the
same effect by running "./src/test/test :crypto/..", but that can be
harder to arrange from CI.
Part of a fix/workaround for 33643.
---
changes/ticket33643 | 5 +++++
src/test/testing_common.c | 15 +++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/changes/ticket33643 b/changes/ticket33643
new file mode 100644
index 000000000..7fddab74e
--- /dev/null
+++ b/changes/ticket33643
@@ -0,0 +1,5 @@
+ o Minor features (testing):
+ - The unit tests now support a "TOR_SKIP_TESTCASES" environment variable
+ to specify a list of space-separated test cases that should not be
+ executed. We will use this to disable certain tests that are failing on
+ Appveyor because of mismatched OpenSSL libraries. Part of ticket 33643.
diff --git a/src/test/testing_common.c b/src/test/testing_common.c
index 62d40a42f..2c9c4538b 100644
--- a/src/test/testing_common.c
+++ b/src/test/testing_common.c
@@ -348,6 +348,21 @@ main(int c, const char **v)
atexit(remove_directory);
+ /* Look for TOR_SKIP_TESTCASES: a space-separated list of tests to skip. */
+ const char *skip_tests = getenv("TOR_SKIP_TESTCASES");
+ if (skip_tests) {
+ smartlist_t *skip = smartlist_new();
+ smartlist_split_string(skip, skip_tests, NULL,
+ SPLIT_IGNORE_BLANK, -1);
+ int n = 0;
+ SMARTLIST_FOREACH_BEGIN(skip, char *, cp) {
+ n += tinytest_skip(testgroups, cp);
+ tor_free(cp);
+ } SMARTLIST_FOREACH_END(cp);
+ printf("Skipping %d testcases.\n", n);
+ smartlist_free(skip);
+ }
+
int have_failed = (tinytest_main(c, v, testgroups) != 0);
free_pregenerated_keys();
More information about the tor-commits
mailing list