Skip to content

Commit a9044f0

Browse files
test: refactor test cases to align with updated coverage options handling
1 parent f91bbf6 commit a9044f0

File tree

6 files changed

+285
-394
lines changed

6 files changed

+285
-394
lines changed

pkgs/coverage/test/collect_coverage_config_test.dart

Lines changed: 155 additions & 271 deletions
Large diffs are not rendered by default.
Lines changed: 25 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,25 @@
1-
defaults:
2-
collect_coverage:
3-
uri: "http://127.0.0.1:8181/"
4-
out: "coverage.json"
5-
connect-timeout: 30
6-
scope-output: ["lib/"]
7-
resume-isolates: false
8-
include-dart: false
9-
function-coverage: true
10-
branch-coverage: false
11-
wait-paused: true
12-
13-
format_coverage:
14-
base-directory: "."
15-
bazel-workspace: null
16-
in: "coverage.json"
17-
out: "lcov.info"
18-
package: "."
19-
report-on: ["lib/", "bin/"]
20-
ignore-files: ["test/"]
21-
sdk-root: '.'
22-
workers: 2
23-
check-ignore: false
24-
bazel: false
25-
verbose: true
26-
lcov: true
27-
pretty-print: false
28-
pretty-print-func: false
29-
pretty-print-branch: false
30-
31-
test_with_coverage:
32-
package: "."
33-
package-name: "My Dart Package"
34-
out: "test_coverage.json"
35-
port: 8181
36-
test: "test"
37-
scope-output: ["lib/src/"]
38-
function-coverage: true
39-
branch-coverage: false
1+
out: "coverage"
2+
connect-timeout: 30
3+
scope-output: ["lib", "src"]
4+
resume-isolates: false
5+
include-dart: false
6+
function-coverage: true
7+
branch-coverage: false
8+
wait-paused: true
9+
base-directory: "."
10+
bazel: false
11+
bazel-workspace: null
12+
in: "coverage.json"
13+
package: "."
14+
package-name: "My Dart Package"
15+
report-on: ["lib", "bin"]
16+
ignore-files: ["test"]
17+
sdk-root: "."
18+
workers: 2
19+
check-ignore: false
20+
verbose: true
21+
lcov: true
22+
pretty-print: false
23+
pretty-print-func: false
24+
pretty-print-branch: false
25+
test: "test"

pkgs/coverage/test/test_coverage_options/partial_fields.dart

Lines changed: 0 additions & 53 deletions
This file was deleted.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
out: 'custom_coverage.json'
2+
scope-output:
3+
- 'lib'
4+
- 'test'
5+
resume-isolates: true
6+
function-coverage: false
7+
include-dart: true
8+
connect-timeout: 20
9+
lcov: false
10+
verbose: false
11+
base-directory: 'src'
12+
ignore-files:
13+
- 'example'
14+
report-on:
15+
- 'lib'
16+
pretty-print: true
17+
pretty-print-func: false
18+
package-name: 'Custom Dart Package'
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
scope-output:
2+
- 'lib'
3+
- 'tools'
4+
include-dart: false
5+
branch-coverage: false
6+
wait-paused: false
7+
connect-timeout: 15
8+
9+
bazel: true
10+
check-ignore: true
11+
in: 'custom_coverage.json'
12+
out: 'custom_lcov.info'
13+
package: '.'
14+
report-on:
15+
- 'src'
16+
- 'scripts'
17+
sdk-root: './dart-sdk'
18+
19+
test: 'custom_test'
20+
function-coverage: true

pkgs/coverage/test/test_util.dart

Lines changed: 67 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,13 @@ extension ListTestExtension on List {
9393
);
9494
}
9595

