cypress: 3.8.0 run report has puzzling 'undefined' lines

When I do a ‘cypress run’ (windows 10 environment), I get several lines with text ‘undefined’ in the report. To exclude any local influences, I made a dummy scenario which does absolutely nothing, with a minimal ‘cypress.json’ file. But still it reports these lines.


  Running:  dummy.spec.js                                                                   (1 of 1)
undefined

  dummy describe
    √ dummy it (85ms)
undefined
undefined
  1 passing (96ms)
undefined

  (Results)

All tests pass, so it is not blocking. It’s just puzzling. Running in debug mode gives no clues as to what is undefined:


 2019-12-18T09:00:40.155Z cypress:server:project onMocha pass
 2019-12-18T09:00:40.155Z cypress:server:reporter got mocha event 'pass' with args: [ { id: 'r3', title: 'dummy it', state: 'passed', body: 'function () {// nothing happens\n  }', type: 'test', duration: 15, wallClockStartedAt: '2019-12-18T09:00:40.145Z', timings: { lifecycle: 14, test: [Object] } } ]

     √ dummy it
 2019-12-18T09:00:40.155Z cypress:server:project onMocha test end
 2019-12-18T09:00:40.155Z cypress:server:reporter got mocha event 'test end' with args: [ { id: 'r3', title: 'dummy it', state: 'passed', body: 'function () {// nothing happens\n  }', type: 'test', duration: 15, wallClockStartedAt: '2019-12-18T09:00:40.145Z', timings: { lifecycle: 14, test: [Object] } } ]
 2019-12-18T09:00:40.169Z cypress:server:project onMocha test:after:run
 2019-12-18T09:00:40.169Z cypress:server:reporter got mocha event 'test:after:run' with args: [ { id: 'r3', title: 'dummy it', state: 'passed', body: 'function () {// nothing happens\n  }', type: 'test', duration: 15, wallClockStartedAt: '2019-12-18T09:00:40.145Z', wallClockDuration: 19, timings: { lifecycle: 14, test: [Object] } } ]
 2019-12-18T09:00:40.170Z cypress:server:project onMocha suite end
 2019-12-18T09:00:40.170Z cypress:server:reporter got mocha event 'suite end' with args: [ { id: 'r2', title: 'dummy describe', root: false, type: 'suite' } ]
undefined
 2019-12-18T09:00:40.171Z cypress:server:project onMocha suite end
 2019-12-18T09:00:40.171Z cypress:server:reporter got mocha event 'suite end' with args: [ { id: 'r1', title: '', root: true, type: 'suite' } ]
 2019-12-18T09:00:40.171Z cypress:server:project onMocha end
 2019-12-18T09:00:40.171Z cypress:server:reporter got mocha event 'end' with args: [ { end: '2019-12-18T09:00:40.167Z' } ]
 undefined
   1 passing (38ms)
 undefined
 
   (Results)
 
   ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
   │ Tests:        1                                                                                │
   │ Passing:      1                                                                                │
   │ Failing:      0                                                                                │
   │ Pending:      0                                                                                │
   │ Skipped:      0                                                                                │
   │ Screenshots:  0                                                                                │
   │ Video:        true                                                                             │
   │ Duration:     0 seconds                                                                        │
   │ Spec Ran:     dummy.spec.js                                                                    │
   └────────────────────────────────────────────────────────────────────────────────────────────────┘

 2019-12-18T09:00:41.178Z cypress:server:run attempting to close the browser

>

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 14
  • Comments: 17 (7 by maintainers)

Most upvoted comments

This was fixed because Electron was bumped from 7.1.10 to 7.1.13 in Cypress 4.1.0, and this bug was fixed in 7.1.13: https://github.com/electron/electron/pull/22173

No, it still applies. Regardless of what browser you are using, the “orchestrator” is always Cypress.exe (or the OS binary equivalent) which is a branded electron binary.

On Mon, 10 Feb 2020 at 13:47, PetMou notifications@github.com wrote:

I hope this doesn’t alter the root cause found by @piksel https://github.com/piksel, but the issue also appears when running with headless chrome options…

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/cypress-io/cypress/issues/5995?email_source=notifications&email_token=AAGFDVZYSH4G456K5642IYDRCFEFNA5CNFSM4J4IBVHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELIL6OA#issuecomment-584105784, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGFDV7MQ7MEUPV5GWJGJPLRCFEFNANCNFSM4J4IBVHA .

Same behaviour on v4.0.1

This is due to how console.log works in electron on windows: (lib/browser/init.ts:18)

  // Redirect node's console to use our own implementations, since node can not
  // handle console output when running as GUI program.
  const consoleLog = (format: any, ...args: any[]) => {
    return process.log(util.format(format, ...args) + '\n')
  }

Which means that every time that mocha wants to output an empty row, through console.log(), this happens:

let consoleLog = (format, ...args) => util.format(format, ...args); 
consoleLog(); // 'undefined'

The change in electron happened here: https://github.com/electron/electron/pull/16441/files#diff-fd84dda09f0dbd7e74e2822ff6cf19a8R27 But I have not figured out what version that was released in.

Is this reproducible when running cypress run --browser chrome?

Yes