Commit Graph

3570 Commits

Author SHA1 Message Date
David Zarzycki
283713d61d [Testing] Formalize stress tests
Stress tests are, by definition, stressful. They intentionally burn a
lot of resources by using randomness to hopefully surface state machine
bugs. Additionally, many stress tests are multi-threaded these days and
they may attempt to use all of the available CPUs to better uncover
bugs. In isolation, this is not a problem, but the test suite as a whole
assumes that individual tests are single threaded and therefore running
multiple stress tests at once can quickly spiral out of control.

This change formalizes stress tests and then treats them like long
tests, i.e. tested via 'check-swift-all' and otherwise opt-in.

Finally, with this change, the CI build bots might need to change if
they are still only testing 'validation' instead of all of the tests.
I see three options:

1) Run all of the tests. -- There are very few long tests left these
   days, and the additional costs seems small relative to the cost of
   the whole validation test suite before this change.
2) Continue checking 'validation', now sans stress tests.
3) Check 'validation', *then* the stress tests. If the former doesn't
   pass, then there is no point in the latter, and by running the stress
   tests separately, they stand a better chance of uncovering bugs and
   not overwhelming build bot resources.
2018-03-20 21:45:28 -04:00
Jonas Devlieghere
67cd3c490a [build-script] Re-introduce change to run lldb tests with lldb-dotest 2018-03-20 12:29:29 -07:00
Vedant Kumar
c1a34be32f [build-script] Back out change to run lldb tests with lldb-dotest
lldb-dotest does not forward the arguments from DOTEST_EXTRA properly.
For now, just build the lldb-dotest target to ensure the cmake build has
the right dependencies built. Invoke dotest.py manually as before.
2018-03-19 20:32:10 -07:00
Michael Gottesman
e567bc9028 [+0-all-args] Enable +0 normal arguments.
rdar://34222540
2018-03-19 20:25:31 -07:00
Vedant Kumar
cf6bb76f31 [build-script] Use lldb-dotest when testing lldb on Linux
... and pass the build directory explicitly, so the bot knows where to
look to package up test results.
2018-03-19 17:49:32 -07:00
Davide Italiano
694597d5fc Revert "[build-script] Disable watchpoint testing in lldb"
This reverts commit 4858cf691e
as it breaks the lldb bots.
2018-03-19 10:54:27 -07:00
Slava Pestov
fbdd36cda8 Merge pull request #15319 from slavapestov/remove-disable-resilience
Remove build-script flag to disable resilience
2018-03-16 20:37:29 -07:00
Slava Pestov
694fcddf4e Remove build-script flag to disable resilience 2018-03-16 19:56:17 -07:00
Vedant Kumar
4858cf691e [build-script] Disable watchpoint testing in lldb 2018-03-16 18:00:38 -07:00
Vedant Kumar
ac547c649f [build-script] cmake: Use lldb-dotest to drive lldb testing
Using lldb-dotest to drive testing solves the short-term problem of
there being missing test dependencies when we invoke dotest.py for cmake
builds.

Long term, we really want to delete as much lldb-specific logic from
build-script as possible and replace all of it with a single call to
lldb-dotest.

Even with this first cut, there are some nice simplifications
(build-script no longer needs to know how to find an out-of-tree
debugserver, etc).
2018-03-16 16:43:43 -07:00
Vedant Kumar
edf4681fd5 Merge pull request #15290 from vedantk/asserts
build-script: Implement support for --(no-)lldb-assertions
2018-03-16 12:33:36 -07:00
David Zarzycki
900c01fb3c Merge pull request #15233 from davezarzycki/stop_forcing_libcxx_use
[build-script] Stop forcing the use of libcxx
2018-03-16 13:36:03 -04:00
Vedant Kumar
9db99a0a24 build-script: Implement support for --(no-)lldb-assertions
* LLDB assertions are on by default, like swift assertions

* LLDB assertions can be enabled/disabled globally with the --assertions
  and --no-assertions options

Partially addresses: rdar://38524846
2018-03-15 20:45:02 -07:00
Vedant Kumar
7adb7a8eff Re-enable the full lldb test suite for non-smoke-test jobs
The lldb bots should run the full lldb test suite, not just the tests
reserved for pull-request testing.

This does not affect PR testing.

