Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Console info/warnings in STDOUT about config.browsers and react #4255

Closed
rhythmicdevil opened this issue May 20, 2019 · 15 comments
Closed

Console info/warnings in STDOUT about config.browsers and react #4255

rhythmicdevil opened this issue May 20, 2019 · 15 comments

Comments

@rhythmicdevil
Copy link

@rhythmicdevil rhythmicdevil commented May 20, 2019

Current behavior:

Execute the tests in a Docker container and we get the following info for each test.

Running: user_class/add_user_class_spec.js...                       (5 of 11) 
[185:0520/044143.433372:INFO:CONSOLE(162422)] "%cDownload the React DevTools for a better development experience: https://fb.me/react-devtools", source: http://uitesting.qa.etisoftware.local/__cypress/runner/cypress_runner.js (162422)
[185:0520/044144.300086:INFO:CONSOLE(118886)] "%cDownload the React DevTools for a better development experience: https://fb.me/react-devtools", source: http://uitesting.qa.etisoftware.local/__cypress/runner/cypress_runner.js (118886)
[185:0520/044144.548030:INFO:CONSOLE(96850)] "Warning: Failed prop type: The prop `config.browsers` is marked as required in `App`, but its value is `undefined`.
    in App (created by Container)
    in Container", source: http://uitesting.qa.etisoftware.local/__cypress/runner/cypress_runner.js (96850)

Desired behavior:

I'd like to know what I need to do to remedy this.

I can see that it recommending I "download React DevTools for a better development experience", but this is not relevant when I am running in Docker in my nightly jobs.
Where do I set the value for config.browsers? I dont anything about this in the changelog for 3.0.3. I dont see it anywhere in the documentation for config.

Other info

I run my tests nightly with the following command:

docker run --name launchPadUiTest -v /home/jenkins/workspace/UiTestingPipelines/LaunchPadUiTestingPipeline:/ui_testing eti-cypress:latest /bin/bash -c '/node_modules/.bin/cypress run --project /ui_testing'

When we updated to 3.0.3 I rebuilt our image.

FROM cypress/browsers:chrome69
RUN npm i cypress
RUN npm install wait-on
docker build -t eti-cypress .

This is the header from the output I see when running in Docker

(Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:  3.3.0                                                            │
  │ Browser:  Electron 61 (headless)                                           │
  │ Specs:    1 found (login/login_spec.js)                                    │
  └────────────────────────────────────────────────────────────────────────────┘

I dont see the info messages when running in my local development environment. This is the output header when I run locally

  │ Cypress:    3.3.0                                                                              │
  │ Browser:    Electron 61 (headless)                                                             │
  │ Specs:      11 found (company_profile/company_profile_spec.js, reporting/reporting_config_spe… │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

Versions

Cypress - 3.0.3
CentOS - 7
The browser is the default, Electron.

@jennifer-shehane
Copy link
Member

@jennifer-shehane jennifer-shehane commented May 20, 2019

Hey @rhythmicdevil, do you have any code within your cypress/plugins/index.js file?

@bahmutov Is this possible that the browser console logs are set up to log from the Docker container?

@bahmutov
Copy link
Collaborator

@bahmutov bahmutov commented May 20, 2019

@rhythmicdevil
Copy link
Author

@rhythmicdevil rhythmicdevil commented May 20, 2019

This is the content of the file cypress/plugins/index.js

    // ***********************************************************
    // This example plugins/index.js can be used to load plugins
    //
    // You can change the location of this file or turn off loading
    // the plugins file with the 'pluginsFile' configuration option.
    //
    // You can read more here:
    // https://on.cypress.io/plugins-guide
    // ***********************************************************
    
    // This function is called when a project is opened or re-opened (e.g. due to
    // the project's config changing)
    
    module.exports = (on, config) => {
      // `on` is used to hook into various events Cypress emits
      // `config` is the resolved Cypress config
    }

@jennifer-shehane
Copy link
Member

@jennifer-shehane jennifer-shehane commented May 20, 2019

@rhythmicdevil Thanks, the plugins look good. It seems @bahmutov is able to partially reproduce the error, so now we can investigate.

@brian-mann
Copy link
Member

@brian-mann brian-mann commented May 20, 2019

There is a bug in 3.3.0 where we are accidentally leaking an environment variable that causes this when the verify and run stage is run together.

If you split out cypress verify from cypress run as a different docker step, it won't log this out. We'll get this fixed in a 3.3.1 patch.

@rhythmicdevil
Copy link
Author

@rhythmicdevil rhythmicdevil commented May 20, 2019

Ok great. Thanks for the info.

@cypress-bot
Copy link

@cypress-bot cypress-bot bot commented May 22, 2019

The code for this is done in cypress-io/cypress#4281, but has yet to be released.
We'll update this issue and reference the changelog when it's released.

@shavo007
Copy link

@shavo007 shavo007 commented May 23, 2019

i get that issue too


[301:0522/234255.083832:INFO:CONSOLE(162422)] "%cDownload the React DevTools for a better development experience: https://fb.me/react-devtools", source: xx/__cypress/runner/cypress_runner.js (162422)
--
  | [301:0522/234255.631575:INFO:CONSOLE(118886)] "%cDownload the React DevTools for a better development experience: https://fb.me/react-devtools", source: xx/__cypress/runner/cypress_runner.js (118886)
  | [301:0522/234255.732192:INFO:CONSOLE(96850)] "Warning: Failed prop type: The prop `config.browsers` is marked as required in `App`, but its value is `undefined`.
  | in App (created by Container)
  | in Container", source: xx__cypress/runner/cypress_runner.js (96850)
  | [301:0522/234259.379345:INFO:CONSOLE(61945)] "%cDownload the React DevTools for a better development experience: https://fb.me/react-devtools",


@cypress-bot
Copy link

@cypress-bot cypress-bot bot commented May 23, 2019

Released in 3.3.1.

@iegik
Copy link

@iegik iegik commented Jun 7, 2019

Same info message after upgrading to 3.3.1 in DEBUG=cypress:* mode:

cypress:server:browsers:electron console message: { column: 15, level: 'error', line: 96956, source: 'console-api', text: 'Warning: Failed prop type: The prop `config.browsers` is marked as required in `App`, but its value is `undefined`.\n    in App (created by Container)\n    in Container', url: 'http://localhost:8080/__cypress/runner/cypress_runner.js' } +67ms

Jast warning.

@jennifer-shehane
Copy link
Member

@jennifer-shehane jennifer-shehane commented Jun 7, 2019

Hey @iegik, it is intended that all the warning logs do log out when the DEBUG environment variable is set. This i expected behavior.

The original issue was that this warning logged when no DEBUG lot had been set.

@bcnichols3
Copy link

@bcnichols3 bcnichols3 commented Jun 14, 2019

Hi, am I missing a setting? I just upgraded to 3.3.1 and still getting noisy logs

[52894:0614/104827.806631:ERROR:gles2_cmd_decoder.cc(4439)] [.RenderWorker-0x7fb79780c200.GpuRasterization]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[52894:0614/104827.806703:ERROR:gles2_cmd_decoder.cc(4439)] [.RenderWorker-0x7fb79780c200.GpuRasterization]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[52894:0614/104827.806726:ERROR:gles2_cmd_decoder.cc(4439)] [.RenderWorker-0x7fb79780c200.GpuRasterization]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glClear: framebuffer incomplete
[52894:0614/104827.806745:ERROR:gles2_cmd_decoder.cc(4439)] [.RenderWorker-0x7fb79780c200.GpuRasterization]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[52894:0614/104827.806765:ERROR:gles2_cmd_decoder.cc(4439)] [.RenderWorker-0x7fb79780c200.GpuRasterization]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[52894:0614/104827.806786:ERROR:gles2_cmd_decoder.cc(4439)] [.RenderWorker-0x7fb79780c200.GpuRasterization]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[52892:0614/104828.340283:INFO:CONSOLE(162528)] "%cDownload the React DevTools for a better development experience: https://fb.me/react-devtools"```

@dialex
Copy link

@dialex dialex commented Jul 9, 2019

It's not fixed! I'm using 3.3.2 and I have the same issue.

@flotwig
Copy link
Member

@flotwig flotwig commented Jul 9, 2019

Probably somehow related to the changes in #4165. This code controls what stderr from the Electron process is printed and what is suppressed:

child.stderr &&
child.stderr.on('data', (data) => {
const str = data.toString()
// bail if this is warning line garbage
if (isGarbageLineWarning(str)) {
return
}
// if we have a callback and this explictly returns
// false then bail
if (onStderrData && onStderrData(str) === false) {
return
}
// else pass it along!
process.stderr.write(data)
})

If you comment out line 157, no stderr is printed. But I'm not sure what stderr should remain and what stderr should be removed. The problem is probably somewhere else in the PR, since it didn't change this code section at all.

@flotwig flotwig self-assigned this Nov 21, 2019
@flotwig flotwig removed their assignment Nov 21, 2019
@jennifer-shehane jennifer-shehane changed the title Updated to 3.3.0 and am now getting info about config.browsers and react Console info/warnings in STDOUT about config.browsers and react Dec 10, 2019
@jennifer-shehane
Copy link
Member

@jennifer-shehane jennifer-shehane commented Jul 9, 2020

Closing as resolved since there have been no comments on this in a year. Likely this output is no longer shown since one of our Electron upgrades.

If you're experiencing a bug similar to this in Cypress, please open a new issue with a fully reproducible example that we can run. There may be a specific edge case with the issue that we need more detail to fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

9 participants