ci: comment test result on PR
This commit is contained in:
2
.github/workflows/go.yml
vendored
2
.github/workflows/go.yml
vendored
@@ -64,7 +64,7 @@ jobs:
|
|||||||
|
|
||||||
- name: LLGO tests
|
- name: LLGO tests
|
||||||
run: |
|
run: |
|
||||||
echo "Test result on ${{ matrix.os }} with LLVM ${{ matrix.llvm }}" > result.txt
|
echo "Test result on ${{ matrix.os }} with LLVM ${{ matrix.llvm }}" > result.md
|
||||||
LLGOROOT=$PWD bash .github/workflows/test_llgo.sh
|
LLGOROOT=$PWD bash .github/workflows/test_llgo.sh
|
||||||
|
|
||||||
- name: Test _demo and _pydemo
|
- name: Test _demo and _pydemo
|
||||||
|
|||||||
9
.github/workflows/test_demo.sh
vendored
9
.github/workflows/test_demo.sh
vendored
@@ -11,16 +11,19 @@ for d in ./_demo/* ./_pydemo/*; do
|
|||||||
if ! llgo run -v "$d"; then
|
if ! llgo run -v "$d"; then
|
||||||
echo "FAIL"
|
echo "FAIL"
|
||||||
failed=$((failed+1))
|
failed=$((failed+1))
|
||||||
failed_cases="$failed_cases\n$d"
|
failed_cases="$failed_cases\n* :x: $d"
|
||||||
else
|
else
|
||||||
echo "PASS"
|
echo "PASS"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "=== Done"
|
echo "=== Done"
|
||||||
echo "$((total-failed))/$total tests passed"
|
echo "$((total-failed))/$total tests passed"
|
||||||
|
|
||||||
if [ "$failed" -ne 0 ]; then
|
if [ "$failed" -ne 0 ]; then
|
||||||
echo -e "Failed cases:$failed_cases"
|
echo ":bangbang: Failed demo cases:" | tee -a result.md
|
||||||
|
echo -e "$failed_cases" | tee -a result.md
|
||||||
exit 1
|
exit 1
|
||||||
|
else
|
||||||
|
echo ":white_check_mark: All demo tests passed" | tee -a result.md
|
||||||
fi
|
fi
|
||||||
|
|||||||
19
_test/run.sh → .github/workflows/test_llgo.sh
vendored
19
_test/run.sh → .github/workflows/test_llgo.sh
vendored
@@ -1,10 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
export LLGOROOT=$PWD
|
||||||
|
|
||||||
testcmd=/tmp/test
|
testcmd=/tmp/test
|
||||||
llgo build -o $testcmd ./_test
|
llgo build -o $testcmd ./_test
|
||||||
cases=$($testcmd)
|
cases=$($testcmd)
|
||||||
total=$(echo "$cases" | wc -l | tr -d ' ')
|
total=$(echo "$cases" | wc -l | tr -d ' ')
|
||||||
succ=0
|
failed=0
|
||||||
|
failed_cases=""
|
||||||
|
|
||||||
for idx in $(seq 1 $((total))); do
|
for idx in $(seq 1 $((total))); do
|
||||||
case=$(echo "$cases" | sed -n "${idx}p")
|
case=$(echo "$cases" | sed -n "${idx}p")
|
||||||
case_name=$(echo "$case" | cut -d',' -f2)
|
case_name=$(echo "$case" | cut -d',' -f2)
|
||||||
@@ -15,13 +20,19 @@ for idx in $(seq 1 $((total))); do
|
|||||||
set -e
|
set -e
|
||||||
if [ "${exit_code:-0}" -ne 0 ]; then
|
if [ "${exit_code:-0}" -ne 0 ]; then
|
||||||
echo "failed: $out"
|
echo "failed: $out"
|
||||||
|
failed=$((failed+1))
|
||||||
|
failed_cases="$failed_cases\n* :x: $case_name"
|
||||||
else
|
else
|
||||||
succ=$((succ+1))
|
|
||||||
echo "passed"
|
echo "passed"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo "=== Done"
|
echo "=== Done"
|
||||||
echo "$succ/$total tests passed"
|
echo "$((total-failed))/$total tests passed"
|
||||||
if [ "$total" -ne "$succ" ]; then
|
|
||||||
|
if [ "$failed" -ne 0 ]; then
|
||||||
|
echo ":bangbang: Failed llgo cases:" | tee -a result.md
|
||||||
|
echo -e "$failed_cases" | tee -a result.md
|
||||||
exit 1
|
exit 1
|
||||||
|
else
|
||||||
|
echo ":white_check_mark: All llgo tests passed" | tee -a result.md
|
||||||
fi
|
fi
|
||||||
Reference in New Issue
Block a user