From e2af24d45ae38eff64f9b38b1978c74234084158 Mon Sep 17 00:00:00 2001 From: Istvan Soos Date: Thu, 14 Nov 2024 15:16:42 +0100 Subject: [PATCH] Fix code coverage script by using the root-level package_config.json --- pkg/code_coverage/bin/code_coverage.dart | 2 +- pkg/code_coverage/build.sh | 2 +- pkg/code_coverage/lib/format_lcov.dart | 4 ++-- pkg/code_coverage/lib/test_runner.dart | 6 ++++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pkg/code_coverage/bin/code_coverage.dart b/pkg/code_coverage/bin/code_coverage.dart index 6bb98f3130..c58c880087 100644 --- a/pkg/code_coverage/bin/code_coverage.dart +++ b/pkg/code_coverage/bin/code_coverage.dart @@ -53,7 +53,7 @@ Future main() async { 'run', 'coverage:format_coverage', '--packages', - p.join(pkgDir, '.dart_tool', 'package_config.json'), + p.join(projectDir.path, '.dart_tool', 'package_config.json'), '-i', rawOutputDir, '--base-directory', diff --git a/pkg/code_coverage/build.sh b/pkg/code_coverage/build.sh index 3a7279c691..e630422f58 100755 --- a/pkg/code_coverage/build.sh +++ b/pkg/code_coverage/build.sh @@ -61,7 +61,7 @@ rm ${APP_ALL_TEST_PATH} echo "Exporting to LCOV" cd "${APP_DIR}" dart run coverage:format_coverage \ - --packages "${APP_DIR}/.dart_tool/package_config.json" \ + --packages "${PROJECT_DIR}/.dart_tool/package_config.json" \ -i "${OUTPUT_DIR}/raw/app_unit.json" \ --base-directory "${PROJECT_DIR}" \ --lcov \ diff --git a/pkg/code_coverage/lib/format_lcov.dart b/pkg/code_coverage/lib/format_lcov.dart index f737e9a0ab..30d9264511 100644 --- a/pkg/code_coverage/lib/format_lcov.dart +++ b/pkg/code_coverage/lib/format_lcov.dart @@ -56,8 +56,8 @@ Future main() async { !e.key.startsWith('pkg/pub_integration/')) ].nonNulls; final pubDevEntry = Entry('pub-dev') - ..covered = libEntries.map((e) => e.covered).reduce((a, b) => a + b) - ..total = libEntries.map((e) => e.total).reduce((a, b) => a + b); + ..covered = libEntries.map((e) => e.covered).fold(0, (a, b) => a + b) + ..total = libEntries.map((e) => e.total).fold(0, (a, b) => a + b); output.writeln([ pubDevEntry.formatted('pub-dev'), _tree['app/lib']?.formatted('app'), diff --git a/pkg/code_coverage/lib/test_runner.dart b/pkg/code_coverage/lib/test_runner.dart index af01290acc..a16fbb7aa2 100644 --- a/pkg/code_coverage/lib/test_runner.dart +++ b/pkg/code_coverage/lib/test_runner.dart @@ -118,6 +118,8 @@ Future _convertToLcov( final out = File(outputFile); if (await out.exists()) return; await out.parent.create(recursive: true); + final baseDir = + Directory(packageDir.contains('/app') ? '../' : '../../').absolute.path; await Process.run( 'dart', [ @@ -125,11 +127,11 @@ Future _convertToLcov( 'run', 'coverage:format_coverage', '--packages', - '$packageDir/.dart_tool/package_config.json', + '$baseDir/.dart_tool/package_config.json', '-i', inputFile, '--base-directory', - packageDir.contains('/app') ? '../' : '../../', + baseDir, '--lcov', '--out', outputFile,