Skip to content

Commit 6c85d14

Browse files
refactor: improve file creation logic for coverage output paths
1 parent 69858bf commit 6c85d14

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

pkgs/coverage/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ build
1616
*~
1717
coverage/
1818
var/
19+
test/test_coverage_options/coverage_data

pkgs/coverage/bin/collect_coverage.dart

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,13 @@ Options parseArgs(List<String> arguments, CoverageOptions defaultOptions) {
143143
} else {
144144
final outFilePath = p.normalize(outPath ??
145145
p.absolute(defaultOptions.outputDirectory!, 'coverage.json'));
146-
final outFile = File(outFilePath)..createSync(recursive: true);
146+
147+
final outFile = File(outFilePath);
148+
if (!FileSystemEntity.isDirectorySync(outFilePath) &&
149+
!FileSystemEntity.isFileSync(outFilePath)) {
150+
outFile.createSync(recursive: true);
151+
}
152+
147153
out = outFile.path;
148154
}
149155

pkgs/coverage/bin/format_coverage.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,12 @@ Environment parseArgs(List<String> arguments, CoverageOptions defaultOptions) {
260260
} else {
261261
final outFilePath = p.normalize(
262262
outPath ?? p.absolute(defaultOptions.outputDirectory!, 'lcov.info'));
263-
final outfile = File(outFilePath)..createSync(recursive: true);
263+
264+
final outfile = File(outFilePath);
265+
if (!FileSystemEntity.isDirectorySync(outFilePath) &&
266+
!FileSystemEntity.isFileSync(outFilePath)) {
267+
outfile.createSync(recursive: true);
268+
}
264269
output = outfile.path;
265270
}
266271

0 commit comments

Comments
 (0)