Skip to content

Commit 0c33bba

Browse files
committed
---
yaml --- r: 284539 b: refs/heads/preset-for-llvm-tsan-libdispatch-tests c: 8ead7bf h: refs/heads/master i: 284537: d4823c8 284535: f78fa6d
1 parent 18ff668 commit 0c33bba

File tree

8 files changed

+69
-2
lines changed

8 files changed

+69
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1309,4 +1309,4 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2019-04-06-a: c07bed7748ebc34c450425b544770
13091309
refs/tags/swift-DEVELOPMENT-SNAPSHOT-2019-04-07-a: f810da9432a0970cc3f82d5b1e9b3b20b6e43db9
13101310
refs/heads/compnerd-windows-is-fetch: d80736e9a0b724569829ccb5b32a8be9fb968e4f
13111311
refs/heads/natecook1000-patch-2: 1632fbdf63c06b3e90015cb20c1d629e35aed65d
1312-
refs/heads/preset-for-llvm-tsan-libdispatch-tests: 81ce653bc3229b18744396fa364bf6133f952785
1312+
refs/heads/preset-for-llvm-tsan-libdispatch-tests: 8ead7bfd3dfbc86691622c0465fe13decbf879e0

branches/preset-for-llvm-tsan-libdispatch-tests/utils/build-presets.ini

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1024,6 +1024,23 @@ skip-build-swift
10241024
skip-build-cmark
10251025
llvm-include-tests
10261026

1027+
1028+
[preset: buildbot_incremental_linux,tsan-libdispatch-test]
1029+
mixin-preset=buildbot_incremental_linux,llvm-only
1030+
build-subdir=buildbot_incremental_tsan_libdispatch_test
1031+
1032+
llvm-cmake-options=-DLLVM_ENABLE_PROJECTS=clang;libcxx;compiler-rt \
1033+
-DCOMPILER_RT_INTERCEPT_LIBDISPATCH=ON \
1034+
-DCOMPILER_RT_LIBDISPATCH_INSTALL_PATH=/home/yln/work/swift-source/build/buildbot_incremental_tsan_libdispatch_test/toolchain-linux-x86_64/usr
1035+
llvm-install-components=clang
1036+
1037+
libdispatch-cmake-options=-DENABLE_SWIFT=OFF
1038+
libdispatch
1039+
install-libdispatch
1040+
1041+
tsan-libdispatch-test
1042+
1043+
10271044
[preset: buildbot_incremental_linux,asan]
10281045
mixin-preset=buildbot_incremental_linux
10291046
build-subdir=buildbot_incremental_asan

branches/preset-for-llvm-tsan-libdispatch-tests/utils/build-script

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ class BuildScriptInvocation(object):
342342
'build_indexstoredb',
343343
'build_sourcekitlsp',
344344
'build_toolchainbenchmarks',
345+
'tsan_libdispatch_test',
345346
]
346347
has_target_needing_toolchain = \
347348
bool(sum(getattr(args, x) for x in targets_needing_toolchain))
@@ -896,6 +897,8 @@ class BuildScriptInvocation(object):
896897
product_classes.append(products.SourceKitLSP)
897898
if self.args.build_toolchainbenchmarks:
898899
product_classes.append(products.Benchmarks)
900+
if self.args.tsan_libdispatch_test:
901+
product_classes.append(products.TSanLibDispatch)
899902
return product_classes
900903

901904
def execute(self):

branches/preset-for-llvm-tsan-libdispatch-tests/utils/build-script-impl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2750,6 +2750,7 @@ for host in "${ALL_HOSTS[@]}"; do
27502750
call rm -rf "${LIBDISPATCH_BUILD_DIR}"
27512751

