-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.sh
More file actions
executable file
·93 lines (76 loc) · 2.18 KB
/
test.sh
File metadata and controls
executable file
·93 lines (76 loc) · 2.18 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/bash
RESULT=""
function run_testcase {
echo
echo "############################## run $TESTNAME test ################################"
echo "go run . $OPTIONS $INPUT > $OUTPUT"
go run . $OPTIONS $INPUT > $OUTPUT
rc=$?
if [ $rc -ne 0 ]; then
echo "** $TESTNAME test Failed (exit $rc)**"
RESULT="${RESULT}${TESTNAME} test failed (exit $rc)\n"
else
echo "------- diff ---------------------------"
diff -urN $WANT $OUTPUT
rc=$?
echo "----------------------------------------"
if [ $rc -ne 0 ]; then
echo "** $TESTNAME Failed **"
RESULT="${RESULT}${TESTNAME} test failed\n"
else
echo "** $TESTNAME test OK **"
fi
fi
}
# unit test
echo "############################## run unit test #################################"
go test -v || RESULT="Unit test failed\n"
# test Merge
TESTNAME="merge"
INPUT="testcase/Dockerfile.before-merge"
WANT="testcase/Dockerfile.after-merge"
OUTPUT="testcase/_tmp_Dockerfile.test-merge"
OPTIONS="-m"
run_testcase
# test Split
TESTNAME="split"
INPUT="testcase/Dockerfile.before-split"
WANT="testcase/Dockerfile.after-split"
OUTPUT="testcase/_tmp_Dockerfile.test-split"
OPTIONS="-s"
run_testcase
# test Include
TESTNAME="include"
INPUT="testcase/Dockerfile.before-include"
WANT="testcase/Dockerfile.after-include"
OUTPUT="testcase/_tmp_Dockerfile.test-include"
OPTIONS="-i"
export TEST_ENV=""
run_testcase
unset TEST_ENV
# test Include and Merge
TESTNAME="include and merge"
INPUT="testcase/Dockerfile.before-include-and-merge"
WANT="testcase/Dockerfile.after-include-and-merge"
OUTPUT="testcase/_tmp_Dockerfile.include-and-merge"
OPTIONS="-i -m"
run_testcase
# test Condition
TESTNAME="condition"
INPUT="testcase/Dockerfile.before-condition"
WANT="testcase/Dockerfile.after-condition"
OUTPUT="testcase/_tmp_Dockerfile.condition"
OPTIONS="-c"
export TEST_ENV=""
export TEST_ENV_NESTED=""
run_testcase
unset TEST_ENV
unset TEST_ENV_NESTED
echo
if [ "$RESULT" != "" ]; then
echo -e "############## Results #################\n$RESULT"
exit 1
else
echo -e "############## Results #################"
echo -e "All tests are successful"
fi