|
1 | 1 | #!/usr/bin/env bash |
2 | 2 |
|
3 | 3 | coverage_dir=$(PWD)/coverage |
4 | | -combined_coverage_file=$coverage_dir/combined.txt |
| 4 | +merged_coverage_dir=$coverage_dir/merged |
| 5 | +merged_coverage_file=$merged_coverage_dir/merged.txt |
5 | 6 | COVERAGE_THRESHOLD=15.0 # percentage threshold of code coverage required |
6 | 7 |
|
| 8 | +echo "Recreating merged coverage directory..." |
| 9 | +rm -rf ${merged_coverage_dir} |
| 10 | +mkdir -p ${merged_coverage_dir} |
| 11 | + |
7 | 12 | echo "Generating coverage report in text format..." |
8 | 13 | included_packages=$(go list ./... | grep -v /tests/ | grep -v '/sdk/') # not including 'tests' and 'sdk' |
9 | | -go tool covdata merge -i=$coverage_dir/e2e,$coverage_dir/ut -o=$coverage_dir -pkg=${included_packages//$'\n'/,} |
10 | | -go tool covdata textfmt -i=./coverage -o $combined_coverage_file |
11 | | -go tool cover -func $combined_coverage_file |
| 14 | +go tool covdata merge -i=$coverage_dir/e2e,$coverage_dir/ut -o=$merged_coverage_dir -pkg=${included_packages//$'\n'/,} |
| 15 | +go tool covdata textfmt -i=$merged_coverage_dir -o $merged_coverage_file |
| 16 | +go tool cover -func $merged_coverage_file |
12 | 17 |
|
13 | 18 | echo "Checking total coverage..." |
14 | 19 |
|
15 | | -# print current test coverage from report |
16 | | -current_test_coverage=$(go tool cover -func=$combined_coverage_file | grep -e "total" | awk '{print $3}') |
17 | | -echo "Current test coverage is $current_test_coverage" |
| 20 | +# TODO: coverage details will be output as a comment in the PR |
18 | 21 |
|
19 | | -go tool cover -func=$combined_coverage_file | grep -e "total" | \ |
| 22 | +go tool cover -func=$merged_coverage_file | grep -e "total" | \ |
20 | 23 | awk -v coverageThreshold=$COVERAGE_THRESHOLD '{if (($3 - 0.0) < coverageThreshold) \ |
21 | 24 | {print "Coverage is less than", coverageThreshold, "%. Checking Failed"; exit 1} \ |
22 | 25 | else \ |
|
0 commit comments