diff --git a/bin/tests/system/dlzexternal/prereq.sh b/bin/tests/system/dlzexternal/prereq.sh new file mode 100644 index 0000000000..6067aeb548 --- /dev/null +++ b/bin/tests/system/dlzexternal/prereq.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +. ../conf.sh + +$FEATURETEST --tsan && { + echo_i "TSAN - skipping dlzexternal test" + exit 255 +} + +exit 0 diff --git a/bin/tests/system/dyndb/prereq.sh b/bin/tests/system/dyndb/prereq.sh new file mode 100644 index 0000000000..7f17ef8854 --- /dev/null +++ b/bin/tests/system/dyndb/prereq.sh @@ -0,0 +1,17 @@ +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +. ../conf.sh + +$FEATURETEST --tsan && { + echo_i "TSAN - skipping dyndb test" + exit 255 +} + +exit 0 diff --git a/bin/tests/system/feature-test.c b/bin/tests/system/feature-test.c index 3b772968b9..88e6c91c5a 100644 --- a/bin/tests/system/feature-test.c +++ b/bin/tests/system/feature-test.c @@ -43,6 +43,7 @@ usage(void) { fprintf(stderr, "\t--have-geoip2\n"); fprintf(stderr, "\t--have-libxml2\n"); fprintf(stderr, "\t--ipv6only=no\n"); + fprintf(stderr, "\t--tsan\n"); fprintf(stderr, "\t--with-dlz-filesystem\n"); fprintf(stderr, "\t--with-idn\n"); fprintf(stderr, "\t--with-lmdb\n"); @@ -125,6 +126,19 @@ main(int argc, char **argv) { #endif /* ifdef HAVE_LIBXML2 */ } + if (strcmp(argv[1], "--tsan") == 0) { +#if defined(__has_feature) +#if __has_feature(thread_sanitizer) + return (0); +#endif +#endif +#if __SANITIZE_THREAD__ + return (0); +#else + return (1); +#endif + } + if (strcmp(argv[1], "--ipv6only=no") == 0) { #ifdef WIN32 return (0); diff --git a/util/copyrights b/util/copyrights index b27720e05a..73f8c06aec 100644 --- a/util/copyrights +++ b/util/copyrights @@ -326,6 +326,7 @@ ./bin/tests/system/dlzexternal/clean.sh SH 2010,2012,2014,2015,2016,2018,2019,2020 ./bin/tests/system/dlzexternal/driver/driver.c C 2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 ./bin/tests/system/dlzexternal/driver/driver.h C 2011,2016,2018,2019,2020 +./bin/tests/system/dlzexternal/prereq.sh SH 2020 ./bin/tests/system/dlzexternal/setup.sh SH 2010,2012,2014,2016,2017,2018,2019,2020 ./bin/tests/system/dlzexternal/tests.sh SH 2010,2011,2012,2013,2014,2015,2016,2018,2019,2020 ./bin/tests/system/dns64/clean.sh SH 2010,2012,2014,2015,2016,2018,2019,2020 @@ -400,6 +401,7 @@ ./bin/tests/system/dyndb/driver/util.h X 2015,2018,2019,2020 ./bin/tests/system/dyndb/driver/zone.c X 2015,2018,2019,2020 ./bin/tests/system/dyndb/driver/zone.h X 2015,2018,2019,2020 +./bin/tests/system/dyndb/prereq.sh SH 2020 ./bin/tests/system/dyndb/setup.sh SH 2018,2019,2020 ./bin/tests/system/dyndb/tests.sh SH 2015,2016,2018,2019,2020 ./bin/tests/system/ecdsa/clean.sh SH 2012,2014,2016,2018,2019,2020