tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 4bb06cae26f060499168c7f94bc546ed2138945c
parent 52b4b7e49209ba37771e3987a11c1be77f963588
Author: teor <teor@torproject.org>
Date:   Fri, 20 Mar 2020 11:25:04 +1000

Merge branch 'maint-0.4.3'

Diffstat:
M.appveyor.yml | 2+-
Achanges/ticket33643 | 5+++++
Achanges/ticket33643_part2 | 3+++
Msrc/test/testing_common.c | 15+++++++++++++++
4 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/.appveyor.yml b/.appveyor.yml @@ -97,7 +97,7 @@ test_script: Set-Location "${env:build}" Copy-Item "C:/msys64/${env:compiler_path}/bin/libssp-0.dll" -Destination "${env:build}/src/test" Copy-Item "C:/msys64/${env:compiler_path}/bin/zlib1.dll" -Destination "${env:build}/src/test" - Execute-Bash "VERBOSE=1 make -k -j2 check" + Execute-Bash "VERBOSE=1 TOR_SKIP_TESTCASES=crypto/openssl_version make -k -j2 check" } on_finish: diff --git a/changes/ticket33643 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/changes/ticket33643_part2 b/changes/ticket33643_part2 @@ -0,0 +1,3 @@ + o Testing (CI): + - On appveyor, skip the crypto/openssl_version test, which is failing + because of a mismatched library installation. Fix for 33643. diff --git a/src/test/testing_common.c b/src/test/testing_common.c @@ -358,6 +358,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();