Skip to content

Commit 5acd3e5

Browse files
committed
test: replace shell with python to enable portability
This replaces the `process_fine_grained_swiftdeps_with_fingerprints` helper with a python script that mimics the shell behaviour. Adjust the generated interface diffs to use unified formats. This allows us to enable these tests on Windows.
1 parent 94c2be8 commit 5acd3e5

15 files changed

+227
-250
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
2+
import subprocess
3+
import sys
4+
5+
# Fine-grained swiftdeps files use multiple lines for each graph node.
6+
# Compress such a file so that each entry is one line of the form:
7+
# <kind> <aspect> <context> <name> <isProvides> <fingerprint>
8+
# Also sort for consistency, since the node order can vary.
9+
10+
output = subprocess.run(
11+
[
12+
sys.argv[1],
13+
"--to-yaml",
14+
"--input-filename={}".format(sys.argv[2]),
15+
"--output-filename=-",
16+
],
17+
stdout=subprocess.PIPE,
18+
)
19+
entries = []
20+
k = a = c = f = n = s = p = ""
21+
for line in output.stdout.decode("utf-8").split("\n"):
22+
if "kind:" in line:
23+
k = line.split()[1]
24+
f = "<no fingerprint>"
25+
if "aspect:" in line:
26+
a = line.split()[1]
27+
if "context:" in line:
28+
c = line.split()[1]
29+
if "fingerprint:" in line:
30+
f = line.split()[1]
31+
if "name:" in line:
32+
n = ' '.join(line.split()[1:])
33+
if "sequenceNumber:" in line:
34+
s = line.split()[1]
35+
if "isProvides:" in line:
36+
p = line.split()[1]
37+
entries.append(' '.join([k, a, c, n, p, f]))
38+
entries.sort()
39+
print("\n".join(entries))

test/Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh

-9
This file was deleted.
+15-19
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
1-
// REQUIRES: shell
2-
// Also uses awk:
3-
// XFAIL OS=windows
4-
51
// When adding a private protocol method, the interface hash should stay the same
62
// The per-type fingerprint should change
73

84
// RUN: %empty-directory(%t)
95
// RUN: %{python} %utils/split_file.py -o %t %s
106
// RUN: cp %t/{a,x}.swift
117
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
12-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/a-processed.swiftdeps
8+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/a-processed.swiftdeps
139
// RUN: cp %t/{b,x}.swift
1410
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
15-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/b-processed.swiftdeps
11+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/b-processed.swiftdeps
1612

17-
// RUN: not diff %t/{a,b}-processed.swiftdeps >%t/diffs
13+
// RUN: not diff -u %t/a-processed.swiftdeps %t/b-processed.swiftdeps > %t/diffs
1814

