Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: doc/json_reporter.md

Issue 2066113002: Add location information to the JSON reporter. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: cr Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « CHANGELOG.md ('k') | json_reporter.schema.json » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 JSON Reporter Protocol 1 JSON Reporter Protocol
2 ====================== 2 ======================
3 3
4 The test runner supports a JSON reporter which provides a machine-readable 4 The test runner supports a JSON reporter which provides a machine-readable
5 representation of the test runner's progress. This reporter is intended for use 5 representation of the test runner's progress. This reporter is intended for use
6 by IDEs and other tools to present a custom view of the test runner's operation 6 by IDEs and other tools to present a custom view of the test runner's operation
7 without needing to parse output intended for humans. 7 without needing to parse output intended for humans.
8 8
9 Note that the test runner is highly asynchronous, and users of this protocol 9 Note that the test runner is highly asynchronous, and users of this protocol
10 shouldn't make assumptions about the ordering of events beyond what's explicitly 10 shouldn't make assumptions about the ordering of events beyond what's explicitly
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 283
284 // The ID of the suite containing this test. 284 // The ID of the suite containing this test.
285 int suiteID; 285 int suiteID;
286 286
287 // The IDs of groups containing this test, in order from outermost to 287 // The IDs of groups containing this test, in order from outermost to
288 // innermost. 288 // innermost.
289 List<int> groupIDs; 289 List<int> groupIDs;
290 290
291 // The test's metadata, including metadata from any containing groups. 291 // The test's metadata, including metadata from any containing groups.
292 Metadata metadata; 292 Metadata metadata;
293
294 // The (1-based) line on which the test was defined, or `null`.
295 int line;
296
297 // The (1-based) column on which the test was defined, or `null`.
298 int column;
299
300 // The URL for the file in which the test was defined, or `null`.
301 String url;
293 } 302 }
294 ``` 303 ```
295 304
296 A single test case. The test's ID is unique in the context of this test run. 305 A single test case. The test's ID is unique in the context of this test run.
297 It's used elsewhere in the protocol to refer to this test without including its 306 It's used elsewhere in the protocol to refer to this test without including its
298 full representation. 307 full representation.
299 308
300 Most tests will have at least one group ID, representing the implicit root 309 Most tests will have at least one group ID, representing the implicit root
301 group. However, some may not; these should be treated as having no group 310 group. However, some may not; these should be treated as having no group
302 metadata. 311 metadata.
303 312
313 The `line`, `column`, and `url` fields indicate the location the `test()`
314 function was called to create this test. They're treated as a unit: they'll
315 either all be `null` or they'll all be non-`null`. The URL is always absolute,
316 and may be a `package:` URL.
317
304 ### Suite 318 ### Suite
305 319
306 ``` 320 ```
307 class Suite { 321 class Suite {
308 // An opaque ID for the group. 322 // An opaque ID for the group.
309 int id; 323 int id;
310 324
311 // The platform on which the suite is running. 325 // The platform on which the suite is running.
312 String? platform; 326 String? platform;
313 327
(...skipping 28 matching lines...) Expand all
342 int suiteID; 356 int suiteID;
343 357
344 // The ID of the group's parent group, unless it's the root group. 358 // The ID of the group's parent group, unless it's the root group.
345 int? parentID; 359 int? parentID;
346 360
347 // The group's metadata, including metadata from any containing groups. 361 // The group's metadata, including metadata from any containing groups.
348 Metadata metadata; 362 Metadata metadata;
349 363
350 // The number of tests (recursively) within this group. 364 // The number of tests (recursively) within this group.
351 int testCount; 365 int testCount;
366
367 // The (1-based) line on which the group was defined, or `null`.
368 int line;
369
370 // The (1-based) column on which the group was defined, or `null`.
371 int column;
372
373 // The URL for the file in which the group was defined, or `null`.
374 String url;
352 } 375 }
353 ``` 376 ```
354 377
355 A group containing test cases. The group's ID is unique in the context of this 378 A group containing test cases. The group's ID is unique in the context of this
356 test run. It's used elsewhere in the protocol to refer to this group without 379 test run. It's used elsewhere in the protocol to refer to this group without
357 including its full representation. 380 including its full representation.
358 381
359 The implicit group at the root of each test suite has `null` `name` and 382 The implicit group at the root of each test suite has `null` `name` and
360 `parentID` attributes. 383 `parentID` attributes.
361 384
385 The `line`, `column`, and `url` fields indicate the location the `group()`
386 function was called to create this group. They're treated as a unit: they'll
387 either all be `null` or they'll all be non-`null`. The URL is always absolute,
388 and may be a `package:` URL.
389
362 ### Metadata 390 ### Metadata
363 391
364 ``` 392 ```
365 class Metadata { 393 class Metadata {
366 // Whether the test case will be skipped by the test runner. 394 // Whether the test case will be skipped by the test runner.
367 bool skip; 395 bool skip;
368 396
369 // The reason the test case is skipped, if the user provided it. 397 // The reason the test case is skipped, if the user provided it.
370 String? skipReason; 398 String? skipReason;
371 } 399 }
372 ``` 400 ```
373 401
374 The metadata attached to a test by a user. 402 The metadata attached to a test by a user.
OLDNEW
« no previous file with comments | « CHANGELOG.md ('k') | json_reporter.schema.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698