diff --git a/doc/api/test.md b/doc/api/test.md index 715086cafd475a..f07a3234435858 100644 --- a/doc/api/test.md +++ b/doc/api/test.md @@ -403,6 +403,18 @@ if (anAlwaysFalseCondition) { } ``` +### Coverage reporters + +The tap and spec reporters will print a summary of the coverage statistics. +There is also an lcov reporter that will generate an lcov file which can be +used as an in depth coverage report. + +```bash +node --test --experimental-test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info +``` + +### Limitations + The test runner's code coverage functionality has the following limitations, which will be addressed in a future Node.js release: @@ -850,6 +862,10 @@ The following built-reporters are supported: * `junit` The junit reporter outputs test results in a jUnit XML format +* `lcov` + The `lcov` reporter outputs test coverage when used with the + [`--experimental-test-coverage`][] flag. + When `stdout` is a [TTY][], the `spec` reporter is used by default. Otherwise, the `tap` reporter is used by default. diff --git a/lib/internal/test_runner/reporter/lcov.js b/lib/internal/test_runner/reporter/lcov.js new file mode 100644 index 00000000000000..0ea6c38dade146 --- /dev/null +++ b/lib/internal/test_runner/reporter/lcov.js @@ -0,0 +1,104 @@ +const Transform = require('internal/streams/transform'); + +// This reporter is based on the LCOV format, as described here: +// https://ltp.sourceforge.net/coverage/lcov/geninfo.1.php. Excerpts from this +// documentation are included in the comments that make up the _transform +// function below. +class LcovReporter extends Transform { + constructor(options) { + super({ ...options, writableObjectMode: true }); + } + + _transform(event, _encoding, callback) { + if (event.type === 'test:coverage') { + let lcov = ''; + // A tracefile is made up of several human-readable lines of text, divided + // into sections. If available, a tracefile begins with the testname which + // is stored in the following format: + // ## TN:\ + lcov += 'TN:\n'; + const { + data: { + summary: { workingDirectory }, + }, + } = event; + try { + for (let i = 0; i < event.data.summary.files.length; i++) { + const file = event.data.summary.files[i]; + // For each source file referenced in the .da file, there is a section + // containing filename and coverage data: + // ## SF:\ + lcov += `SF:${file.path.replace(workingDirectory + '/', '')}\n`; + + // Following is a list of line numbers for each function name found in + // the source file: + // ## FN:\,\ + // + // After, there is a list of execution counts for each instrumented + // function: + // ## FNDA:\,\ + // + // This loop adds the FN lines to the lcov variable as it goes and + // gathers the FNDA lines to be added later. This way we only loop + // through the list of functions once. + let fnda = ''; + for (let j = 0; j < file.functions.length; j++) { + const func = file.functions[j]; + const name = func.name || `anonymous_${j}`; + lcov += `FN:${func.line},${name}\n`; + fnda += `FNDA:${func.count},${name}\n`; + } + lcov += fnda; + + // This list is followed by two lines containing the number of + // functions found and hit: + // ## FNF:\ + // ## FNH:\ + lcov += `FNF:${file.totalFunctionCount}\n`; + lcov += `FNH:${file.coveredFunctionCount}\n`; + + // Branch coverage information is stored which one line per branch: + // ## BRDA:\,\,\,\ + // Block number and branch number are gcc internal IDs for the branch. + // Taken is either '-' if the basic block containing the branch was + // never executed or a number indicating how often that branch was + // taken. + for (let j = 0; j < file.branches.length; j++) { + lcov += `BRDA:${file.branches[j].line},${j},0,${file.branches[j].count}\n`; + } + + // Branch coverage summaries are stored in two lines: + // ## BRF:\ + // ## BRH:\ + lcov += `BRF:${file.totalBranchCount}\n`; + lcov += `BRH:${file.coveredBranchCount}\n`; + + // Then there is a list of execution counts for each instrumented line + // (i.e. a line which resulted in executable code): + // ## DA:\,\[,\] + const sortedLines = [...file.lines].sort((a, b) => a.line - b.line); + for (let j = 0; j < sortedLines.length; j++) { + lcov += `DA:${sortedLines[j].line},${sortedLines[j].count}\n`; + } + + // At the end of a section, there is a summary about how many lines + // were found and how many were actually instrumented: + // ## LH:\ + // ## LF:\ + lcov += `LH:${file.coveredLineCount}\n`; + lcov += `LF:${file.totalLineCount}\n`; + + // Each sections ends with: + // end_of_record + lcov += 'end_of_record\n'; + } + } catch (error) { + callback(error); + } + return callback(null, lcov); + } + callback(null); + } +} + +module.exports = LcovReporter; diff --git a/lib/internal/test_runner/utils.js b/lib/internal/test_runner/utils.js index b70ca649c8b8df..6b4663f14302c3 100644 --- a/lib/internal/test_runner/utils.js +++ b/lib/internal/test_runner/utils.js @@ -112,6 +112,7 @@ const kBuiltinReporters = new SafeMap([ ['dot', 'internal/test_runner/reporter/dot'], ['tap', 'internal/test_runner/reporter/tap'], ['junit', 'internal/test_runner/reporter/junit'], + ['lcov', 'internal/test_runner/reporter/lcov'], ]); const kDefaultReporter = process.stdout.isTTY ? 'spec' : 'tap'; diff --git a/lib/test/reporters.js b/lib/test/reporters.js index 06a0b27ee58275..943b2da9a5792b 100644 --- a/lib/test/reporters.js +++ b/lib/test/reporters.js @@ -6,6 +6,7 @@ let dot; let junit; let spec; let tap; +let lcov; ObjectDefineProperties(module.exports, { __proto__: null, @@ -45,4 +46,13 @@ ObjectDefineProperties(module.exports, { return tap; }, }, + lcov: { + __proto__: null, + configurable: true, + enumerable: true, + get() { + lcov ??= require('internal/test_runner/reporter/lcov'); + return lcov; + } + } }); diff --git a/test/fixtures/test-runner/output/lcov_reporter.js b/test/fixtures/test-runner/output/lcov_reporter.js new file mode 100644 index 00000000000000..b55a3e5d23e4d2 --- /dev/null +++ b/test/fixtures/test-runner/output/lcov_reporter.js @@ -0,0 +1,11 @@ +'use strict'; +require('../../../common'); +const fixtures = require('../../../common/fixtures'); +const spawn = require('node:child_process').spawn; + +const child = spawn(process.execPath, + ['--no-warnings', '--experimental-test-coverage', '--test-reporter', 'lcov', fixtures.path('test-runner/output/output.js')], + { stdio: 'pipe' }); +// eslint-disable-next-line no-control-regex +child.stdout.on('data', (d) => process.stdout.write(d.toString().replace(/[^\x00-\x7F]/g, '').replace(/\u001b\[\d+m/g, ''))); +child.stderr.pipe(process.stderr); diff --git a/test/fixtures/test-runner/output/lcov_reporter.snapshot b/test/fixtures/test-runner/output/lcov_reporter.snapshot new file mode 100644 index 00000000000000..1a0263a70cb941 --- /dev/null +++ b/test/fixtures/test-runner/output/lcov_reporter.snapshot @@ -0,0 +1,2040 @@ +TN: +SF:test/common/index.js +FN:54,noop +FN:67,parseTestFlags +FN:133,anonymous_2 +FN:169,anonymous_3 +FN:176,queueDestroyAsyncId +FN:187,init +FN:199,before +FN:200,after +FN:201,destroy +FN:230,anonymous_9 +FN:240,childShouldThrowAndAbort +FN:258,createZeroFilledFile +FN:270,platformTimeout +FN:377,allowGlobals +FN:387,leakedGlobals +FN:401,anonymous_15 +FN:411,runCallChecks +FN:434,mustCall +FN:438,mustSucceed +FN:446,mustCallAtLeast +FN:450,_mustCallInner +FN:499,hasMultiLocalhost +FN:508,skipIfEslintMissing +FN:516,canCreateSymLink +FN:538,getCallSite +FN:550,mustNotCall +FN:563,mustNotMutateObjectDeep +FN:607,printSkipMessage +FN:611,skip +FN:619,nodeProcessAborted +FN:652,isAlive +FN:661,_expectWarning +FN:695,expectWarning +FN:718,expectsError +FN:734,skipIfInspectorDisabled +FN:740,skipIf32Bits +FN:746,skipIfWorker +FN:752,getArrayBufferViews +FN:781,getBufferSources +FN:785,getTTYfd +FN:802,runWithInvalidFD +FN:816,invalidArgTypeHelper +FN:836,skipIfDumbTerminal +FN:842,gcUntil +FN:866,requireNoPackageJSONAbove +FN:880,spawnPromisified +FN:965,get enoughTestMem +FN:969,get hasFipsCrypto +FN:973,get hasIPv6 +FN:989,get inFreeBSDJail +FN:1003,get isIBMi +FN:1007,get isLinuxPPCBE +FN:1012,get localhostIPv4 +FN:1034,get opensslCli +FN:1055,get PORT +FN:1065,get checkoutEOL +FN:1072,get +FNDA:0,noop +FNDA:1,parseTestFlags +FNDA:1,anonymous_2 +FNDA:0,anonymous_3 +FNDA:0,queueDestroyAsyncId +FNDA:0,init +FNDA:0,before +FNDA:0,after +FNDA:0,destroy +FNDA:1,anonymous_9 +FNDA:0,childShouldThrowAndAbort +FNDA:0,createZeroFilledFile +FNDA:2,platformTimeout +FNDA:0,allowGlobals +FNDA:0,leakedGlobals +FNDA:0,anonymous_15 +FNDA:0,runCallChecks +FNDA:0,mustCall +FNDA:0,mustSucceed +FNDA:0,mustCallAtLeast +FNDA:0,_mustCallInner +FNDA:0,hasMultiLocalhost +FNDA:0,skipIfEslintMissing +FNDA:0,canCreateSymLink +FNDA:0,getCallSite +FNDA:0,mustNotCall +FNDA:0,mustNotMutateObjectDeep +FNDA:0,printSkipMessage +FNDA:0,skip +FNDA:0,nodeProcessAborted +FNDA:0,isAlive +FNDA:0,_expectWarning +FNDA:0,expectWarning +FNDA:0,expectsError +FNDA:0,skipIfInspectorDisabled +FNDA:0,skipIf32Bits +FNDA:0,skipIfWorker +FNDA:0,getArrayBufferViews +FNDA:0,getBufferSources +FNDA:0,getTTYfd +FNDA:0,runWithInvalidFD +FNDA:0,invalidArgTypeHelper +FNDA:0,skipIfDumbTerminal +FNDA:0,gcUntil +FNDA:0,requireNoPackageJSONAbove +FNDA:0,spawnPromisified +FNDA:0,get enoughTestMem +FNDA:0,get hasFipsCrypto +FNDA:0,get hasIPv6 +FNDA:0,get inFreeBSDJail +FNDA:0,get isIBMi +FNDA:0,get isLinuxPPCBE +FNDA:0,get localhostIPv4 +FNDA:0,get opensslCli +FNDA:0,get PORT +FNDA:0,get checkoutEOL +FNDA:0,get +FNF:57 +FNH:4 +BRDA:1,0,0,1 +BRDA:38,1,0,0 +BRDA:104,2,0,0 +BRDA:107,3,0,0 +BRDA:158,4,0,0 +BRDA:162,5,0,0 +BRDA:217,6,0,0 +BRDA:265,7,0,0 +BRDA:308,8,0,0 +BRDA:373,9,0,0 +BRDA:382,10,0,0 +BRDA:67,11,0,1 +BRDA:78,12,0,0 +BRDA:83,13,0,0 +BRDA:133,14,0,1 +BRDA:139,15,0,0 +BRDA:230,16,0,1 +BRDA:232,17,0,0 +BRDA:270,18,0,2 +BRDA:271,19,0,0 +BRDA:275,20,0,0 +BRDA:278,21,0,0 +BRDA:281,22,0,0 +BRF:23 +BRH:5 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,1 +DA:54,1 +DA:55,1 +DA:56,1 +DA:57,1 +DA:58,1 +DA:59,1 +DA:60,1 +DA:61,1 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,0 +DA:80,0 +DA:81,1 +DA:82,1 +DA:83,1 +DA:84,0 +DA:85,0 +DA:86,1 +DA:87,1 +DA:88,1 +DA:89,1 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:94,1 +DA:95,1 +DA:96,1 +DA:97,1 +DA:98,1 +DA:99,1 +DA:100,1 +DA:101,1 +DA:102,1 +DA:103,1 +DA:104,1 +DA:105,0 +DA:106,0 +DA:107,1 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,1 +DA:126,1 +DA:127,1 +DA:128,1 +DA:129,1 +DA:130,1 +DA:131,1 +DA:132,1 +DA:133,1 +DA:134,1 +DA:135,1 +DA:136,1 +DA:137,1 +DA:138,1 +DA:139,1 +DA:140,1 +DA:141,1 +DA:142,1 +DA:143,1 +DA:144,1 +DA:145,1 +DA:146,1 +DA:147,1 +DA:148,1 +DA:149,1 +DA:150,1 +DA:151,1 +DA:152,1 +DA:153,1 +DA:154,1 +DA:155,1 +DA:156,1 +DA:157,1 +DA:158,1 +DA:159,1 +DA:160,1 +DA:161,1 +DA:162,1 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,0 +DA:199,0 +DA:200,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:205,0 +DA:206,0 +DA:207,0 +DA:208,0 +DA:209,0 +DA:210,0 +DA:211,1 +DA:212,1 +DA:213,1 +DA:214,1 +DA:215,1 +DA:216,1 +DA:217,1 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:226,0 +DA:227,0 +DA:228,1 +DA:229,1 +DA:230,1 +DA:231,1 +DA:232,1 +DA:233,1 +DA:234,1 +DA:235,1 +DA:236,1 +DA:237,1 +DA:238,1 +DA:239,1 +DA:240,0 +DA:241,0 +DA:242,0 +DA:243,0 +DA:244,0 +DA:245,0 +DA:246,0 +DA:247,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:251,0 +DA:252,0 +DA:253,0 +DA:254,0 +DA:255,0 +DA:256,0 +DA:257,1 +DA:258,0 +DA:259,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:263,1 +DA:264,1 +DA:265,1 +DA:266,1 +DA:267,1 +DA:268,1 +DA:269,1 +DA:270,2 +DA:271,2 +DA:272,2 +DA:273,2 +DA:274,2 +DA:275,2 +DA:276,2 +DA:277,2 +DA:278,2 +DA:279,2 +DA:280,2 +DA:281,2 +DA:282,2 +DA:283,2 +DA:284,2 +DA:285,1 +DA:286,1 +DA:287,1 +DA:288,1 +DA:289,1 +DA:290,1 +DA:291,1 +DA:292,1 +DA:293,1 +DA:294,1 +DA:295,1 +DA:296,1 +DA:297,1 +DA:298,1 +DA:299,1 +DA:300,1 +DA:301,1 +DA:302,1 +DA:303,1 +DA:304,1 +DA:305,1 +DA:306,1 +DA:307,1 +DA:308,1 +DA:309,0 +DA:310,0 +DA:311,1 +DA:312,1 +DA:313,1 +DA:314,1 +DA:315,1 +DA:316,1 +DA:317,1 +DA:318,1 +DA:319,1 +DA:320,1 +DA:321,1 +DA:322,1 +DA:323,1 +DA:324,1 +DA:325,1 +DA:326,1 +DA:327,1 +DA:328,1 +DA:329,1 +DA:330,1 +DA:331,1 +DA:332,1 +DA:333,1 +DA:334,1 +DA:335,1 +DA:336,1 +DA:337,1 +DA:338,1 +DA:339,1 +DA:340,1 +DA:341,1 +DA:342,1 +DA:343,1 +DA:344,1 +DA:345,1 +DA:346,1 +DA:347,1 +DA:348,1 +DA:349,1 +DA:350,1 +DA:351,1 +DA:352,1 +DA:353,1 +DA:354,1 +DA:355,1 +DA:356,1 +DA:357,1 +DA:358,1 +DA:359,1 +DA:360,1 +DA:361,1 +DA:362,1 +DA:363,1 +DA:364,1 +DA:365,1 +DA:366,1 +DA:367,1 +DA:368,1 +DA:369,1 +DA:370,1 +DA:371,1 +DA:372,1 +DA:373,1 +DA:374,0 +DA:375,0 +DA:376,1 +DA:377,0 +DA:378,0 +DA:379,0 +DA:380,1 +DA:381,1 +DA:382,1 +DA:383,0 +DA:384,0 +DA:385,0 +DA:386,1 +DA:387,1 +DA:388,0 +DA:389,0 +DA:390,0 +DA:391,0 +DA:392,0 +DA:393,0 +DA:394,0 +DA:395,0 +DA:396,0 +DA:397,0 +DA:398,0 +DA:399,0 +DA:400,1 +DA:401,1 +DA:402,0 +DA:403,0 +DA:404,0 +DA:405,0 +DA:406,1 +DA:407,1 +DA:408,1 +DA:409,1 +DA:410,1 +DA:411,0 +DA:412,0 +DA:413,0 +DA:414,0 +DA:415,0 +DA:416,0 +DA:417,0 +DA:418,0 +DA:419,0 +DA:420,0 +DA:421,0 +DA:422,0 +DA:423,0 +DA:424,0 +DA:425,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:429,0 +DA:430,0 +DA:431,0 +DA:432,0 +DA:433,1 +DA:434,0 +DA:435,0 +DA:436,0 +DA:437,1 +DA:438,0 +DA:439,0 +DA:440,0 +DA:441,0 +DA:442,0 +DA:443,0 +DA:444,0 +DA:445,1 +DA:446,0 +DA:447,0 +DA:448,0 +DA:449,1 +DA:450,0 +DA:451,0 +DA:452,0 +DA:453,0 +DA:454,0 +DA:455,0 +DA:456,0 +DA:457,0 +DA:458,0 +DA:459,0 +DA:460,0 +DA:461,0 +DA:462,0 +DA:463,0 +DA:464,0 +DA:465,0 +DA:466,0 +DA:467,0 +DA:468,0 +DA:469,0 +DA:470,0 +DA:471,0 +DA:472,0 +DA:473,0 +DA:474,0 +DA:475,0 +DA:476,0 +DA:477,0 +DA:478,0 +DA:479,0 +DA:480,0 +DA:481,0 +DA:482,0 +DA:483,0 +DA:484,0 +DA:485,0 +DA:486,0 +DA:487,0 +DA:488,0 +DA:489,0 +DA:490,0 +DA:491,0 +DA:492,0 +DA:493,0 +DA:494,0 +DA:495,0 +DA:496,0 +DA:497,0 +DA:498,1 +DA:499,0 +DA:500,0 +DA:501,0 +DA:502,0 +DA:503,0 +DA:504,0 +DA:505,0 +DA:506,0 +DA:507,1 +DA:508,0 +DA:509,0 +DA:510,0 +DA:511,0 +DA:512,0 +DA:513,0 +DA:514,0 +DA:515,1 +DA:516,0 +DA:517,0 +DA:518,0 +DA:519,0 +DA:520,0 +DA:521,0 +DA:522,0 +DA:523,0 +DA:524,0 +DA:525,0 +DA:526,0 +DA:527,0 +DA:528,0 +DA:529,0 +DA:530,0 +DA:531,0 +DA:532,0 +DA:533,0 +DA:534,0 +DA:535,0 +DA:536,0 +DA:537,1 +DA:538,0 +DA:539,0 +DA:540,0 +DA:541,0 +DA:542,0 +DA:543,0 +DA:544,0 +DA:545,0 +DA:546,0 +DA:547,0 +DA:548,0 +DA:549,1 +DA:550,0 +DA:551,0 +DA:552,0 +DA:553,0 +DA:554,0 +DA:555,0 +DA:556,0 +DA:557,0 +DA:558,0 +DA:559,0 +DA:560,1 +DA:561,1 +DA:562,1 +DA:563,0 +DA:564,0 +DA:565,0 +DA:566,0 +DA:567,0 +DA:568,0 +DA:569,0 +DA:570,0 +DA:571,0 +DA:572,0 +DA:573,0 +DA:574,0 +DA:575,0 +DA:576,0 +DA:577,0 +DA:578,0 +DA:579,0 +DA:580,0 +DA:581,0 +DA:582,0 +DA:583,0 +DA:584,0 +DA:585,0 +DA:586,0 +DA:587,0 +DA:588,0 +DA:589,0 +DA:590,0 +DA:591,0 +DA:592,0 +DA:593,0 +DA:594,0 +DA:595,0 +DA:596,0 +DA:597,0 +DA:598,0 +DA:599,0 +DA:600,0 +DA:601,0 +DA:602,0 +DA:603,0 +DA:604,0 +DA:605,0 +DA:606,1 +DA:607,0 +DA:608,0 +DA:609,0 +DA:610,1 +DA:611,0 +DA:612,0 +DA:613,0 +DA:614,0 +DA:615,1 +DA:616,1 +DA:617,1 +DA:618,1 +DA:619,0 +DA:620,0 +DA:621,0 +DA:622,0 +DA:623,0 +DA:624,0 +DA:625,0 +DA:626,0 +DA:627,0 +DA:628,0 +DA:629,0 +DA:630,0 +DA:631,0 +DA:632,0 +DA:633,0 +DA:634,0 +DA:635,0 +DA:636,0 +DA:637,0 +DA:638,0 +DA:639,0 +DA:640,0 +DA:641,0 +DA:642,0 +DA:643,0 +DA:644,0 +DA:645,0 +DA:646,0 +DA:647,0 +DA:648,0 +DA:649,0 +DA:650,0 +DA:651,1 +DA:652,0 +DA:653,0 +DA:654,0 +DA:655,0 +DA:656,0 +DA:657,0 +DA:658,0 +DA:659,0 +DA:660,1 +DA:661,0 +DA:662,0 +DA:663,0 +DA:664,0 +DA:665,0 +DA:666,0 +DA:667,0 +DA:668,0 +DA:669,0 +DA:670,0 +DA:671,0 +DA:672,0 +DA:673,0 +DA:674,0 +DA:675,0 +DA:676,0 +DA:677,0 +DA:678,0 +DA:679,0 +DA:680,0 +DA:681,0 +DA:682,0 +DA:683,0 +DA:684,0 +DA:685,0 +DA:686,0 +DA:687,0 +DA:688,1 +DA:689,1 +DA:690,1 +DA:691,1 +DA:692,1 +DA:693,1 +DA:694,1 +DA:695,0 +DA:696,0 +DA:697,0 +DA:698,0 +DA:699,0 +DA:700,0 +DA:701,0 +DA:702,0 +DA:703,0 +DA:704,0 +DA:705,0 +DA:706,0 +DA:707,0 +DA:708,0 +DA:709,0 +DA:710,0 +DA:711,0 +DA:712,0 +DA:713,0 +DA:714,0 +DA:715,0 +DA:716,1 +DA:717,1 +DA:718,0 +DA:719,0 +DA:720,0 +DA:721,0 +DA:722,0 +DA:723,0 +DA:724,0 +DA:725,0 +DA:726,0 +DA:727,0 +DA:728,0 +DA:729,0 +DA:730,0 +DA:731,0 +DA:732,0 +DA:733,1 +DA:734,0 +DA:735,0 +DA:736,0 +DA:737,0 +DA:738,0 +DA:739,1 +DA:740,0 +DA:741,0 +DA:742,0 +DA:743,0 +DA:744,0 +DA:745,1 +DA:746,0 +DA:747,0 +DA:748,0 +DA:749,0 +DA:750,0 +DA:751,1 +DA:752,0 +DA:753,0 +DA:754,0 +DA:755,0 +DA:756,0 +DA:757,0 +DA:758,0 +DA:759,0 +DA:760,0 +DA:761,0 +DA:762,0 +DA:763,0 +DA:764,0 +DA:765,0 +DA:766,0 +DA:767,0 +DA:768,0 +DA:769,0 +DA:770,0 +DA:771,0 +DA:772,0 +DA:773,0 +DA:774,0 +DA:775,0 +DA:776,0 +DA:777,0 +DA:778,0 +DA:779,0 +DA:780,1 +DA:781,0 +DA:782,0 +DA:783,0 +DA:784,1 +DA:785,0 +DA:786,0 +DA:787,0 +DA:788,0 +DA:789,0 +DA:790,0 +DA:791,0 +DA:792,0 +DA:793,0 +DA:794,0 +DA:795,0 +DA:796,0 +DA:797,0 +DA:798,0 +DA:799,0 +DA:800,0 +DA:801,1 +DA:802,0 +DA:803,0 +DA:804,0 +DA:805,0 +DA:806,0 +DA:807,0 +DA:808,0 +DA:809,0 +DA:810,0 +DA:811,0 +DA:812,0 +DA:813,0 +DA:814,1 +DA:815,1 +DA:816,0 +DA:817,0 +DA:818,0 +DA:819,0 +DA:820,0 +DA:821,0 +DA:822,0 +DA:823,0 +DA:824,0 +DA:825,0 +DA:826,0 +DA:827,0 +DA:828,0 +DA:829,0 +DA:830,0 +DA:831,0 +DA:832,0 +DA:833,0 +DA:834,0 +DA:835,1 +DA:836,0 +DA:837,0 +DA:838,0 +DA:839,0 +DA:840,0 +DA:841,1 +DA:842,0 +DA:843,0 +DA:844,0 +DA:845,0 +DA:846,0 +DA:847,0 +DA:848,0 +DA:849,0 +DA:850,0 +DA:851,0 +DA:852,0 +DA:853,0 +DA:854,0 +DA:855,0 +DA:856,0 +DA:857,0 +DA:858,0 +DA:859,0 +DA:860,0 +DA:861,0 +DA:862,0 +DA:863,0 +DA:864,0 +DA:865,1 +DA:866,0 +DA:867,0 +DA:868,0 +DA:869,0 +DA:870,0 +DA:871,0 +DA:872,0 +DA:873,0 +DA:874,0 +DA:875,0 +DA:876,0 +DA:877,0 +DA:878,0 +DA:879,1 +DA:880,0 +DA:881,0 +DA:882,0 +DA:883,0 +DA:884,0 +DA:885,0 +DA:886,0 +DA:887,0 +DA:888,0 +DA:889,0 +DA:890,0 +DA:891,0 +DA:892,0 +DA:893,0 +DA:894,0 +DA:895,0 +DA:896,0 +DA:897,0 +DA:898,0 +DA:899,0 +DA:900,0 +DA:901,0 +DA:902,0 +DA:903,0 +DA:904,0 +DA:905,0 +DA:906,0 +DA:907,0 +DA:908,0 +DA:909,1 +DA:910,1 +DA:911,1 +DA:912,1 +DA:913,1 +DA:914,1 +DA:915,1 +DA:916,1 +DA:917,1 +DA:918,1 +DA:919,1 +DA:920,1 +DA:921,1 +DA:922,1 +DA:923,1 +DA:924,1 +DA:925,1 +DA:926,1 +DA:927,1 +DA:928,1 +DA:929,1 +DA:930,1 +DA:931,1 +DA:932,1 +DA:933,1 +DA:934,1 +DA:935,1 +DA:936,1 +DA:937,1 +DA:938,1 +DA:939,1 +DA:940,1 +DA:941,1 +DA:942,1 +DA:943,1 +DA:944,1 +DA:945,1 +DA:946,1 +DA:947,1 +DA:948,1 +DA:949,1 +DA:950,1 +DA:951,1 +DA:952,1 +DA:953,1 +DA:954,1 +DA:955,1 +DA:956,1 +DA:957,1 +DA:958,1 +DA:959,1 +DA:960,1 +DA:961,1 +DA:962,1 +DA:963,1 +DA:964,1 +DA:965,1 +DA:966,0 +DA:967,1 +DA:968,1 +DA:969,1 +DA:970,0 +DA:971,1 +DA:972,1 +DA:973,1 +DA:974,0 +DA:975,0 +DA:976,0 +DA:977,0 +DA:978,0 +DA:979,0 +DA:980,0 +DA:981,0 +DA:982,0 +DA:983,0 +DA:984,0 +DA:985,0 +DA:986,0 +DA:987,1 +DA:988,1 +DA:989,1 +DA:990,0 +DA:991,0 +DA:992,0 +DA:993,0 +DA:994,0 +DA:995,0 +DA:996,0 +DA:997,0 +DA:998,0 +DA:999,1 +DA:1000,1 +DA:1001,1 +DA:1002,1 +DA:1003,1 +DA:1004,0 +DA:1005,1 +DA:1006,1 +DA:1007,1 +DA:1008,0 +DA:1009,0 +DA:1010,1 +DA:1011,1 +DA:1012,1 +DA:1013,0 +DA:1014,0 +DA:1015,0 +DA:1016,0 +DA:1017,0 +DA:1018,0 +DA:1019,0 +DA:1020,0 +DA:1021,0 +DA:1022,0 +DA:1023,0 +DA:1024,0 +DA:1025,0 +DA:1026,0 +DA:1027,0 +DA:1028,0 +DA:1029,0 +DA:1030,0 +DA:1031,1 +DA:1032,1 +DA:1033,1 +DA:1034,1 +DA:1035,0 +DA:1036,0 +DA:1037,0 +DA:1038,0 +DA:1039,0 +DA:1040,0 +DA:1041,0 +DA:1042,0 +DA:1043,0 +DA:1044,0 +DA:1045,0 +DA:1046,0 +DA:1047,0 +DA:1048,0 +DA:1049,0 +DA:1050,0 +DA:1051,0 +DA:1052,0 +DA:1053,1 +DA:1054,1 +DA:1055,1 +DA:1056,0 +DA:1057,0 +DA:1058,0 +DA:1059,0 +DA:1060,1 +DA:1061,1 +DA:1062,1 +DA:1063,1 +DA:1064,1 +DA:1065,1 +DA:1066,0 +DA:1067,1 +DA:1068,1 +DA:1069,1 +DA:1070,1 +DA:1071,1 +DA:1072,1 +DA:1073,0 +DA:1074,0 +DA:1075,0 +DA:1076,1 +DA:1077,1 +LH:424 +LF:1077 +end_of_record +SF:test/common/tmpdir.js +FN:9,rmSync +FN:34,refresh +FN:48,onexit +FN:73,resolve +FN:77,hasEnoughSpace +FN:82,fileURL +FNDA:0,rmSync +FNDA:0,refresh +FNDA:0,onexit +FNDA:0,resolve +FNDA:0,hasEnoughSpace +FNDA:0,fileURL +FNF:6 +FNH:0 +BRDA:1,0,0,1 +BRDA:24,1,0,0 +BRDA:30,2,0,0 +BRDA:30,3,0,0 +BRF:4 +BRH:1 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,1 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,1 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,1 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,1 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,1 +DA:89,1 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:94,1 +DA:95,1 +LH:31 +LF:95 +end_of_record +SF:test/fixtures/test-runner/output/output.js +FN:8,anonymous_0 +FN:12,anonymous_1 +FN:16,anonymous_2 +FN:21,anonymous_3 +FN:26,anonymous_4 +FN:30,anonymous_5 +FN:34,anonymous_6 +FN:38,anonymous_7 +FN:42,anonymous_8 +FN:46,anonymous_9 +FN:50,anonymous_10 +FN:54,anonymous_11 +FN:59,anonymous_12 +FN:64,anonymous_13 +FN:68,anonymous_14 +FN:72,anonymous_15 +FN:76,anonymous_16 +FN:80,anonymous_17 +FN:81,anonymous_18 +FN:86,anonymous_19 +FN:87,anonymous_20 +FN:92,anonymous_21 +FN:93,anonymous_22 +FN:94,anonymous_23 +FN:100,anonymous_24 +FN:101,anonymous_25 +FN:107,anonymous_26 +FN:111,anonymous_27 +FN:112,anonymous_28 +FN:113,anonymous_29 +FN:114,anonymous_30 +FN:122,anonymous_31 +FN:123,anonymous_32 +FN:130,anonymous_33 +FN:131,anonymous_34 +FN:132,anonymous_35 +FN:140,anonymous_36 +FN:141,anonymous_37 +FN:142,anonymous_38 +FN:150,anonymous_39 +FN:151,anonymous_40 +FN:159,anonymous_41 +FN:160,anonymous_42 +FN:161,anonymous_43 +FN:166,anonymous_44 +FN:167,anonymous_45 +FN:171,anonymous_46 +FN:172,anonymous_47 +FN:173,anonymous_48 +FN:179,anonymous_49 +FN:183,anonymous_50 +FN:187,anonymous_51 +FN:195,functionOnly +FN:198,anonymous_53 +FN:213,functionAndOptions +FN:215,anonymous_55 +FN:219,anonymous_56 +FN:220,anonymous_57 +FN:225,anonymous_58 +FN:229,anonymous_59 +FN:233,anonymous_60 +FN:238,anonymous_61 +FN:242,anonymous_62 +FN:246,anonymous_63 +FN:251,anonymous_64 +FN:256,anonymous_65 +FN:257,anonymous_66 +FN:263,anonymous_67 +FN:264,anonymous_68 +FN:269,anonymous_69 +FN:270,anonymous_70 +FN:277,anonymous_71 +FN:287,anonymous_72 +FN:289,obj +FN:298,anonymous_74 +FN:300,obj +FN:309,anonymous_76 +FN:310,anonymous_77 +FN:313,anonymous_78 +FN:318,anonymous_79 +FN:319,anonymous_80 +FN:324,anonymous_81 +FN:329,anonymous_82 +FN:330,anonymous_83 +FN:335,anonymous_84 +FN:339,anonymous_85 +FN:342,get then +FN:345,anonymous_87 +FN:350,anonymous_88 +FN:353,get then +FN:356,anonymous_90 +FN:361,anonymous_91 +FN:362,anonymous_92 +FN:363,anonymous_93 +FN:367,anonymous_94 +FN:368,anonymous_95 +FN:369,anonymous_96 +FN:375,anonymous_97 +FN:379,anonymous_98 +FNDA:1,anonymous_0 +FNDA:1,anonymous_1 +FNDA:1,anonymous_2 +FNDA:1,anonymous_3 +FNDA:1,anonymous_4 +FNDA:1,anonymous_5 +FNDA:1,anonymous_6 +FNDA:1,anonymous_7 +FNDA:1,anonymous_8 +FNDA:1,anonymous_9 +FNDA:1,anonymous_10 +FNDA:1,anonymous_11 +FNDA:1,anonymous_12 +FNDA:1,anonymous_13 +FNDA:1,anonymous_14 +FNDA:1,anonymous_15 +FNDA:1,anonymous_16 +FNDA:1,anonymous_17 +FNDA:1,anonymous_18 +FNDA:1,anonymous_19 +FNDA:1,anonymous_20 +FNDA:1,anonymous_21 +FNDA:1,anonymous_22 +FNDA:1,anonymous_23 +FNDA:1,anonymous_24 +FNDA:1,anonymous_25 +FNDA:1,anonymous_26 +FNDA:1,anonymous_27 +FNDA:1,anonymous_28 +FNDA:1,anonymous_29 +FNDA:1,anonymous_30 +FNDA:1,anonymous_31 +FNDA:1,anonymous_32 +FNDA:1,anonymous_33 +FNDA:1,anonymous_34 +FNDA:1,anonymous_35 +FNDA:1,anonymous_36 +FNDA:1,anonymous_37 +FNDA:1,anonymous_38 +FNDA:1,anonymous_39 +FNDA:1,anonymous_40 +FNDA:1,anonymous_41 +FNDA:1,anonymous_42 +FNDA:1,anonymous_43 +FNDA:1,anonymous_44 +FNDA:1,anonymous_45 +FNDA:1,anonymous_46 +FNDA:1,anonymous_47 +FNDA:1,anonymous_48 +FNDA:0,anonymous_49 +FNDA:0,anonymous_50 +FNDA:1,anonymous_51 +FNDA:1,functionOnly +FNDA:1,anonymous_53 +FNDA:0,functionAndOptions +FNDA:1,anonymous_55 +FNDA:1,anonymous_56 +FNDA:1,anonymous_57 +FNDA:1,anonymous_58 +FNDA:1,anonymous_59 +FNDA:1,anonymous_60 +FNDA:1,anonymous_61 +FNDA:1,anonymous_62 +FNDA:1,anonymous_63 +FNDA:1,anonymous_64 +FNDA:1,anonymous_65 +FNDA:1,anonymous_66 +FNDA:1,anonymous_67 +FNDA:1,anonymous_68 +FNDA:1,anonymous_69 +FNDA:1,anonymous_70 +FNDA:1,anonymous_71 +FNDA:1,anonymous_72 +FNDA:1,obj +FNDA:1,anonymous_74 +FNDA:1,obj +FNDA:1,anonymous_76 +FNDA:1,anonymous_77 +FNDA:1,anonymous_78 +FNDA:1,anonymous_79 +FNDA:1,anonymous_80 +FNDA:1,anonymous_81 +FNDA:1,anonymous_82 +FNDA:1,anonymous_83 +FNDA:1,anonymous_84 +FNDA:1,anonymous_85 +FNDA:1,get then +FNDA:1,anonymous_87 +FNDA:1,anonymous_88 +FNDA:1,get then +FNDA:1,anonymous_90 +FNDA:1,anonymous_91 +FNDA:1,anonymous_92 +FNDA:1,anonymous_93 +FNDA:1,anonymous_94 +FNDA:1,anonymous_95 +FNDA:1,anonymous_96 +FNDA:1,anonymous_97 +FNDA:1,anonymous_98 +FNF:99 +FNH:96 +BRDA:1,0,0,1 +BRDA:8,1,0,1 +BRDA:12,2,0,1 +BRDA:16,3,0,1 +BRDA:21,4,0,1 +BRDA:26,5,0,1 +BRDA:30,6,0,1 +BRDA:34,7,0,1 +BRDA:38,8,0,1 +BRDA:42,9,0,1 +BRDA:46,10,0,1 +BRDA:50,11,0,1 +BRDA:54,12,0,1 +BRDA:59,13,0,1 +BRDA:64,14,0,1 +BRDA:68,15,0,1 +BRDA:72,16,0,1 +BRDA:76,17,0,1 +BRDA:80,18,0,1 +BRDA:81,19,0,1 +BRDA:86,20,0,1 +BRDA:87,21,0,1 +BRDA:92,22,0,1 +BRDA:93,23,0,1 +BRDA:94,24,0,1 +BRDA:100,25,0,1 +BRDA:101,26,0,1 +BRDA:107,27,0,1 +BRDA:111,28,0,1 +BRDA:112,29,0,1 +BRDA:113,30,0,1 +BRDA:114,31,0,1 +BRDA:122,32,0,1 +BRDA:123,33,0,1 +BRDA:130,34,0,1 +BRDA:131,35,0,1 +BRDA:132,36,0,1 +BRDA:140,37,0,1 +BRDA:141,38,0,1 +BRDA:142,39,0,1 +BRDA:150,40,0,1 +BRDA:151,41,0,1 +BRDA:159,42,0,1 +BRDA:160,43,0,1 +BRDA:161,44,0,1 +BRDA:166,45,0,1 +BRDA:167,46,0,1 +BRDA:171,47,0,1 +BRDA:172,48,0,1 +BRDA:173,49,0,1 +BRDA:187,50,0,1 +BRDA:195,51,0,1 +BRDA:198,52,0,1 +BRDA:215,53,0,1 +BRDA:219,54,0,1 +BRDA:220,55,0,1 +BRDA:225,56,0,1 +BRDA:229,57,0,1 +BRDA:233,58,0,1 +BRDA:238,59,0,1 +BRDA:242,60,0,1 +BRDA:246,61,0,1 +BRDA:251,62,0,1 +BRDA:256,63,0,1 +BRDA:257,64,0,1 +BRDA:263,65,0,1 +BRDA:264,66,0,1 +BRDA:269,67,0,1 +BRDA:270,68,0,1 +BRDA:277,69,0,1 +BRDA:287,70,0,1 +BRDA:289,71,0,1 +BRDA:298,72,0,1 +BRDA:300,73,0,1 +BRDA:309,74,0,1 +BRDA:310,75,0,1 +BRDA:313,76,0,1 +BRDA:318,77,0,1 +BRDA:319,78,0,1 +BRDA:324,79,0,1 +BRDA:329,80,0,1 +BRDA:330,81,0,1 +BRDA:335,82,0,1 +BRDA:339,83,0,1 +BRDA:342,84,0,1 +BRDA:343,85,0,0 +BRDA:345,86,0,1 +BRDA:350,87,0,1 +BRDA:353,88,0,1 +BRDA:354,89,0,0 +BRDA:356,90,0,1 +BRDA:361,91,0,1 +BRDA:364,92,0,0 +BRDA:362,93,0,1 +BRDA:363,94,0,1 +BRDA:367,95,0,1 +BRDA:370,96,0,0 +BRDA:368,97,0,1 +BRDA:369,98,0,1 +BRDA:375,99,0,1 +BRDA:379,100,0,1 +BRF:101 +BRH:97 +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:30,1 +DA:31,1 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,1 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,1 +DA:53,1 +DA:54,1 +DA:55,1 +DA:56,1 +DA:57,1 +DA:58,1 +DA:59,1 +DA:60,1 +DA:61,1 +DA:62,1 +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +DA:68,1 +DA:69,1 +DA:70,1 +DA:71,1 +DA:72,1 +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +DA:78,1 +DA:79,1 +DA:80,1 +DA:81,1 +DA:82,1 +DA:83,1 +DA:84,1 +DA:85,1 +DA:86,1 +DA:87,1 +DA:88,1 +DA:89,1 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:94,1 +DA:95,1 +DA:96,1 +DA:97,1 +DA:98,1 +DA:99,1 +DA:100,1 +DA:101,1 +DA:102,1 +DA:103,1 +DA:104,1 +DA:105,1 +DA:106,1 +DA:107,1 +DA:108,1 +DA:109,1 +DA:110,1 +DA:111,1 +DA:112,1 +DA:113,1 +DA:114,1 +DA:115,1 +DA:116,1 +DA:117,1 +DA:118,1 +DA:119,1 +DA:120,1 +DA:121,1 +DA:122,1 +DA:123,1 +DA:124,1 +DA:125,1 +DA:126,1 +DA:127,1 +DA:128,1 +DA:129,1 +DA:130,1 +DA:131,1 +DA:132,1 +DA:133,1 +DA:134,1 +DA:135,1 +DA:136,1 +DA:137,1 +DA:138,1 +DA:139,1 +DA:140,1 +DA:141,1 +DA:142,1 +DA:143,1 +DA:144,1 +DA:145,1 +DA:146,1 +DA:147,1 +DA:148,1 +DA:149,1 +DA:150,1 +DA:151,1 +DA:152,1 +DA:153,1 +DA:154,1 +DA:155,1 +DA:156,1 +DA:157,1 +DA:158,1 +DA:159,1 +DA:160,1 +DA:161,1 +DA:162,1 +DA:163,1 +DA:164,1 +DA:165,1 +DA:166,1 +DA:167,1 +DA:168,1 +DA:169,1 +DA:170,1 +DA:171,1 +DA:172,1 +DA:173,1 +DA:174,1 +DA:175,1 +DA:176,1 +DA:177,1 +DA:178,1 +DA:179,1 +DA:180,0 +DA:181,1 +DA:182,1 +DA:183,1 +DA:184,0 +DA:185,1 +DA:186,1 +DA:187,1 +DA:188,1 +DA:189,1 +DA:190,1 +DA:191,1 +DA:192,1 +DA:193,1 +DA:194,1 +DA:195,1 +DA:196,1 +DA:197,1 +DA:198,1 +DA:199,1 +DA:200,1 +DA:201,1 +DA:202,1 +DA:203,1 +DA:204,1 +DA:205,1 +DA:206,1 +DA:207,1 +DA:208,1 +DA:209,1 +DA:210,1 +DA:211,1 +DA:212,1 +DA:213,1 +DA:214,1 +DA:215,1 +DA:216,1 +DA:217,1 +DA:218,1 +DA:219,1 +DA:220,1 +DA:221,1 +DA:222,1 +DA:223,1 +DA:224,1 +DA:225,1 +DA:226,1 +DA:227,1 +DA:228,1 +DA:229,1 +DA:230,1 +DA:231,1 +DA:232,1 +DA:233,1 +DA:234,1 +DA:235,1 +DA:236,1 +DA:237,1 +DA:238,1 +DA:239,1 +DA:240,1 +DA:241,1 +DA:242,1 +DA:243,1 +DA:244,1 +DA:245,1 +DA:246,1 +DA:247,1 +DA:248,1 +DA:249,1 +DA:250,1 +DA:251,1 +DA:252,1 +DA:253,1 +DA:254,1 +DA:255,1 +DA:256,1 +DA:257,1 +DA:258,1 +DA:259,1 +DA:260,1 +DA:261,1 +DA:262,1 +DA:263,1 +DA:264,1 +DA:265,1 +DA:266,1 +DA:267,1 +DA:268,1 +DA:269,1 +DA:270,1 +DA:271,1 +DA:272,1 +DA:273,1 +DA:274,1 +DA:275,1 +DA:276,1 +DA:277,1 +DA:278,1 +DA:279,1 +DA:280,1 +DA:281,1 +DA:282,1 +DA:283,1 +DA:284,1 +DA:285,1 +DA:286,1 +DA:287,1 +DA:288,1 +DA:289,1 +DA:290,1 +DA:291,1 +DA:292,1 +DA:293,1 +DA:294,1 +DA:295,1 +DA:296,1 +DA:297,1 +DA:298,1 +DA:299,1 +DA:300,1 +DA:301,1 +DA:302,1 +DA:303,1 +DA:304,1 +DA:305,1 +DA:306,1 +DA:307,1 +DA:308,1 +DA:309,1 +DA:310,1 +DA:311,1 +DA:312,1 +DA:313,1 +DA:314,1 +DA:315,1 +DA:316,1 +DA:317,1 +DA:318,1 +DA:319,1 +DA:320,1 +DA:321,1 +DA:322,1 +DA:323,1 +DA:324,1 +DA:325,1 +DA:326,1 +DA:327,1 +DA:328,1 +DA:329,1 +DA:330,1 +DA:331,1 +DA:332,1 +DA:333,1 +DA:334,1 +DA:335,1 +DA:336,1 +DA:337,1 +DA:338,1 +DA:339,1 +DA:340,1 +DA:341,1 +DA:342,1 +DA:343,1 +DA:344,1 +DA:345,1 +DA:346,1 +DA:347,1 +DA:348,1 +DA:349,1 +DA:350,1 +DA:351,1 +DA:352,1 +DA:353,1 +DA:354,1 +DA:355,1 +DA:356,1 +DA:357,1 +DA:358,1 +DA:359,1 +DA:360,1 +DA:361,1 +DA:362,1 +DA:363,1 +DA:364,1 +DA:365,1 +DA:366,1 +DA:367,1 +DA:368,1 +DA:369,1 +DA:370,1 +DA:371,1 +DA:372,1 +DA:373,1 +DA:374,1 +DA:375,1 +DA:376,1 +DA:377,1 +DA:378,1 +DA:379,1 +DA:380,1 +DA:381,1 +DA:382,1 +DA:383,1 +DA:384,1 +DA:385,1 +DA:386,1 +DA:387,1 +DA:388,1 +DA:389,1 +DA:390,1 +DA:391,1 +LH:389 +LF:391 +end_of_record diff --git a/test/parallel/test-runner-output.mjs b/test/parallel/test-runner-output.mjs index 372ca8f3bae0ff..ebe1421eb70f58 100644 --- a/test/parallel/test-runner-output.mjs +++ b/test/parallel/test-runner-output.mjs @@ -80,6 +80,7 @@ const tests = [ { name: 'test-runner/output/spec_reporter_successful.js', transform: specTransform }, { name: 'test-runner/output/spec_reporter.js', transform: specTransform }, { name: 'test-runner/output/spec_reporter_cli.js', transform: specTransform }, + { name: 'test-runner/output/lcov_reporter.js' }, { name: 'test-runner/output/output.js' }, { name: 'test-runner/output/output_cli.js' }, { name: 'test-runner/output/name_pattern.js' },