-
Notifications
You must be signed in to change notification settings - Fork 84
/
example-package-dealer.py
45 lines (40 loc) · 1.47 KB
/
example-package-dealer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Test the open source example packages.
#
# REQUIRES: have-network
#
# Make a sandbox dir. If you want to experiment with this test without waiting
# for the clone, disable the first three lines here.
#
# RUN: rm -rf %t.dir
# RUN: mkdir -p %t.dir/
# RUN: git clone https://github.com/apple/example-package-dealer %t.dir/dealer
# RUN: rm -rf %t.dir/dealer/.build
# RUN: %{swift-build} --package-path %t.dir/dealer 2>&1 | tee %t.build-log
# Check the build log.
#
# RUN: %{FileCheck} --check-prefix CHECK-BUILD-LOG --input-file %t.build-log %s
#
# CHECK-BUILD-LOG: Compile Swift Module 'FisherYates'
# CHECK-BUILD-LOG: Compile Swift Module 'Dealer'
# Verify that the build worked.
#
# RUN: test -x %t.dir/dealer/.build/debug/Dealer
# RUN: %t.dir/dealer/.build/debug/Dealer > %t.out
# RUN: %{FileCheck} --check-prefix CHECK-TOOL-OUTPUT --input-file %t.out %s
#
# We should get an example that is easier to test.
#
# CHECK-TOOL-OUTPUT: {{♡|♠|♢|♣}}{{[0-9JQKA]|10}}
# Verify that the 'git status' is clean after a build.
#
# RUN: cd %t.dir/dealer && git status > %t.out
# RUN: %{FileCheck} --check-prefix CHECK-GIT-STATUS --input-file %t.out %s
#
# CHECK-GIT-STATUS: nothing to commit, working directory clean
# Verify that another 'swift build' does nothing.
#
# RUN: %{swift-build} --package-path %t.dir/dealer 2>&1 | tee %t.rebuild-log
# RUN: echo END-OF-INPUT >> %t.rebuild-log
# RUN: %{FileCheck} --check-prefix CHECK-BUILD-LOG --input-file %t.build-log %s
#
# CHECK-REBUILD-LOG-NOT: Compile