matrix-dart-sdk/scripts/test.sh

43 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
if which flutter >/dev/null; then
flutter pub global activate junitreport
flutter test --coverage --machine | tee TEST-report.json
TEST_CODE=${PIPESTATUS[0]}
# junit report
flutter pub global run junitreport:tojunit --input TEST-report.json --output TEST-report.xml
# remove shell escapes since those are invalid xml
sed 's///g' -i TEST-report.xml
# coverage
flutter pub global activate remove_from_coverage
flutter pub global run remove_from_coverage:remove_from_coverage -f coverage/lcov.info -r '\.g\.dart$'
else
dart pub global activate junitreport
dart test --coverage=coverage --file-reporter='json:TEST-report.json'
TEST_CODE=$?
# junit report
dart pub global run junitreport:tojunit --input TEST-report.json --output TEST-report.xml
# remove shell escapes since those are invalid xml
sed 's///g' -i TEST-report.xml
# coverage
dart pub global activate coverage
reporton="--report-on=lib/"
if [ -n "$NO_OLM" ]; then reporton="--report-on=lib/src --report-on=lib/msc_extensions"; fi
dart pub global run coverage:format_coverage -i coverage/ --lcov -o coverage/lcov.info $reporton
dart pub global activate remove_from_coverage
dart pub global run remove_from_coverage:remove_from_coverage -f coverage/lcov.info -r '\.g\.dart$'
fi
# coverage html report
genhtml -o coverage coverage/lcov.info || true
# https://github.com/eriwen/lcov-to-cobertura-xml
lcov_cobertura.py coverage/lcov.info || true
exit $TEST_CODE