[gjs: 2/4] CI: Move thread sanitizer job to manual section




commit dee1935cbfa484333d84dd4deba9499ce739e626
Author: Philip Chimento <philip chimento gmail com>
Date:   Sat Sep 25 16:19:36 2021 -0700

    CI: Move thread sanitizer job to manual section
    
    Also remove the 'thread-safe' test suite, since the job is now marked as
    allowed-to-fail, we may as well run TSAN on the tests where we know that
    GLib or GIO cause false positives.
    
    See #440 for steps to restore the job.

 .gitlab-ci.yml                 |  6 ++++--
 installed-tests/js/meson.build | 19 ++-----------------
 installed-tests/meson.build    | 10 ++--------
 test/meson.build               |  2 +-
 4 files changed, 9 insertions(+), 28 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cc531dad..28b0fbc5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -92,14 +92,16 @@ sanitizer_gcc:
 
 sanitizer_thread_gcc:
   <<: *build
-  stage: test
+  stage: manual
+  when: manual
+  allow_failure: true
   tags:
     - asan # TSAN needs CAP_SYS_PTRACE
   image: registry.gitlab.gnome.org/gnome/gjs:fedora.mozjs78-debug
   variables:
     TASK_ID: "fedora-x86_64-gcc-default-tsan-check"
     CONFIG_OPTS: -Db_sanitize=thread
-    TEST_OPTS: --timeout-multiplier=3 --suite=thread-safe
+    TEST_OPTS: --timeout-multiplier=3
   except:
     - schedules
 
diff --git a/installed-tests/js/meson.build b/installed-tests/js/meson.build
index b95387b1..5ca37103 100644
--- a/installed-tests/js/meson.build
+++ b/installed-tests/js/meson.build
@@ -143,13 +143,6 @@ jasmine_tests = [
     'Tweener',
 ]
 
-# FIXME(3v1n0): We should really address these issues
-non_thread_safe = [
-    'Gtk4',
-    'Importer',
-    'ESModules',
-]
-
 if build_cairo
     jasmine_tests += 'Cairo'
 endif
@@ -185,13 +178,9 @@ endif
 
 foreach test : jasmine_tests
     test_file = files('test@0@.js'.format(test))
-    suite = ['JS']
-    if test not in non_thread_safe
-        suite += 'thread-safe'
-    endif
 
     test(test, minijasmine, args: test_file, depends: tests_dependencies,
-        env: tests_environment, protocol: 'tap', suite: suite)
+        env: tests_environment, protocol: 'tap', suite: 'JS')
 
     test_description_subst = {
         'name': 'test@0@.js'.format(test),
@@ -253,13 +242,9 @@ endif
 
 foreach test : modules_tests
     test_file = files('test@0@.js'.format(test))
-    suite = ['JS']
-    if test not in non_thread_safe
-        suite += 'thread-safe'
-    endif
 
     test(test, minijasmine, args: [test_file, '-m'], env: tests_environment,
-        protocol: 'tap', suite: suite)
+        protocol: 'tap', suite: 'JS')
 
     esm_test_description_subst = {
         'name': 'test@0@.js'.format(test),
diff --git a/installed-tests/meson.build b/installed-tests/meson.build
index d695dbec..ee5039eb 100644
--- a/installed-tests/meson.build
+++ b/installed-tests/meson.build
@@ -10,7 +10,6 @@ installed_tests_metadir = abs_datadir / 'installed-tests' / meson.project_name()
 # Simple shell script tests #
 
 simple_tests = []
-non_thread_safe = ['CommandLineModules']
 
 # The test scripts need to be ported from shell scripts
 # for clang-cl builds, which do not use BASH-style shells
@@ -24,14 +23,9 @@ endif
 
 foreach test : simple_tests
     test_file = files('scripts' / 'test@0@.sh'.format(test))
-    suite = ['Scripts']
-    if test not in non_thread_safe
-        suite += 'thread-safe'
-    endif
 
     test(test, test_file, env: tests_environment, protocol: 'tap',
-         suite: suite)
-    
+         suite: 'Scripts')
 
     test_description_subst = {
         'name': 'test@0@.sh'.format(test),
@@ -86,7 +80,7 @@ foreach test : debugger_tests
 
     test('@0@ command'.format(test), debugger_test_driver,
         args: test_file, env: tests_environment, protocol: 'tap',
-        suite: ['Debugger', 'thread-safe'])
+        suite: 'Debugger')
 
     test_description_subst = {
         'name': '@0@.debugger'.format(test),
diff --git a/test/meson.build b/test/meson.build
index b13f67db..b3ddd43a 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -47,4 +47,4 @@ gjs_tests_internal = executable('gjs-tests-internal',
 test('Internal API tests', gjs_tests_internal,
     args: ['--tap', '--keep-going', '--verbose'],
     env: tests_environment, protocol: 'tap',
-    suite: ['C', 'thread-safe'])
+    suite: 'C')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]