rdar://38462589
2018-03-15 18:13:21 -07:00
mishal_shah
a956a2c740 [Preset] Add support for no assertions toolchain for macOS 2018-03-15 15:11:41 -07:00
Arnold Schwaighofer
69975aae93 Merge pull request #15235 from aschwaighofer/swift4_section_rename
Mark swift sections as swift4 for Swift 4.2
2018-03-14 15:32:20 -07:00
David Zarzycki
b6c3021ed1 [build-script] Stop forcing the use of libcxx
Any C++ standard library is good enough these days.
2018-03-14 18:04:34 -04:00
Vedant Kumar
950b97a327 [build-script] Pass --out-of-tree-debugserver to lldb tests
We need this flag to tell the test harness to skip certain tests.
2018-03-14 12:35:29 -07:00
Vedant Kumar
267de6e2e1 [build-script] Support --lldb-test-swift-only=0
Make it possible to run the full lldb test suite through build-script
again.
2018-03-14 10:58:06 -07:00
Arnold Schwaighofer
0c11e1a0a3 Mark swift sections as swift4 for Swift 4.2
rdar://36363251
2018-03-14 10:27:28 -07:00
Rintaro Ishizaki
bf805e47ea [Syntax] Fix make_missing_child() in C++ API 2018-03-14 20:42:51 +09:00
Rintaro Ishizaki
ea5f93807f [Syntax] Add 'unknown' token to Token.py 2018-03-14 20:38:48 +09:00
Harlan
a03ed4384e [Syntax] Add node definition for enums and enum cases (#15196) 2018-03-13 13:11:13 -07:00
Slava Pestov
7415d35f3a Merge pull request #15194 from slavapestov/enable-resilience-again
Enable resilience again
2018-03-12 21:54:14 -07:00
Rintaro Ishizaki
54b28b6cb6 Merge pull request #15152 from omochi/lex-remove-fields
[Parse] Remove unnecessary Lexer fields
2018-03-13 12:19:36 +09:00
mishal_shah
96b695b55c [Update-checkout] Update the swift-4.2-branch to match clang, llvm, and compiler-rt branches 2018-03-12 18:23:37 -07:00
Slava Pestov
de4f1f8a66 Re-enable resilience for stdlib and overlays 2018-03-12 15:44:07 -07:00
eeckstein
cc983a7afc Revert "Re-enable resilience for stdlib and overlays" 2018-03-12 10:24:33 -07:00
omochimetaru
420291bbad [Syntax] isComment in trivia 2018-03-12 23:08:37 +09:00
Slava Pestov
b758621ed4 Re-enable resilience for stdlib and overlays 2018-03-10 00:44:40 -08:00
swift-ci
d18d9d8455 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-09 09:38:10 -08:00
Arnold Schwaighofer
1e4f55de8d Merge pull request #15046 from aschwaighofer/without_actually_escaping_verification
Implement withoutActuallyEscaping verification
2018-03-09 09:34:06 -08:00
swift-ci
d75d744472 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-08 16:38:26 -08:00
Ankit Aggarwal
b3b24eb928 [build-script] Add plumbing for llbuild assertions
This adds two flags to the build script to enable/disable assertions in
llbuild: --llbuild-assertions, --no-llbuild-assertions

The default value is taken from the global assertions flag.
2018-03-08 16:22:40 -08:00
swift-ci
70ba111a83 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-08 10:58:04 -08:00
Mishal Shah
ad63e140e8 Merge pull request #2476 from shahmishal/master
[Preset] Enable optimized test for Linux package.
2018-03-08 10:53:35 -08:00
Bob Wilson
b5b4b7946c Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-07 16:59:30 -08:00
Xi Ge
e61c8958fd SwiftSyntax: simply trivia implementation on the Swift side. 2018-03-07 16:19:09 -08:00
Arnold Schwaighofer
5940796cc1 SIL: Add an is_escaping_closure instruction
Will be used to verify that withoutActuallyEscaping's block does not
escape the closure.

``%escaping = is_escaping_closure %closure`` tests the reference count. If the
closure is not uniquely referenced it prints out and error message and
returns true. Otherwise, it returns false. The returned result can be
used with a ``cond_fail %escaping`` instruction to abort the program.

rdar://35525730
2018-03-07 08:56:00 -08:00
swift-ci
f6bc6e7d4a Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 18:17:56 -08:00
swift-ci
19cf4191d2 Merge pull request #15029 from gottesmm/pr-e40fbacf66d0fc3655419bf3cb1bd0ca8b83fa5b 2018-03-06 18:05:52 -08:00
swift-ci
cdff736edc Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 17:58:02 -08:00
Xi Ge
94c3f55117 libSyntax: extract meta-information of trivia kinds to syntax_gyb_support. NFC
The existing libSyntax infrastructure uses external python
dictionaries to share logic between C++ and Swift implementations.
This patch teaches trivia kinds to adapt to this infrastructure
 as well.
2018-03-06 17:45:43 -08:00
Michael Gottesman
37f34cc624 [lldb-with-tools] Rename create_swift_disassemble_viewcfg => disassemble_asm_cfg.
Now the python method matches the name used on the lldb command line.
2018-03-06 16:40:13 -08:00
swift-ci
44761ddc84 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 13:38:19 -08:00
Ankit Aggarwal
4a988dc0c4 [build-script] Disable building llbuild Swift bindings
The CMake support in llbuild is finding the compiler in the system
instead of the build products. This causes build errors if Swift is old
on a system.
2018-03-06 12:27:37 -08:00
swift-ci
7033af151e Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 08:58:22 -08:00
Jordan Rose
5eb6864406 build-presets.ini: Add a PR-test-like preset with resilience enabled (#14946)
...so that we can test PRs with resilience enabled.
("PR-test-like" = the preset used by "Please test macOS platform" by default)
2018-03-06 08:55:23 -08:00
swift-ci
f5ab8b5a26 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 02:17:56 -08:00
Michael Gottesman
879808474b [lldb-with-tools] Add disassemble-to-file.
Sometimes it is really useful to be able to dump the disassembly from lldb into
a file so that one can work with the disassembly in an editor. The disassemble
command in lldb does not provide such facility today. So this lldb function in
the lldb toolbox provides such a facility.
2018-03-06 02:05:22 -08:00