11#! /usr/bin/env bash
22
3- echo " Running test: Scan Error"
4- echo " -------------------------"
5-
6- ROOT=" $( dirname " $( dirname " $( readlink -fm " $0 " ) " ) " ) "
7-
8- OUTPUT=$( docker run -v " $ROOT :/github/workspace" sourcehawk-scan-github-action:test " tests/scan-error" )
3+ OUTPUT=$( docker run -v " $1 :/github/workspace" " $2 " " tests/scan-error" )
94SCAN_EXIT_CODE=$?
105
6+ TEST_NAME=" SCAN_EXIT_CODE"
117if [[ $SCAN_EXIT_CODE -eq 1 ]]; then
12- echo " > SCAN_EXIT_CODE: Correct"
8+ echo " > $TEST_NAME : Correct"
9+ PASSED+=(" $TEST_NAME " )
1310else
14- echo " > SCAN_EXIT_CODE: Incorrect, expected 1, got $SCAN_EXIT_CODE "
11+ echo " > $TEST_NAME : Incorrect, expected 1, got $SCAN_EXIT_CODE "
12+ FAILED+=(" $TEST_NAME " )
1513fi
1614
15+ TEST_NAME=" SCAN_RESULT_MESSAGE"
1716FIRST_LINE=$( echo " $OUTPUT " | head -1 | sed -e ' s/[[:space:]]*$//' )
1817EXPECTED=" Scan resulted in failure. Error(s): 1, Warning(s): 0"
1918if [[ " $FIRST_LINE " = " $EXPECTED " ]]; then
20- echo " > SCAN_RESULT_MESSAGE: Correct"
19+ echo " > $TEST_NAME : Correct"
20+ PASSED+=(" $TEST_NAME " )
2121else
22- echo " > SCAN_RESULT_MESSAGE : Missing or incorrect, found: [$FIRST_LINE ], expected: [$EXPECTED ]"
23- exit 1
22+ echo " > $TEST_NAME : Missing or incorrect, found: [$FIRST_LINE ], expected: [$EXPECTED ]"
23+ FAILED+=( " $TEST_NAME " )
2424fi
2525
26+ TEST_NAME=" SCAN_RESULT_ERROR"
2627SECOND_LINE=$( echo " $OUTPUT " | tail -2 | head -1 | sed -e ' s/[[:space:]]*$//' )
2728EXPECTED=" [ERROR] sourcehawk.yml :: Configuration file not found"
2829if [[ " $SECOND_LINE " = " $EXPECTED " ]]; then
29- echo " > SCAN_RESULT_ERROR: Correct"
30+ echo " > $TEST_NAME : Correct"
31+ PASSED+=(" $TEST_NAME " )
3032else
31- echo " > SCAN_RESULT_ERROR : Missing or incorrect, found: [$SECOND_LINE ], expected: [$EXPECTED ]"
32- exit 1
33+ echo " > $TEST_NAME : Missing or incorrect, found: [$SECOND_LINE ], expected: [$EXPECTED ]"
34+ FAILED+=( " $TEST_NAME " )
3335fi
3436
37+ TEST_NAME=" GITHUB_ACTION_OUTPUT"
3538LAST_LINE=$( echo " $OUTPUT " | tail -1 | sed -e ' s/[[:space:]]*$//' )
3639EXPECTED=" ::set-output name=scan-passed::false"
3740if [[ " $LAST_LINE " = " $EXPECTED " ]]; then
38- echo " > GITHUB_ACTION_OUTPUT: Correct"
41+ echo " > $TEST_NAME : Correct"
42+ PASSED+=(" $TEST_NAME " )
3943else
40- echo " > GITHUB_ACTION_OUTPUT : Missing scan-passed(false) output"
41- exit 1
44+ echo " > $TEST_NAME : Missing scan-passed(false) output"
45+ FAILED+=( " $TEST_NAME " )
4246fi
4347
44- echo " Test Passed"
45- echo " ------------------------- "
48+ echo " >> Tests: $(( ${ # PASSED[@]} + ${ # FAILED[@]} )) , Passed: ${ # PASSED[@]} , Failed: ${ # FAILED[@]} "
49+ exit ${ # FAILED[@]}
0 commit comments