27522752
cmake_options=(
2753+
-DENABLE_SWIFT=YES
27532754
${cmake_options[@]}
27542755
-DCMAKE_BUILD_TYPE:STRING="${LIBDISPATCH_BUILD_TYPE}"
27552756
-DCMAKE_C_COMPILER:PATH="${LLVM_BIN}/clang"
@@ -2758,7 +2759,7 @@ for host in "${ALL_HOSTS[@]}"; do
27582759
-DCMAKE_INSTALL_PREFIX:PATH="$(get_host_install_prefix ${host})"
27592760
-DCMAKE_INSTALL_LIBDIR:PATH="lib"
27602761

2761-
-DENABLE_SWIFT=YES
2762+
# -DENABLE_SWIFT=YES # Moved above ${cmake_options[@]}, so we can override it.
27622763
-DSwift_DIR="${SWIFT_BUILD_PATH}/lib/cmake/swift"
27632764

27642765
-DENABLE_TESTING=YES

branches/preset-for-llvm-tsan-libdispatch-tests/utils/build_swift/driver_arguments.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,6 +788,9 @@ def create_argument_parser():
788788
help='if the Swift Benchmark Suite is run after building, run N '
789789
'iterations with -Onone')
790790

791+
option('--tsan-libdispatch-test', toggle_true,
792+
help='run TSan (compiler-rt) libdispatch tests')
793+
791794
option('--skip-test-osx', toggle_false('test_osx'),
792795
help='skip testing Swift stdlibs for Mac OS X')
793796
option('--skip-test-linux', toggle_false('test_linux'),

branches/preset-for-llvm-tsan-libdispatch-tests/utils/build_swift/tests/expected_options.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@
158158
'llvm_max_parallel_lto_link_jobs':
159159
host.max_lto_link_job_counts()['llvm'],
160160
'llvm_targets_to_build': 'X86;ARM;AArch64;PowerPC;SystemZ;Mips',
161+
'tsan_libdispatch_test': False,
161162
'long_test': False,
162163
'lto_type': None,
163164
'show_sdks': False,
@@ -450,6 +451,7 @@ class IgnoreOption(_BaseOption):
450451
EnableOption('--indexstore-db', dest='build_indexstoredb'),
451452
EnableOption('--sourcekit-lsp', dest='build_sourcekitlsp'),
452453
EnableOption('--toolchain-benchmarks', dest='build_toolchainbenchmarks'),
454+
EnableOption('--tsan-libdispatch-test'),
453455
EnableOption('--long-test'),
454456
EnableOption('--show-sdks'),
455457
EnableOption('--stress-test'),

branches/preset-for-llvm-tsan-libdispatch-tests/utils/swift_build_support/swift_build_support/products/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from .swiftevolve import SwiftEvolve
2828
from .swiftpm import SwiftPM
2929
from .swiftsyntax import SwiftSyntax
30+
from .tsan_libdispatch import TSanLibDispatch
3031
from .xctest import XCTest
3132

3233
__all__ = [
@@ -49,4 +50,5 @@
4950
'IndexStoreDB',
5051
'SourceKitLSP',
5152
'Benchmarks',
53+
'TSanLibDispatch',
5254
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# swift_build_support/products/tsan_libdispatch.py --------------*- python -*-
2+
#
3+
# This source file is part of the Swift.org open source project
4+
#
5+
# Copyright (c) 2014 - 2019 Apple Inc. and the Swift project authors
6+
# Licensed under Apache License v2.0 with Runtime Library Exception
7+
#
8+
# See https://swift.org/LICENSE.txt for license information
9+
# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
10+
#
11+
# ----------------------------------------------------------------------------
12+
13+
import os
14+
15+
from . import product
16+
from .. import shell
17+
18+
19+
class TSanLibDispatch(product.Product):
20+
@classmethod
21+
def product_source_name(cls):
22+
return "tsan-libdispatch-test"
23+
24+
@classmethod
25+
def is_build_script_impl_product(cls):
26+
return False
27+
28+
def build(self, host_target):
29+
"""We reuse the llvm build directory."""
30+
# Clang is already built. TSan runtime will be built by 'check-tsan' in
31+
# test step.
32+
pass
33+
34+
def test(self, host_target):
35+
"""Run check-tsan target with a LIT filter for libdispatch."""
36+
llvm_build_dir = os.path.join(self.build_dir, '..', 'llvm-'+host_target)
37+
cmd = ['cmake', '--build', llvm_build_dir, '--target', 'check-tsan']
38+
env = {'LIT_FILTER': 'libdispatch'}
39+
shell.call(cmd, env=env)

0 commit comments

Comments
 (0)