1915
// BEGIN a.swift
2016
class C {
@@ -39,17 +35,17 @@ class C {
3935

4036
// CHECK-SAME-INTERFACE-HASH-NOT: sourceFileProvides
4137

42-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel implementation '' C true
43-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel interface '' C true
44-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel implementation '' C true
45-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel interface '' C true
38+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel implementation '' C true
39+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel interface '' C true
40+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel implementation '' C true
41+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel interface '' C true
4642

47-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal implementation 4main1C{{[^ ]+}} '' true
48-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal interface 4main1C{{[^ ]+}} '' true
49-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal implementation 4main1C{{[^ ]+}} '' true
50-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal interface 4main1C{{[^ ]+}} '' true
43+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal implementation 4main1C{{[^ ]+}} '' true
44+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal interface 4main1C{{[^ ]+}} '' true
45+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal implementation 4main1C{{[^ ]+}} '' true
46+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal interface 4main1C{{[^ ]+}} '' true
5147

52-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember implementation 4main1C{{[^ ]+}} '' true
53-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember interface 4main1C{{[^ ]+}} '' true
54-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember implementation 4main1C{{[^ ]+}} '' true
55-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember interface 4main1C{{[^ ]+}} '' true
48+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember implementation 4main1C{{[^ ]+}} '' true
49+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember interface 4main1C{{[^ ]+}} '' true
50+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember implementation 4main1C{{[^ ]+}} '' true
51+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember interface 4main1C{{[^ ]+}} '' true
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
1-
// REQUIRES: shell
2-
// Also uses awk:
3-
// XFAIL OS=windows
4-
51
// RUN: %empty-directory(%t)
62
// RUN: %{python} %utils/split_file.py -o %t %s
73
// RUN: cp %t/{a,x}.swift
84
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
9-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/a-processed.swiftdeps
5+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/a-processed.swiftdeps
106
// RUN: cp %t/{b,x}.swift
117
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
12-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/b-processed.swiftdeps
8+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/b-processed.swiftdeps
139

14-
// RUN: not diff %t/{a,b}-processed.swiftdeps >%t/diffs
10+
// RUN: not diff -u %t/a-processed.swiftdeps %t/b-processed.swiftdeps > %t/diffs
1511

1612
// BEGIN a.swift
1713
private class C {
@@ -37,17 +33,17 @@ private class C {
3733

3834
// CHECK-SAME-INTERFACE-HASH-NOT: sourceFileProvides
3935

40-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel implementation '' C true
41-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel interface '' C true
42-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel implementation '' C true
43-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel interface '' C true
36+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel implementation '' C true
37+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel interface '' C true
38+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel implementation '' C true
39+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel interface '' C true
4440

45-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal implementation 4main1C{{[^ ]+}} '' true
46-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal interface 4main1C{{[^ ]+}} '' true
47-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal implementation 4main1C{{[^ ]+}} '' true
48-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal interface 4main1C{{[^ ]+}} '' true
41+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal implementation 4main1C{{[^ ]+}} '' true
42+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal interface 4main1C{{[^ ]+}} '' true
43+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal implementation 4main1C{{[^ ]+}} '' true
44+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal interface 4main1C{{[^ ]+}} '' true
4945

50-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember implementation 4main1C{{[^ ]+}} '' true
51-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember interface 4main1C{{[^ ]+}} '' true
52-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember implementation 4main1C{{[^ ]+}} '' true
53-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember interface 4main1C{{[^ ]+}} '' true
46+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember implementation 4main1C{{[^ ]+}} '' true
47+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember interface 4main1C{{[^ ]+}} '' true
48+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember implementation 4main1C{{[^ ]+}} '' true
49+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember interface 4main1C{{[^ ]+}} '' true
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
1-
// REQUIRES: shell
2-
// Also uses awk:
3-
// XFAIL OS=windows
4-
51
// RUN: %empty-directory(%t)
62
// RUN: %{python} %utils/split_file.py -o %t %s
73
// RUN: cp %t/{a,x}.swift
84
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
9-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/a-processed.swiftdeps
5+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/a-processed.swiftdeps
106
// RUN: cp %t/{b,x}.swift
117
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
12-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/b-processed.swiftdeps
8+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/b-processed.swiftdeps
139

14-
// RUN: not diff %t/{a,b}-processed.swiftdeps >%t/diffs
10+
// RUN: not diff -u %t/a-processed.swiftdeps %t/b-processed.swiftdeps > %t/diffs
1511

1612
// BEGIN a.swift
1713
class C {
@@ -37,17 +33,17 @@ class C {
3733

3834
// CHECK-SAME-INTERFACE-HASH-NOT: sourceFileProvides
3935

40-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel implementation '' C true
41-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel interface '' C true
42-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel implementation '' C true
43-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel interface '' C true
36+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel implementation '' C true
37+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel interface '' C true
38+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel implementation '' C true
39+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel interface '' C true
4440

45-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal implementation 4main1C{{[^ ]+}} '' true
46-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal interface 4main1C{{[^ ]+}} '' true
47-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal implementation 4main1C{{[^ ]+}} '' true
48-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal interface 4main1C{{[^ ]+}} '' true
41+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal implementation 4main1C{{[^ ]+}} '' true
42+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal interface 4main1C{{[^ ]+}} '' true
43+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal implementation 4main1C{{[^ ]+}} '' true
44+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal interface 4main1C{{[^ ]+}} '' true
4945

50-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember implementation 4main1C{{[^ ]+}} '' true
51-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember interface 4main1C{{[^ ]+}} '' true
52-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember implementation 4main1C{{[^ ]+}} '' true
53-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember interface 4main1C{{[^ ]+}} '' true
46+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember implementation 4main1C{{[^ ]+}} '' true
47+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember interface 4main1C{{[^ ]+}} '' true
48+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember implementation 4main1C{{[^ ]+}} '' true
49+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember interface 4main1C{{[^ ]+}} '' true
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
1-
// REQUIRES: shell
2-
// Also uses awk:
3-
// XFAIL OS=windows
4-
51
// When adding a private protocol method, the interface hash should stay the same
62
// The per-type fingerprint should change
73

84
// RUN: %empty-directory(%t)
95
// RUN: %{python} %utils/split_file.py -o %t %s
106
// RUN: cp %t/{a,x}.swift
117
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
12-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/a-processed.swiftdeps
8+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/a-processed.swiftdeps
139
// RUN: cp %t/{b,x}.swift
1410
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
15-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/b-processed.swiftdeps
11+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/b-processed.swiftdeps
1612

17-
// RUN: not diff %t/{a,b}-processed.swiftdeps >%t/diffs
13+
// RUN: not diff -u %t/a-processed.swiftdeps %t/b-processed.swiftdeps > %t/diffs
1814

1915

2016
// BEGIN a.swift
@@ -40,17 +36,17 @@ private enum A {
4036

4137
// CHECK-SAME-INTERFACE-HASH-NOT: sourceFileProvides
4238

43-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel implementation '' A true
44-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel interface '' A true
45-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel implementation '' A true
46-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel interface '' A true
39+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel implementation '' A true
40+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel interface '' A true
41+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel implementation '' A true
42+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel interface '' A true
4743

48-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal implementation 4main1A{{[^ ]+}} '' true
49-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal interface 4main1A{{[^ ]+}} '' true
50-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal implementation 4main1A{{[^ ]+}} '' true
51-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal interface 4main1A{{[^ ]+}} '' true
44+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal implementation 4main1A{{[^ ]+}} '' true
45+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal interface 4main1A{{[^ ]+}} '' true
46+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal implementation 4main1A{{[^ ]+}} '' true
47+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal interface 4main1A{{[^ ]+}} '' true
5248

53-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember implementation 4main1A{{[^ ]+}} '' true
54-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember interface 4main1A{{[^ ]+}} '' true
55-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember implementation 4main1A{{[^ ]+}} '' true
56-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember interface 4main1A{{[^ ]+}} '' true
49+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember implementation 4main1A{{[^ ]+}} '' true
50+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember interface 4main1A{{[^ ]+}} '' true
51+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember implementation 4main1A{{[^ ]+}} '' true
52+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember interface 4main1A{{[^ ]+}} '' true
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
1-
// REQUIRES: shell
2-
// Also uses awk:
3-
// XFAIL OS=windows
4-
51
// When adding a private protocol method, the interface hash should stay the same
62
// The per-type fingerprint should change
73

84
// RUN: %empty-directory(%t)
95
// RUN: %{python} %utils/split_file.py -o %t %s
106
// RUN: cp %t/{a,x}.swift
117
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
12-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/a-processed.swiftdeps
8+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/a-processed.swiftdeps
139
// RUN: cp %t/{b,x}.swift
1410
// RUN: %target-swift-frontend -typecheck -primary-file %t/x.swift -emit-reference-dependencies-path %t/x.swiftdeps -module-name main
15-
// RUN: %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.sh %swift-dependency-tool %t/x.swiftdeps %t/b-processed.swiftdeps
11+
// RUN: %{python} %S/../Inputs/process_fine_grained_swiftdeps_with_fingerprints.py %swift-dependency-tool %t/x.swiftdeps > %t/b-processed.swiftdeps
1612

17-
// RUN: not diff %t/{a,b}-processed.swiftdeps >%t/diffs
13+
// RUN: not diff -u %t/a-processed.swiftdeps %t/b-processed.swiftdeps > %t/diffs
1814

1915
// BEGIN a.swift
2016
enum A {
@@ -39,17 +35,17 @@ enum A {
3935

4036
// CHECK-SAME-INTERFACE-HASH-NOT: sourceFileProvides
4137

42-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel implementation '' A true
43-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < topLevel interface '' A true
44-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel implementation '' A true
45-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > topLevel interface '' A true
38+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel implementation '' A true
39+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -topLevel interface '' A true
40+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel implementation '' A true
41+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +topLevel interface '' A true
4642

47-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal implementation 4main1A{{[^ ]+}} '' true
48-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < nominal interface 4main1A{{[^ ]+}} '' true
49-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal implementation 4main1A{{[^ ]+}} '' true
50-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > nominal interface 4main1A{{[^ ]+}} '' true
43+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal implementation 4main1A{{[^ ]+}} '' true
44+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -nominal interface 4main1A{{[^ ]+}} '' true
45+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal implementation 4main1A{{[^ ]+}} '' true
46+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +nominal interface 4main1A{{[^ ]+}} '' true
5147

52-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember implementation 4main1A{{[^ ]+}} '' true
53-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: < potentialMember interface 4main1A{{[^ ]+}} '' true
54-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember implementation 4main1A{{[^ ]+}} '' true
55-
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: > potentialMember interface 4main1A{{[^ ]+}} '' true
48+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember implementation 4main1A{{[^ ]+}} '' true
49+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: -potentialMember interface 4main1A{{[^ ]+}} '' true
50+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember implementation 4main1A{{[^ ]+}} '' true
51+
// CHECK-DIFFERENT-TYPE-FINGERPRINT-DAG: +potentialMember interface 4main1A{{[^ ]+}} '' true

0 commit comments

Comments
 (0)