diff --git a/test/Profiler/coverage_relative_path.swift b/test/Profiler/coverage_relative_path.swift index 2e5683b382abf..5dde002dc72da 100644 --- a/test/Profiler/coverage_relative_path.swift +++ b/test/Profiler/coverage_relative_path.swift @@ -1,16 +1,15 @@ -// %s expands to an absolute path, so to test relative paths we need to create a -// clean directory, put the source there, and cd into it. +// To make sure this test is resilient to directory changes, we create nested directories inside of the +// temporary test directory and assert those exist, or don't exist, in the emitted ir +// // RUN: rm -rf %t -// RUN: mkdir -p %t/foo/bar/baz -// RUN: echo "func coverage() {}" > %t/foo/bar/baz/coverage_relative_path.swift -// RUN: cd %t/foo/bar +// RUN: mkdir -p %t/root/nested +// RUN: echo "func coverage() {}" > %t/root/nested/coverage_relative_path.swift +// RUN: cd %t/root -// RUN: %target-swift-frontend -profile-generate -profile-coverage-mapping -Xllvm -enable-name-compression=false -emit-ir %/t/foo/bar/baz/coverage_relative_path.swift | %FileCheck -check-prefix=ABSOLUTE %s +// RUN: %target-swift-frontend -profile-generate -profile-coverage-mapping -Xllvm -enable-name-compression=false -emit-ir nested/coverage_relative_path.swift | %FileCheck -check-prefix=ABSOLUTE %s // -// ABSOLUTE: @__llvm_coverage_mapping = {{.*"\\01.*foo.*bar.*baz.*coverage_relative_path\.swift}} +// ABSOLUTE: @__llvm_coverage_mapping = {{.*"\\01.*root.*nested.*coverage_relative_path\.swift}} -// RUN: %target-swift-frontend -profile-generate -profile-coverage-mapping -Xllvm -enable-name-compression=false -coverage-prefix-map %/t/foo/bar=. -emit-ir %/t/foo/bar/baz/coverage_relative_path.swift | %FileCheck -check-prefix=RELATIVE %s +// RUN: %target-swift-frontend -profile-generate -profile-coverage-mapping -Xllvm -enable-name-compression=false -coverage-prefix-map %/t/root=. -emit-ir %/t/root/nested/coverage_relative_path.swift | %FileCheck -check-prefix=RELATIVE %s // -// RELATIVE: @__llvm_coverage_mapping = {{.*"\\01[^/]*}}.{{/|\\}}baz{{.*coverage_relative_path\.swift}} - -func coverage() {} +// RELATIVE: @__llvm_coverage_mapping = {{.*"\\01[^/]*}}.{{/|\\}}nested{{.*coverage_relative_path\.swift}}