mirror of
https://github.com/apple/swift.git
synced 2026-10-04 11:58:22 +02:00
rdar://181843264 relates on this, we had disabled all unit tests for remote running for any tests using preset=friendly on the backtracer anywhere in the test. This is because friendly needs access to source code files which are not present when doing remote run. Split unit tests into a bit that can be run remotely like most tests, and a bit that uses preset=friendly that can't.
105 lines
8.0 KiB
Plaintext
105 lines
8.0 KiB
Plaintext
// RUN: %empty-directory(%t)
|
|
// RUN: %target-build-swift %S/../Inputs/StackOverflow.swift -parse-as-library -Onone %swift-debug-flags -o %t/stack-overflow.exe
|
|
// RUN: %target-codesign %t/stack-overflow.exe
|
|
// RUN: ! env %env-SWIFT_BACKTRACE=preset=friendly,enable=yes,cache=no %target-run %t/stack-overflow.exe %t/stack-overflow.exe.dSYM > %t/Friendly.out 2>&1
|
|
// RUN: %FileCheck %s --check-prefix FRIENDLY < %t/Friendly.out
|
|
|
|
// UNSUPPORTED: use_os_stdlib
|
|
// UNSUPPORTED: back_deployment_runtime
|
|
// UNSUPPORTED: asan
|
|
// UNSUPPORTED: remote_run
|
|
// REQUIRES: executable_test
|
|
// REQUIRES: backtracing
|
|
// REQUIRES: OS=macosx || OS=linux-gnu || OS=windows-msvc
|
|
|
|
// FIXME: We have to allow all the line numbers below to be off-by-one because
|
|
// of a CoreSymbolication bug. This also means we have to skip checking the
|
|
// source code output because currently, it's pointing at the wrong line :-(
|
|
|
|
// FRIENDLY: *** Program crashed: {{(Bad pointer dereference|Stack overflow)}} at 0x{{[0-9a-f]+}} ***
|
|
|
|
// FRIENDLY: Thread 0 {{(".*" )?}}crashed:
|
|
|
|
// FRIENDLY: {{[ ]}}0 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift
|
|
|
|
// SKIP-FRIENDLY: 1│ func recurse(_ level: Int) {
|
|
// SKIP-FRIENDLY-NEXT: │ ▲
|
|
// SKIP-FRIENDLY-NEXT: 2│ if level % 100000 == 0 {
|
|
|
|
// FRIENDLY: 1 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
|
|
// SKIP-FRIENDLY: 2│ if level % 100000 == 0 {
|
|
// SKIP-FRIENDLY-NEXT: 3│ print(level)
|
|
// SKIP-FRIENDLY-NEXT: 4│ }
|
|
// SKIP-FRIENDLY-NEXT: 5│ recurse(level + 1)
|
|
// SKIP-FRIENDLY-NEXT: │ ▲
|
|
// SKIP-FRIENDLY-NEXT: 6│ }
|
|
|
|
// FRIENDLY: 2 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 3 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 4 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 5 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 6 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 7 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 8 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 9 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 10 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 11 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 12 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 13 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 14 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 15 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 16 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 17 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 18 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 19 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 20 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 21 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 22 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 23 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 24 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 25 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 26 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 27 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 28 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 29 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 30 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 31 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 32 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 33 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 34 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 35 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 36 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 37 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 38 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 39 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 40 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 41 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 42 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 43 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 44 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 45 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: 46 recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: ...
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
// FRIENDLY-NEXT: {{[0-9]+}} recurse(_:) + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:5:3
|
|
|
|
// N.B. There can be platform differences surrounding the exact frame counts
|
|
|
|
// FRIENDLY: {{[0-9]+}} static StackOverflow.main() + {{[0-9]+}} in stack-overflow.exe at {{.*[\\/]}}StackOverflow.swift:11:5
|
|
|
|
// FRIENDLY: 9| struct StackOverflow {
|
|
// FRIENDLY-NEXT: 10| static func main() {
|
|
// FRIENDLY-NEXT: 11| recurse(1)
|
|
// FRIENDLY-NEXT: | ^
|
|
// FRIENDLY-NEXT: 12| }
|
|
// FRIENDLY-NEXT: 13| }
|