96-
CollectCoverageOptions parseArgsCollectCoverage(
97-
List<String> arguments, CollectCoverageOptions defaultOptions) {
96+
CoverageOptions parseArgsCollectCoverage(
97+
List<String> arguments, CoverageOptions defaultOptions) {
9898
final parser = ArgParser()
9999
..addOption('host', abbr: 'H')
100100
..addOption('port', abbr: 'p')
101101
..addOption('uri', abbr: 'u')
102-
..addOption('out', abbr: 'o', defaultsTo: defaultOptions.out)
102+
..addOption('out', abbr: 'o', defaultsTo: defaultOptions.output)
103103
..addOption('connect-timeout',
104104
abbr: 't', defaultsTo: defaultOptions.connectTimeout?.toString())
105105
..addMultiOption('scope-output', defaultsTo: defaultOptions.scopeOutput)
@@ -115,31 +115,40 @@ CollectCoverageOptions parseArgsCollectCoverage(
115115

116116
final args = parser.parse(arguments);
117117

118-
String serviceUri;
119-
if (args['uri'] == null && (args['host'] != null || args['port'] != null)) {
120-
final host = args['host'] ?? defaultOptions.host;
121-
final port = args['port'] ?? defaultOptions.port;
122-
123-
serviceUri = 'http://$host:$port/';
124-
} else {
125-
serviceUri = (args['uri'] ?? defaultOptions.uri) as String;
126-
}
127-
128-
return CollectCoverageOptions(
129-
uri: serviceUri,
130-
out: args['out'] as String,
131-
connectTimeout: int.tryParse(args['connect-timeout'] as String? ?? ''),
118+
return CoverageOptions(
119+
output: args['out'] as String,
120+
connectTimeout: args['connect-timeout'] == null
121+
? defaultOptions.connectTimeout
122+
: int.parse(args['connect-timeout'] as String),
132123
scopeOutput: args['scope-output'] as List<String>,
133124
waitPaused: args['wait-paused'] as bool,
134125
resumeIsolates: args['resume-isolates'] as bool,
135126
includeDart: args['include-dart'] as bool,
136127
functionCoverage: args['function-coverage'] as bool,
137128
branchCoverage: args['branch-coverage'] as bool,
129+
bazel: defaultOptions.bazel,
130+
bazelWorkspace: defaultOptions.bazelWorkspace,
131+
baseDirectory: defaultOptions.baseDirectory,
132+
checkIgnore: defaultOptions.checkIgnore,
133+
ignoreFiles: defaultOptions.ignoreFiles,
134+
input: defaultOptions.input,
135+
lcov: defaultOptions.lcov,
136+
packagePath: defaultOptions.packagePath,
137+
packageName: defaultOptions.packageName,
138+
prettyPrint: defaultOptions.prettyPrint,
139+
prettyPrintBranch: defaultOptions.prettyPrintBranch,
140+
prettyPrintFunc: defaultOptions.prettyPrintFunc,
141+
reportOn: defaultOptions.reportOn,
142+
sdkRoot: defaultOptions.sdkRoot,
143+
testScript: defaultOptions.testScript,
144+
verbose: defaultOptions.verbose,
145+
workers: defaultOptions.workers,
146+
138147
);
139148
}
140149

141-
FormatCoverageOptions parseArgsFormatCoverage(
142-
List<String> arguments, FormatCoverageOptions defaultOptions) {
150+
CoverageOptions parseArgsFormatCoverage(
151+
List<String> arguments, CoverageOptions defaultOptions) {
143152
final parser = ArgParser()
144153
..addOption('sdk-root', abbr: 's', defaultsTo: defaultOptions.sdkRoot)
145154
..addOption('packages')
@@ -174,7 +183,7 @@ FormatCoverageOptions parseArgsFormatCoverage(
174183

175184
if (args['in'] == null) throw ArgumentError('Missing required argument: in');
176185

177-
return FormatCoverageOptions(
186+
return CoverageOptions(
178187
baseDirectory: args['base-directory'] as String?,
179188
bazel: args['bazel'] as bool,
180189
bazelWorkspace: args['bazel-workspace'] as String,
@@ -193,24 +202,33 @@ FormatCoverageOptions parseArgsFormatCoverage(
193202
sdkRoot: args['sdk-root'] as String?,
194203
verbose: args['verbose'] as bool,
195204
workers: int.parse(args['workers'] as String),
205+
branchCoverage: defaultOptions.branchCoverage,
206+
functionCoverage: defaultOptions.functionCoverage,
207+
connectTimeout: defaultOptions.connectTimeout,
208+
includeDart: defaultOptions.includeDart,
209+
packageName: defaultOptions.packageName,
210+
resumeIsolates: defaultOptions.resumeIsolates,
211+
scopeOutput: defaultOptions.scopeOutput,
212+
waitPaused: defaultOptions.waitPaused,
213+
testScript: defaultOptions.testScript,
196214
);
197215
}
198216

199-
Future<TestWithCoverageOptions> parseArgsTestWithCoverage(
200-
List<String> arguments, TestWithCoverageOptions defaultOptions) async {
217+
Future<CoverageOptions> parseArgsTestWithCoverage(
218+
List<String> arguments, CoverageOptions defaultOptions) async {
201219
final parser = ArgParser()
202220
..addOption(
203221
'package',
204-
defaultsTo: defaultOptions.packageDir,
222+
defaultsTo: defaultOptions.packagePath,
205223
)
206224
..addOption(
207225
'package-name',
208226
defaultsTo: defaultOptions.packageName,
209227
)
210-
..addOption('port', defaultsTo: defaultOptions.port)
228+
..addOption('port')
211229
..addOption(
212230
'out',
213-
defaultsTo: defaultOptions.outDir,
231+
defaultsTo: defaultOptions.output,
214232
abbr: 'o',
215233
)
216234
..addOption('test', defaultsTo: defaultOptions.testScript)
@@ -234,21 +252,39 @@ Future<TestWithCoverageOptions> parseArgsTestWithCoverage(
234252
ArgumentError('Invalid package directory: $packageDir');
235253
}
236254

237-
final packageName = (args['package-name'] as String?) ??
255+
final packageName =
256+
args['package-name'] ??
238257
await _packageNameFromConfig(packageDir);
239258
if (packageName == null) {
240259
ArgumentError('Could not determine package name');
241260
}
242261

243-
return TestWithCoverageOptions(
244-
packageDir: packageDir,
245-
packageName: packageName,
246-
outDir: (args['out'] as String?) ?? 'coverage',
247-
port: args['port'] as String,
262+
return CoverageOptions(
263+
packagePath: packageDir,
264+
packageName: packageName as String,
265+
output: (args['out'] as String?) ?? 'coverage',
248266
testScript: args['test'] as String,
249267
functionCoverage: args['function-coverage'] as bool,
250268
branchCoverage: args['branch-coverage'] as bool,
251269
scopeOutput: args['scope-output'] as List<String>,
270+
bazel: defaultOptions.bazel,
271+
bazelWorkspace: defaultOptions.bazelWorkspace,
272+
baseDirectory: defaultOptions.baseDirectory,
273+
checkIgnore: defaultOptions.checkIgnore,
274+
connectTimeout: defaultOptions.connectTimeout,
275+
ignoreFiles: defaultOptions.ignoreFiles,
276+
includeDart: defaultOptions.includeDart,
277+
input: defaultOptions.input,
278+
lcov: defaultOptions.lcov,
279+
prettyPrint: defaultOptions.prettyPrint,
280+
prettyPrintBranch: defaultOptions.prettyPrintBranch,
281+
prettyPrintFunc: defaultOptions.prettyPrintFunc,
282+
reportOn: defaultOptions.reportOn,
283+
resumeIsolates: defaultOptions.resumeIsolates,
284+
sdkRoot: defaultOptions.sdkRoot,
285+
verbose: defaultOptions.verbose,
286+
waitPaused: defaultOptions.waitPaused,
287+
workers: defaultOptions.workers,
252288
);
253289
}
254290

0 commit comments

Comments
 (0)