StdlibUnittest: run tests out of process

The test harness now can recover after test crashes, allowing:

- check for crashes themselves (without reporting them to the Python lit driver,
  which is about 10x slower -- even if CrashTracer is disabled);

- recover from unexpected test crashes and run the rest of the tests;

- this lays the groundwork for assertions that end the test execution, but
  allow the rest of the tests to run (rdar://17906801).

Note that we don't spawn a fresh process for every test.  We create a child
process and reuse it until it crashes.


Swift SVN r21090
This commit is contained in:
Dmitri Hrybenko
2014-08-07 15:14:57 +00:00
parent 44444107c9
commit f2436065db
32 changed files with 1850 additions and 1682 deletions

View File

@@ -1,5 +1,5 @@
// RUN: %target-build-swift -parse-stdlib -Xfrontend -disable-access-control -module-name a %s -o %t.out
// RUN: %target-run %t.out | FileCheck %s
// RUN: %target-run %t.out
import Swift
import StdlibUnittest
@@ -109,6 +109,5 @@ StringTestCase.test("SliceConcurrentAppend") {
barrierVar.dealloc(1)
}
StringTestCase.run()
// CHECK: {{^}}String: All tests passed
runAllTests()