]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Don't run dyndb and dlzexternal if running TSAN as
authorMark Andrews <marka@isc.org>
Fri, 28 Aug 2020 06:31:35 +0000 (16:31 +1000)
committerMark Andrews <marka@isc.org>
Mon, 7 Sep 2020 22:07:40 +0000 (22:07 +0000)
the dlopen flags being used are incompatible with TSAN.

bin/tests/system/dlzexternal/prereq.sh [new file with mode: 0644]
bin/tests/system/dyndb/prereq.sh [new file with mode: 0644]
bin/tests/system/feature-test.c
util/copyrights

diff --git a/bin/tests/system/dlzexternal/prereq.sh b/bin/tests/system/dlzexternal/prereq.sh
new file mode 100644 (file)
index 0000000..6067aeb
--- /dev/null
@@ -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 (file)
index 0000000..7f17ef8
--- /dev/null
@@ -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
index 3b772968b9f81c4017ac2e46c86d96e53df39d5f..88e6c91c5a9bae2da42ef80dac11ea110e18daae 100644 (file)
@@ -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);
index b27720e05ac13ccb748995e9f6a55396a7d56837..73f8c06aecd4a7e8fea8cba82163d7288ec4564b 100644 (file)
 ./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
 ./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