#!/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