cypress-io / cypress

Fast, easy and reliable testing for anything that runs in a browser.
https://cypress.io
MIT License
47.08k stars 3.19k forks source link

3.5.0 Electron sandbox problem - does not start on Debian CI - FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctlly #5434

Closed krawetko closed 5 years ago

krawetko commented 5 years ago

Current behavior:

3.5.0 cannot start on CI with Debian.

Error:
[2665:1024/095756.163047:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.
[2019-10-24T07:58:07.381Z] Platform: linux (Debian - 9.9)

Debug log:

2019-10-24T13:56:25.128Z cypress:cli verifying Cypress app
2019-10-24T13:56:25.130Z cypress:cli checking environment variables
2019-10-24T13:56:25.141Z cypress:cli checking if executable exists /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress
2019-10-24T13:56:25.144Z cypress:cli Binary is executable? : true
2019-10-24T13:56:25.145Z cypress:cli binaryDir is  /home/jenkins/.cache/Cypress/3.5.0/Cypress
2019-10-24T13:56:25.148Z cypress:cli Reading binary package.json from: /home/jenkins/.cache/Cypress/3.5.0/Cypress/resources/app/package.json
2019-10-24T13:56:25.154Z cypress:cli Found binary version 3.5.0 installed in: /home/jenkins/.cache/Cypress/3.5.0/Cypress
2019-10-24T13:56:25.158Z cypress:cli could not read binary_state.json file
2019-10-24T13:56:25.159Z cypress:cli {}
2019-10-24T13:56:25.159Z cypress:cli is Verified ? undefined
2019-10-24T13:56:25.159Z cypress:cli running binary verification check 3.5.0
It looks like this is your first time using Cypress: 3.5.0

[?25l[15:56:25]  Verifying Cypress can run /home/jenkins/.cache/Cypress/3.5.0/Cypress [started]
2019-10-24T13:56:25.173Z cypress:cli clearing out the verified version
2019-10-24T13:56:25.175Z cypress:cli DISPLAY environment variable is set to :0 on Linux
Assuming this DISPLAY points at working X11 server,
Cypress will not spawn own Xvfb

NOTE: if the X11 server is NOT working, Cypress will exit without explanation,
  see https://github.com/cypress-io/cypress/issues/4034
Solution: Unset the DISPLAY variable and try again:
  DISPLAY= npx cypress run ...
2019-10-24T13:56:25.176Z cypress:cli needs Xvfb? false
2019-10-24T13:56:25.176Z cypress:cli spawning, should retry on display problem? true
2019-10-24T13:56:25.177Z cypress:cli running smoke test
2019-10-24T13:56:25.177Z cypress:cli using Cypress executable /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress
2019-10-24T13:56:25.177Z cypress:cli smoke test command: /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=251
2019-10-24T13:56:25.178Z cypress:cli smoke test timeout 30000 ms
2019-10-24T13:56:25.505Z cypress:cli Smoke test failed: { Error: Command failed: /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=251
[15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.

    at makeError (/home/jenkins/workspace/ded_trigger-build-update-cypress@2/node_modules/cypress/node_modules/execa/index.js:172:9)
    at Promise.all.then.arr (/home/jenkins/workspace/ded_trigger-build-update-cypress@2/node_modules/cypress/node_modules/execa/index.js:277:16)
    at Object.dynatraceRegularInvoke [as doInvoke] (/opt/dynatrace/oneagent/agent/res/nodeagent/nodejsagent.js:1732:20)
    at Object.a.safeInvoke (/opt/dynatrace/oneagent/agent/res/nodeagent/nodejsagent.js:1802:29)
    at /opt/dynatrace/oneagent/agent/res/nodeagent/nodejsagent.js:6952:25
    at process._tickCallback (internal/process/next_tick.js:68:7)
  code: null,
  stdout: '',
  stderr:
   '[15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I\'m aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.\n',
  failed: true,
  signal: 'SIGTRAP',
  cmd:
   '/home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=251',
  timedOut: false,
  killed: false }
2019-10-24T13:56:25.508Z cypress:cli error message: [15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.

[15:56:25]  Verifying Cypress can run /home/jenkins/.cache/Cypress/3.5.0/Cypress [failed]
[?25hCypress failed to start.

This is usually caused by a missing library or dependency.

The error below should indicate which dependency is missing.

https://on.cypress.io/required-dependencies

If you are using Docker, we provide containers with all required dependencies installed.

----------

[15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.

----------

Platform: linux (Debian - 9.9)
Cypress Version: 3.5.0

Additional --no-sandbox flag passed to electron could help, related issue on electron: https://github.com/electron/electron/issues/17972

Desired behavior:

It should run.

Steps to reproduce: (app code and test code)

  1. Run cypress 3.5.0 on Debian

Versions

Cypress 3.5.0 Debian - 9.9

ghost commented 5 years ago

We found this problem when running tests on Jenkins after installing cypress 3.5.0 trough 'npm install'. We changed it to 'npm ci'. For us it starts working again and even with faster installation process.

krawetko commented 5 years ago

We use 'npm ci' in our Jenkins and the problem is there.

ghost commented 5 years ago

We use 'npm ci' on our Jenkins and the problem is there.

do you have these dependencies installed on Jenkins nodes? https://docs.cypress.io/guides/guides/continuous-integration.html#Advanced-setup

krawetko commented 5 years ago

We use 'npm ci' on our Jenkins and the problem is there.

do you have these dependencies installed on Jenkins nodes? https://docs.cypress.io/guides/guides/continuous-integration.html#Advanced-setup

yes

jennifer-shehane commented 5 years ago

We are passing the --no-sandbox flag to electron under certain circumstances in 3.5.0.

https://github.com/cypress-io/cypress/blob/develop/cli/lib/exec/spawn.js#L110

We are passing this flag if the OS is not Windows 32 and if Cypress is being executed from the root user as detailed in this issue: https://bugs.chromium.org/p/chromium/issues/detail?id=638180

https://github.com/cypress-io/cypress/blob/develop/cli/lib/tasks/verify.js#L365

Unfortunately we didn't add any specific DEBUG information built in (like with needsXvfb) @bahmutov we should probably add a debug line here.

First, we need to know if the flag is being sent - we want to isolate if there is an issue with our calculation of when the flag should be sent, or if the flag is being sent and is not fixing this particular issue.

Please provide logs

Could you run Cypress in debug mode mode and print the logs here?

ghost commented 5 years ago

We tested it on electron and chrome and we do not use workaround with --no-sandbox flag.

krawetko commented 5 years ago

WORKAROUND:

Add file cypress/plugins/index.js

module.exports = (on, config) => {
  on('before:browser:launch', (browser = {}, args) => {
    if (browser.name === 'electron') {
      args['no-sandbox'] = true;
    }
    return args;
  });
};

This workaround also does not help, I get still the same error.

flotwig commented 5 years ago

I tried to reproduce this by running Cypress inside of a Docker image with Debian 9.9 as base. https://github.com/cypress-io/cypress-test-tiny passed fine with Node 10.17.0 and 6.11.3, so I wonder what the difference could be that is causing this problem.

Successful DEBUG logs:

root@ce50d4ada2a6:~/cypress-test-tiny# node -v
v10.17.0
root@ce50d4ada2a6:~/cypress-test-tiny# npm -v 
6.11.3
root@ce50d4ada2a6:~/cypress-test-tiny# ./node_modules/.bin/cypress version
Cypress package version: 3.5.0
Cypress binary version: 3.5.0
root@ce50d4ada2a6:~/cypress-test-tiny# DEBUG=cypress:* npm run cypress:run

> cypress-test-tiny@1.0.0 cypress:run /root/cypress-test-tiny
> cypress run

  cypress:cli cli starts with arguments ["/usr/bin/node","/root/cypress-test-tiny/node_modules/.bin/cypress","run"] +0ms
  cypress:cli NODE_OPTIONS is not set +0ms
  cypress:cli program parsing arguments +2ms
  cypress:cli running Cypress +1ms
  cypress:cli parsed cli options {} +31ms
  cypress:cli verifying Cypress app +0ms
  cypress:cli checking environment variables +1ms
  cypress:cli checking if executable exists /root/.cache/Cypress/3.5.0/Cypress/Cypress +2ms
  cypress:cli Binary is executable? : true +1ms
  cypress:cli binaryDir is  /root/.cache/Cypress/3.5.0/Cypress +0ms
  cypress:cli Reading binary package.json from: /root/.cache/Cypress/3.5.0/Cypress/resources/app/package.json +0ms
  cypress:cli Found binary version 3.5.0 installed in: /root/.cache/Cypress/3.5.0/Cypress +2ms
  cypress:cli { verified: true } +3ms
  cypress:cli is Verified ? true +1ms
  cypress:cli processing run options +0ms
  cypress:cli --key is not set, looking up environment variable CYPRESS_RECORD_KEY +1ms
  cypress:cli run to spawn.start args ["--run-project","/root/cypress-test-tiny"] +0ms
  cypress:cli undefined DISPLAY environment variable +0ms
  cypress:cli Cypress will spawn its own Xvfb +0ms
  cypress:cli needs to start own Xvfb? true +0ms
  cypress:cli Starting Xvfb +0ms
  cypress:cli spawning, should retry on display problem? false +16ms
  cypress:cli passing DISPLAY :99 +2ms
  cypress:cli spawning Cypress with executable: /root/.cache/Cypress/3.5.0/Cypress/Cypress +0ms
  cypress:cli spawn args [ '--run-project', '/root/cypress-test-tiny', '--cwd', '/root/cypress-test-tiny', '--no-sandbox' ] { detached: false, stdio: [ 'inherit', 'inherit', 'pipe' ] } +0ms
  cypress:cli piping child STDERR to process STDERR +3ms
  cypress:ts Running without ts-node hook in environment "production" +0ms
  cypress:server:cypress starting cypress with argv [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress', '--run-project', '/root/cypress-test-tiny', '--cwd', '/root/cypress-test-tiny', '--no-sandbox' ] +0ms
  cypress:server:args argv array: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress', '--run-project', '/root/cypress-test-tiny', '--cwd', '/root/cypress-test-tiny', '--no-sandbox' ] +0ms
  cypress:server:args argv parsed: { _: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress' ], runProject: '/root/cypress-test-tiny', cwd: '/root/cypress-test-tiny', sandbox: false, invokedFromCli: true } +3ms
  cypress:server:util:proxy found proxy environment variables { npm_config_proxy: '', npm_config_https_proxy: '' } +0ms
  cypress:server:args options { _: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress' ], runProject: '/root/cypress-test-tiny', cwd: '/root/cypress-test-tiny', sandbox: false, invokedFromCli: true, config: {} } +2ms
  cypress:server:args argv options: { _: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress' ], runProject: '/root/cypress-test-tiny', cwd: '/root/cypress-test-tiny', sandbox: false, invokedFromCli: true, config: {}, projectRoot: '/root/cypress-test-tiny', run: true } +0ms
Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"
  cypress:server:appdata path: /root/.config/Cypress/cy/production +0ms
  cypress:server:cypress starting in mode run +200ms
  cypress:server:cypress running Electron currently +1ms
  cypress:server:appdata path: /root/.config/Cypress/cy/production +307ms
  cypress:server:appdata path: /root/.config/Cypress/cy/production/cache +3ms
  cypress:server:appdata path: /root/.config/Cypress/cy/production/browsers +1s
  cypress:server:video using ffmpeg from /root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/@ffmpeg-installer/linux-x64/ffmpeg +0ms
  cypress:server:run run mode ready with options { _: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress' ], runProject: '/root/cypress-test-tiny', cwd: '/root/cypress-test-tiny', sandbox: false, invokedFromCli: true, config: {}, projectRoot: '/root/cypress-test-tiny', run: true } +0ms
  cypress:server:project Project created /root/cypress-test-tiny +0ms
  cypress:server:openproject opening project /root/cypress-test-tiny +0ms
  cypress:server:project opening project instance /root/cypress-test-tiny +1ms
  cypress:server:project project options { socketId: '6bxmo', morgan: false, report: true, isTextTerminal: true, onWarning: [Function: onWarning], onError: [Function: onError], onReloadBrowser: [Function], onFocusTests: [Function: onFocusTests], onSettingsChanged: false } +0ms
  cypress:server:config using CYPRESS_ENV production +0ms
  cypress:server:config setting support file /root/cypress-test-tiny/cypress/support +3ms
  cypress:server:config for project root /root/cypress-test-tiny +0ms
  cypress:server:config set support folder /root/cypress-test-tiny/cypress/support +2ms
  cypress:server:config setting plugins file /root/cypress-test-tiny/cypress/plugins +0ms
  cypress:server:config for project root /root/cypress-test-tiny +0ms
  cypress:server:config set pluginsFile to /root/cypress-test-tiny/cypress/plugins/index.js +0ms
  cypress:server:config set scaffold paths +1ms
  cypress:server:scaffold scaffolded files ["cypress/integration/examples/actions.spec.js","cypress/integration/examples/aliasing.spec.js","cypress/integration/examples/assertions.spec.js","cypress/integration/examples/connectors.spec.js","cypress/integration/examples/cookies.spec.js","cypress/integration/examples/cypress_api.spec.js","cypress/integration/examples/files.spec.js","cypress/integration/examples/local_storage.spec.js","cypress/integration/examples/location.spec.js","cypress/integration/examples/misc.spec.js","cypress/integration/examples/navigation.spec.js","cypress/integration/examples/network_requests.spec.js","cypress/integration/examples/querying.spec.js","cypress/integration/examples/spies_stubs_clocks.spec.js","cypress/integration/examples/traversal.spec.js","cypress/integration/examples/utilities.spec.js","cypress/integration/examples/viewport.spec.js","cypress/integration/examples/waiting.spec.js","cypress/integration/examples/window.spec.js","cypress/fixtures/example.json","cypress/support/commands.js","cypress/support/index.js","cypress/plugins/index.js"] +0ms
  cypress:server:config got file tree +4ms
  cypress:server:project get saved state +35ms
  cypress:server:saved_state noop saved state +0ms
  cypress:server:scaffold plugins folder /root/cypress-test-tiny/cypress/plugins +3ms
  cypress:server:scaffold verify scaffolding in /root/cypress-test-tiny/cypress/plugins +1ms
  cypress:server:scaffold folder /root/cypress-test-tiny/cypress/plugins already exists +0ms
  cypress:server:plugins plugins.init /root/cypress-test-tiny/cypress/plugins/index.js +0ms
  cypress:server:plugins forking to run /root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/lib/plugins/child/index.js +0ms
  cypress:server:plugins:child pluginsFile: /root/cypress-test-tiny/cypress/plugins/index.js +0ms
  cypress:server:plugins:child require pluginsFile +1ms
  cypress:server:plugins:child run plugins function +1ms
  cypress:server:plugins:child register event _get:task:body with id 0 +1ms
  cypress:server:plugins:child register event _get:task:keys with id 1 +0ms
  cypress:server:plugins register plugins process event _get:task:body with id 0 +147ms
  cypress:server:plugins register event '_get:task:body' +0ms
  cypress:server:plugins register plugins process event _get:task:keys with id 1 +0ms
  cypress:server:plugins register event '_get:task:keys' +0ms
  cypress:server:plugins resolving with new config null +0ms
  cypress:server:project plugin config yielded: null +151ms
  cypress:server:buffers resetting buffers +0ms
  cypress:server:server Server listening on  { address: '127.0.0.1', family: 'IPv4', port: 45323 } +0ms
  cypress:server:appdata path: /root/.config/Cypress/cy/production/proxy +757ms
  cypress:https-proxy Created SNI HTTPS Proxy Server { port: 43981 } +0ms
  cypress:server:server Setting remoteAuth undefined +16ms
  cypress:server:server Setting remoteOrigin http://localhost:45323 +1ms
  cypress:server:server Setting remoteStrategy file +0ms
  cypress:server:server Setting remoteHostAndPort null +0ms
  cypress:server:server Setting remoteDocDomain localhost +0ms
  cypress:server:server Setting remoteFileServer http://localhost:33613 +0ms
  cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:45323', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:33613' } +0ms
  cypress:server:project project config: { projectRoot: '/root/cypress-test-tiny', projectName: 'cypress-test-tiny', morgan: false, isTextTerminal: true, socketId: '6bxmo', report: true, port: 45323, hosts: null, baseUrl: null, projectId: null, userAgent: null, reporter: 'spec', reporterOptions: null, blacklistHosts: null, clientRoute: '/__/', xhrRoute: '/xhrs/', socketIoRoute: '/__socket.io', socketIoCookie: '__socket.io', reporterRoute: '/__cypress/reporter', ignoreTestFiles: '*.hot-update.js', testFiles: '**/*.*', defaultCommandTimeout: 4000, requestTimeout: 5000, responseTimeout: 30000, pageLoadTimeout: 60000, execTimeout: 60000, taskTimeout: 60000, video: true, videoCompression: 32, videoUploadOnPasses: true, modifyObstructiveCode: true, chromeWebSecurity: true, waitForAnimations: true, animationDistanceThreshold: 5, numTestsKeptInMemory: 0, watchForFileChanges: false, trashAssetsBeforeRuns: true, autoOpen: false, viewportWidth: 1000, viewportHeight: 660, fileServerFolder: '/root/cypress-test-tiny', videosFolder: '/root/cypress-test-tiny/cypress/videos', supportFile: '/root/cypress-test-tiny/cypress/support/index.js', fixturesFolder: '/root/cypress-test-tiny/cypress/fixtures', integrationFolder: '/root/cypress-test-tiny/cypress/integration', screenshotsFolder: '/root/cypress-test-tiny/cypress/screenshots', namespace: '__cypress', pluginsFile: '/root/cypress-test-tiny/cypress/plugins/index.js', nodeVersion: 'default', configFile: 'cypress.json', javascripts: [], env: {}, cypressEnv: 'production', parentTestsFolder: '/root/cypress-test-tiny/cypress', parentTestsFolderDisplay: 'cypress-test-tiny/cypress', supportFolder: '/root/cypress-test-tiny/cypress/support', integrationExampleName: 'examples', integrationExamplePath: '/root/cypress-test-tiny/cypress/integration/examples', scaffoldedFiles: [ { name: 'cypress', children: [Array] } ], resolvedNodeVersion: '12.0.0', state: {}, proxyUrl: 'http://localhost:45323', browserUrl: 'http://localhost:45323/__/', reporterUrl: 'http://localhost:45323/__cypress/reporter', xhrUrl: '__cypress/xhrs/' } +42ms
  cypress:server:reporter trying to load reporter: spec +0ms
  cypress:server:reporter spec is Mocha reporter +0ms
  cypress:server:project scaffolding project /root/cypress-test-tiny +3ms
  cypress:server:scaffold support folder /root/cypress-test-tiny/cypress/support, support file /root/cypress-test-tiny/cypress/support/index.js +194ms
  cypress:server:scaffold verify scaffolding in /root/cypress-test-tiny/cypress/support +0ms
  cypress:server:scaffold folder /root/cypress-test-tiny/cypress/support already exists +1ms
  cypress:server:project attempt watch plugins file: /root/cypress-test-tiny/cypress/plugins/index.js +1ms
  cypress:server:run project created and opened with config { projectRoot: '/root/cypress-test-tiny', projectName: 'cypress-test-tiny', morgan: false, isTextTerminal: true, socketId: '6bxmo', report: true, port: 45323, hosts: null, baseUrl: null, projectId: null, userAgent: null, reporter: 'spec', reporterOptions: null, blacklistHosts: null, clientRoute: '/__/', xhrRoute: '/xhrs/', socketIoRoute: '/__socket.io', socketIoCookie: '__socket.io', reporterRoute: '/__cypress/reporter', ignoreTestFiles: '*.hot-update.js', testFiles: '**/*.*', defaultCommandTimeout: 4000, requestTimeout: 5000, responseTimeout: 30000, pageLoadTimeout: 60000, execTimeout: 60000, taskTimeout: 60000, video: true, videoCompression: 32, videoUploadOnPasses: true, modifyObstructiveCode: true, chromeWebSecurity: true, waitForAnimations: true, animationDistanceThreshold: 5, numTestsKeptInMemory: 0, watchForFileChanges: false, trashAssetsBeforeRuns: true, autoOpen: false, viewportWidth: 1000, viewportHeight: 660, fileServerFolder: '/root/cypress-test-tiny', videosFolder: '/root/cypress-test-tiny/cypress/videos', supportFile: '/root/cypress-test-tiny/cypress/support/index.js', fixturesFolder: '/root/cypress-test-tiny/cypress/fixtures', integrationFolder: '/root/cypress-test-tiny/cypress/integration', screenshotsFolder: '/root/cypress-test-tiny/cypress/screenshots', namespace: '__cypress', pluginsFile: '/root/cypress-test-tiny/cypress/plugins/index.js', nodeVersion: 'default', configFile: 'cypress.json', javascripts: [], env: {}, cypressEnv: 'production', resolved: { animationDistanceThreshold: { value: 5, from: 'default' }, fileServerFolder: { value: '', from: 'default' }, baseUrl: { value: null, from: 'default' }, fixturesFolder: { value: 'cypress/fixtures', from: 'default' }, blacklistHosts: { value: null, from: 'default' }, chromeWebSecurity: { value: true, from: 'default' }, modifyObstructiveCode: { value: true, from: 'default' }, integrationFolder: { value: 'cypress/integration', from: 'default' }, env: {}, pluginsFile: { value: 'cypress/plugins', from: 'default' }, hosts: { value: null, from: 'default' }, screenshotsFolder: { value: 'cypress/screenshots', from: 'default' }, numTestsKeptInMemory: { value: 0, from: 'config' }, supportFile: { value: 'cypress/support', from: 'default' }, port: { value: null, from: 'default' }, projectId: { value: null, from: 'default' }, videosFolder: { value: 'cypress/videos', from: 'default' }, reporter: { value: 'spec', from: 'default' }, reporterOptions: { value: null, from: 'default' }, ignoreTestFiles: { value: '*.hot-update.js', from: 'default' }, testFiles: { value: '**/*.*', from: 'default' }, defaultCommandTimeout: { value: 4000, from: 'default' }, trashAssetsBeforeRuns: { value: true, from: 'default' }, execTimeout: { value: 60000, from: 'default' }, userAgent: { value: null, from: 'default' }, pageLoadTimeout: { value: 60000, from: 'default' }, viewportWidth: { value: 1000, from: 'default' }, requestTimeout: { value: 5000, from: 'default' }, viewportHeight: { value: 660, from: 'default' }, responseTimeout: { value: 30000, from: 'default' }, video: { value: true, from: 'default' }, taskTimeout: { value: 60000, from: 'default' }, videoCompression: { value: 32, from: 'default' }, videoUploadOnPasses: { value: true, from: 'default' }, watchForFileChanges: { value: false, from: 'config' }, waitForAnimations: { value: true, from: 'default' }, nodeVersion: { value: 'default', from: 'default' } }, parentTestsFolder: '/root/cypress-test-tiny/cypress', parentTestsFolderDisplay: 'cypress-test-tiny/cypress', supportFolder: '/root/cypress-test-tiny/cypress/support', integrationExampleName: 'examples', integrationExamplePath: '/root/cypress-test-tiny/cypress/integration/examples', scaffoldedFiles: [ { name: 'cypress', children: [Array] } ], resolvedNodeVersion: '12.0.0', state: {}, proxyUrl: 'http://localhost:45323', browserUrl: 'http://localhost:45323/__/', reporterUrl: 'http://localhost:45323/__cypress/reporter', xhrUrl: '__cypress/xhrs/' } +243ms
  cypress:server:specs looking for test specs in the folder: /root/cypress-test-tiny/cypress/integration +0ms
  cypress:server:profilecleaner found 0 root level profile matches: [] +0ms
  cypress:server:profilecleaner found 0 profile folders: [] +0ms
  cypress:server:profilecleaner found 1 profile folders: [ '/root/.config/Cypress/Partitions/run-25359' ] +0ms
  cypress:server:profilecleaner finding process by pid: 25359 +1ms
  cypress:launcher checking one browser chrome +0ms
  cypress:launcher looking up chrome on linux platform +0ms
  cypress:launcher finding version string using command "google-chrome --version" +0ms
  cypress:launcher checking one browser chrome +9ms
  cypress:launcher looking up chrome on linux platform +0ms
  cypress:launcher finding version string using command "chrome --version" +0ms
  cypress:launcher checking one browser chrome +7ms
  cypress:launcher looking up chrome on linux platform +1ms
  cypress:launcher finding version string using command "google-chrome-stable --version" +0ms
  cypress:server:specs found spec file /root/cypress-test-tiny/cypress/integration/spec.js +44ms
  cypress:server:specs found 1 spec files: [ { name: 'spec.js', relative: 'cypress/integration/spec.js', absolute: '/root/cypress-test-tiny/cypress/integration/spec.js' } ] +0ms
  cypress:server:run found '1' specs using spec pattern 'null': [ 'spec.js' ] +47ms
  cypress:launcher Received error detecting browser binary: "google-chrome" with error: spawn google-chrome ENOENT +12ms
  cypress:launcher browser chrome not installed +0ms
  cypress:launcher Received error detecting browser binary: "chrome" with error: spawn chrome ENOENT +1ms
  cypress:launcher browser chrome not installed +0ms
  cypress:launcher Received error detecting browser binary: "google-chrome-stable" with error: spawn google-chrome-stable ENOENT +0ms
  cypress:launcher browser chrome not installed +0ms
  cypress:launcher checking one browser chromium +1ms
  cypress:launcher looking up chromium on linux platform +0ms
  cypress:launcher finding version string using command "chromium-browser --version" +0ms
  cypress:launcher checking one browser chromium +7ms
  cypress:launcher looking up chromium on linux platform +0ms
  cypress:launcher finding version string using command "chromium --version" +0ms
  cypress:launcher Received error detecting browser binary: "chromium-browser" with error: spawn chromium-browser ENOENT +9ms
  cypress:launcher browser chromium not installed +0ms
  cypress:launcher Received error detecting browser binary: "chromium" with error: spawn chromium ENOENT +0ms
  cypress:launcher browser chromium not installed +0ms
  cypress:server:profilecleaner removing old profile { pid: 25359, folder: '/root/.config/Cypress/Partitions/run-25359' } +57ms
  cypress:launcher checking one browser canary +1ms
  cypress:launcher looking up canary on linux platform +0ms
  cypress:launcher finding version string using command "google-chrome-canary --version" +0ms
  cypress:launcher Received error detecting browser binary: "google-chrome-canary" with error: spawn google-chrome-canary ENOENT +9ms
  cypress:launcher browser canary not installed +0ms

====================================================================================================

  (Run Starting)

  cypress:server:run formatting Node version. { version: '12.0.0', path: undefined } +80ms
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:    3.5.0                                                                              │
  │ Browser:    Electron 73 (headless)                                                             │
  │ Specs:      1 found (spec.js)                                                                  │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

────────────────────────────────────────────────────────────────────────────────────────────────────

  Running:  spec.js                                                                         (1 of 1)
  cypress:server:run about to run spec { spec: { name: 'spec.js', relative: 'cypress/integration/spec.js', absolute: '/root/cypress-test-tiny/cypress/integration/spec.js' }, isHeadless: true, browser: { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false } } +6ms
  cypress:server:video capture started { command: 'ffmpeg -n 20 /root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/@ffmpeg-installer/linux-x64/ffmpeg -f image2pipe -use_wallclock_as_timestamps 1 -i pipe:0 -y -vcodec libx264 -preset ultrafast /root/cypress-test-tiny/cypress/videos/spec.js.mp4' } +942ms
  cypress:server:video capture stderr log { message: 'ffmpeg version N-47683-g0e8eb07980-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2018 the FFmpeg developers' } +1ms
  cypress:server:video capture stderr log { message: '  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516' } +0ms
  cypress:server:video capture stderr log { message: '  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg' } +0ms
  cypress:server:video capture stderr log { message: '  libavutil      56. 24.101 / 56. 24.101' } +0ms
  cypress:server:video capture stderr log { message: '  libavcodec     58. 42.100 / 58. 42.100' } +0ms
  cypress:server:video capture stderr log { message: '  libavformat    58. 24.100 / 58. 24.100' } +1ms
  cypress:server:video capture stderr log { message: '  libavdevice    58.  6.101 / 58.  6.101' } +0ms
  cypress:server:video capture stderr log { message: '  libavfilter     7. 46.101 /  7. 46.101' } +0ms
  cypress:server:video capture stderr log { message: '  libswscale      5.  4.100 /  5.  4.100' } +0ms
  cypress:server:video capture stderr log { message: '  libswresample   3.  4.100 /  3.  4.100' } +0ms
  cypress:server:video capture stderr log { message: '  libpostproc    55.  4.100 / 55.  4.100' } +0ms
  cypress:server:run waiting for socket connection... { id: '6bxmo' } +43ms
  cypress:server:openproject resetting project state, preparing to launch browser +412ms
  cypress:server:project resetting project instance /root/cypress-test-tiny +179ms
  cypress:server:buffers resetting buffers +224ms
  cypress:server:server Setting remoteAuth undefined +183ms
  cypress:server:server Setting remoteOrigin http://localhost:45323 +0ms
  cypress:server:server Setting remoteStrategy file +0ms
  cypress:server:server Setting remoteHostAndPort null +0ms
  cypress:server:server Setting remoteDocDomain localhost +0ms
  cypress:server:server Setting remoteFileServer http://localhost:33613 +0ms
  cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:45323', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:33613' } +0ms
  cypress:server:openproject launching browser: { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false }, spec: cypress/integration/spec.js +1ms
  cypress:server:browsers opening browser { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false } +0ms
  cypress:server:browsers:electron open { browser: { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false }, url: 'http://localhost:45323/__/#/tests/integration/spec.js' } +0ms
  cypress:server:saved_state noop saved state +388ms
  cypress:server:browsers:electron received saved state {} +1ms
  cypress:server:browsers:electron browser window options { width: 1280, height: 720, show: false, recordFrameRate: 20, automationMiddleware: { onAfterResponse: [Function: onAfterResponse] }, projectRoot: '/root/cypress-test-tiny', browsers: undefined, proxyUrl: 'http://localhost:45323', userAgent: null, proxyServer: 'http://localhost:45323', socketIoRoute: '/__socket.io', chromeWebSecurity: true, url: 'http://localhost:45323/__/#/tests/integration/spec.js', isTextTerminal: true, browser: { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false }, x: null, y: null, devTools: false, minWidth: 100, minHeight: 100, contextMenu: true, partition: 'persist:run-25711', trackState: { width: 'browserWidth', height: 'browserHeight', x: 'browserX', y: 'browserY', devTools: 'isBrowserDevToolsOpen' }, frame: true, webPreferences: { partition: null, webSecurity: true, nodeIntegration: false, backgroundThrottling: false } } +2ms
  cypress:server:plugins plugin event registered? { event: 'before:browser:launch', isRegistered: false } +243ms
  cypress:server:browsers:electron launching browser window to url: http://localhost:45323/__/#/tests/integration/spec.js +1ms
  cypress:server:browsers:electron debugger attached +7ms
  cypress:server:browsers:electron clearing cache +0ms
  cypress:server:routes Serving Cypress front-end by requested URL: /__/ +0ms
  cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:45323', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:33613' } +44ms
  cypress:server:runner serving runner index.html with config { version: '3.5.0', platform: 'linux', arch: 'x64', projectName: 'cypress-test-tiny' } +0ms
  cypress:server:video:frames writing video frame +0ms
  cypress:server:video:frames writing video frame +220ms
  cypress:server:video capture stderr log { message: '[mjpeg @ 0x555556964fc0] EOI missing, emulating' } +290ms
  cypress:server:video:frames writing video frame +131ms
  cypress:server:server Got CONNECT request from localhost:45323 +494ms
  cypress:https-proxy Writing browserSocket connection headers { url: 'localhost:45323', headLength: 0, headers: { host: 'localhost:45323', 'proxy-connection': 'keep-alive', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/3.5.0 Chrome/73.0.3683.121 Electron/5.0.10 Safari/537.36' } } +723ms
  cypress:https-proxy Got first head bytes { url: 'localhost:45323', head: 'GET /__socket.io/?EIO=3&transport=websocket HTTP/1.1\r\nHost: loca' } +1ms
  cypress:server:server HTTPS request does not match URL: https://localhost:45323 with props: null +2ms
  cypress:https-proxy Making connection to localhost:45323 +1ms
  cypress:https-proxy getting proxy URL { port: 45323, serverPort: 45323, sniPort: 43981, url: 'https://localhost:45323' } +0ms
  cypress:network:connect successfully connected { opts: { port: '45323', host: 'localhost', getDelayMsForRetry: [Function: getDelayForRetry] }, iteration: 0 } +0ms
  cypress:https-proxy received upstreamSocket callback for request { port: '45323', hostname: 'localhost', err: undefined } +3ms
  cypress:server:server Got UPGRADE request from /__socket.io/?EIO=3&transport=websocket +4ms
  cypress:server:socket socket connected +0ms
  cypress:server:browsers:electron debugger: enable Console and Network +535ms
  cypress:server:browsers browser opened +560ms
  cypress:server:video:frames writing video frame +164ms
  cypress:server:run got socket connection { id: '6bxmo' } +625ms
  cypress:server:browsers:electron console message: { column: 32, level: 'log', line: 177713, source: 'console-api', text: 'console.clear', url: 'http://localhost:45323/__cypress/runner/cypress_runner.js' } +67ms
  cypress:server:video:frames writing video frame +87ms
  cypress:server:video:frames video stream drained +1ms
  cypress:server:browsers:electron console message: { column: 32, level: 'log', line: 177713, source: 'console-api', text: 'console.clear', url: 'http://localhost:45323/__cypress/runner/cypress_runner.js' } +45ms
  cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:45323', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:33613' } +129ms
  cypress:server:socket watch test file 'integration/spec.js' +131ms
  cypress:server:socket will watch test file path 'cypress/integration/spec.js' +0ms
  cypress:server:preprocessor getFile /root/cypress-test-tiny/cypress/integration/spec.js +0ms
  cypress:server:appdata path: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js +882ms
  cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: false } +665ms
  cypress:server:preprocessor set default preprocessor +0ms
  cypress:browserify received user options: {} +0ms
  cypress:server:plugins register event 'file:preprocessor' +162ms
  cypress:server:plugins execute plugin event 'file:preprocessor' Node 'v12.0.0' with args: EventEmitter { _events: [Object: null prototype] { rerun: [Function] }, _eventsCount: 1, _maxListeners: undefined, filePath: '/root/cypress-test-tiny/cypress/integration/spec.js', shouldWatch: false, outputPath: '/root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js' } undefined undefined +0ms
  cypress:browserify get: /root/cypress-test-tiny/cypress/integration/spec.js +0ms
  cypress:browserify input: /root/cypress-test-tiny/cypress/integration/spec.js +0ms
  cypress:browserify output: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js +0ms
  cypress:browserify browserifyOptions { extensions: [ '.js', '.jsx', '.coffee', '.cjsx' ], transform: [ [ '/root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/@cypress/browserify-preprocessor/cjsxify.js', {} ], [ '/root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/babelify/index.js', [Object] ] ], plugin: [], cache: {}, packageCache: {}, entries: [ '/root/cypress-test-tiny/cypress/integration/spec.js' ] }: +0ms
  cypress:server:video:frames writing video frame +190ms
  cypress:server:video:frames video stream drained +0ms
  cypress:server:controllers:spec request for { spec: 'cypress/support/index.js' } +0ms
  cypress:server:preprocessor getFile /root/cypress-test-tiny/cypress/support/index.js +182ms
  cypress:server:appdata path: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js +182ms
  cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: true } +20ms
  cypress:server:plugins execute plugin event 'file:preprocessor' Node 'v12.0.0' with args: EventEmitter { _events: [Object: null prototype] { rerun: [Function] }, _eventsCount: 1, _maxListeners: undefined, filePath: '/root/cypress-test-tiny/cypress/support/index.js', shouldWatch: false, outputPath: '/root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js' } undefined undefined +0ms
  cypress:browserify get: /root/cypress-test-tiny/cypress/support/index.js +20ms
  cypress:browserify input: /root/cypress-test-tiny/cypress/support/index.js +0ms
  cypress:browserify output: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js +0ms
  cypress:browserify browserifyOptions { extensions: [ '.js', '.jsx', '.coffee', '.cjsx' ], transform: [ [ '/root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/@cypress/browserify-preprocessor/cjsxify.js', [Object] ], [ '/root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/babelify/index.js', [Object] ] ], plugin: [], cache: {}, packageCache: {}, entries: [ '/root/cypress-test-tiny/cypress/support/index.js' ] }: +0ms
  cypress:server:controllers:spec request for { spec: 'cypress/integration/spec.js' } +4ms
  cypress:server:preprocessor getFile /root/cypress-test-tiny/cypress/integration/spec.js +3ms
  cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: true } +3ms
  cypress:server:preprocessor headless and already processed +0ms
  cypress:server:video:frames writing video frame +15ms
  cypress:server:video:frames video stream drained +0ms
  cypress:browserify making bundle /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js +13ms
  cypress:browserify making bundle /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js +1ms
  cypress:browserify finished bundling: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js +287ms
  cypress:server:controllers:spec sending spec { filePath: '/root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js' } +328ms
  cypress:browserify finished bundling: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js +46ms
  cypress:server:controllers:spec sending spec { filePath: '/root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js' } +16ms
  cypress:server:project received runnables { id: 'r1', title: '', root: true, type: 'suite', tests: [], suites: [ { id: 'r2', title: 'page', root: false, type: 'suite', tests: [Array], suites: [] } ] } +1s
  cypress:server:reporter trying to load reporter: spec +1s
  cypress:server:reporter spec is Mocha reporter +0ms
  cypress:server:project onMocha start +6ms
  cypress:server:reporter got mocha event 'start' with args: [ { start: '2019-10-24T14:02:57.977Z' } ] +5ms

  cypress:server:project onMocha suite +1ms
  cypress:server:reporter got mocha event 'suite' with args: [ { id: 'r1', title: '', root: true, type: 'suite' } ] +1ms

  cypress:server:project onMocha suite +20ms
  cypress:server:reporter got mocha event 'suite' with args: [ { id: 'r2', title: 'page', root: false, type: 'suite' } ] +20ms
  page
  cypress:server:project onMocha test +1ms
  cypress:server:reporter got mocha event 'test' with args: [ { id: 'r3', title: 'works', body: 'function () {}', type: 'test' } ] +1ms
  cypress:server:socket automation:request get:cookies { domain: 'localhost' } +569ms
  cypress:server:cookies getting:cookies { domain: 'localhost' } +0ms
  cypress:server:cookies received get:cookies [] +0ms
  cypress:server:project onMocha pass +5ms
  cypress:server:reporter got mocha event 'pass' with args: [ { id: 'r3', title: 'works', state: 'passed', body: 'function () {}', type: 'test', duration: 25, wallClockStartedAt: '2019-10-24T14:02:57.981Z', timings: { lifecycle: 23, test: [Object] } } ] +5ms
    ✓ works
  cypress:server:project onMocha test end +1ms
  cypress:server:reporter got mocha event 'test end' with args: [ { id: 'r3', title: 'works', state: 'passed', body: 'function () {}', type: 'test', duration: 25, wallClockStartedAt: '2019-10-24T14:02:57.981Z', timings: { lifecycle: 23, test: [Object] } } ] +1ms
  cypress:server:project onMocha test:after:run +4ms
  cypress:server:reporter got mocha event 'test:after:run' with args: [ { id: 'r3', title: 'works', state: 'passed', body: 'function () {}', type: 'test', duration: 25, wallClockStartedAt: '2019-10-24T14:02:57.981Z', wallClockDuration: 27, timings: { lifecycle: 23, test: [Object] } } ] +4ms
  cypress:server:project onMocha suite end +1ms
  cypress:server:reporter got mocha event 'suite end' with args: [ { id: 'r2', title: 'page', root: false, type: 'suite' } ] +1ms

  cypress:server:project onMocha suite end +0ms
  cypress:server:reporter got mocha event 'suite end' with args: [ { id: 'r1', title: '', root: true, type: 'suite' } ] +0ms
  cypress:server:project onMocha end +1ms
  cypress:server:reporter got mocha event 'end' with args: [ { end: '2019-10-24T14:02:58.010Z' } ] +1ms

  1 passing (34ms)

  cypress:server:video:frames writing video frame +404ms
  cypress:server:video:frames video stream drained +0ms
  cypress:server:video:frames writing video frame +58ms
  cypress:server:video:frames video stream drained +0ms

  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        1                                                                                │
  │ Passing:      1                                                                                │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        true                                                                             │
  │ Duration:     0 seconds                                                                        │
  │ Spec Ran:     spec.js                                                                          │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

  cypress:server:run attempting to close the browser +2s
  cypress:server:browsers killing browser process +2s
  cypress:server:electron_app all BrowserWindows closed, not exiting +0ms
  cypress:server:browsers:electron closed event fired +2s
  cypress:server:preprocessor removeFile /root/cypress-test-tiny/cypress/integration/spec.js +1s
  cypress:server:preprocessor base emitter plugin close event +0ms
  cypress:server:preprocessor base emitter native close event +0ms
  cypress:browserify close: /root/cypress-test-tiny/cypress/integration/spec.js +1s
  cypress:server:preprocessor base emitter native close event +1ms
  cypress:browserify close: /root/cypress-test-tiny/cypress/support/index.js +0ms
  cypress:browserify close: /root/cypress-test-tiny/cypress/integration/spec.js +0ms
  cypress:server:browsers browser process killed +10ms
  cypress:server:run ending the video recording { name: '/root/cypress-test-tiny/cypress/videos/spec.js.mp4', videoCompression: 32, shouldUploadVideo: true } +11ms
  cypress:server:browsers:electron debugger detached due to { reason: 'target closed' } +2ms
  cypress:server:video capture stderr log { message: "Input #0, image2pipe, from 'pipe:0':" } +2s
  cypress:server:video capture stderr log { message: '  Duration: N/A, start: 1571925776.840000, bitrate: N/A' } +0ms
  cypress:server:video capture stderr log { message: '    Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc' } +0ms
  cypress:server:video capture stderr log { message: 'Stream mapping:' } +1ms
  cypress:server:video capture codec data: { format: 'image2pipe', audio: '', video: 'mjpeg (Baseline)', duration: 'N/A', video_details: [ 'mjpeg (Baseline)', 'yuvj420p(pc', 'bt470bg/unknown/unknown)', '1280x720 [SAR 1:1 DAR 16:9]', '25 fps', '25 tbr', '25 tbn', '25 tbc' ] } +0ms
  cypress:server:video capture stderr log { message: '  Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))' } +0ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] using SAR=1/1' } +3ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2' } +2ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] profile Constrained Baseline, level 3.1, 4:2:0, 8-bit' } +6ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0' } +0ms
  cypress:server:video capture stderr log { message: "Output #0, mp4, to '/root/cypress-test-tiny/cypress/videos/spec.js.mp4':" } +0ms
  cypress:server:video capture stderr log { message: '  Metadata:' } +1ms
  cypress:server:video capture stderr log { message: '    encoder         : Lavf58.24.100' } +0ms
  cypress:server:video capture stderr log { message: '    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj420p(pc), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc' } +0ms
  cypress:server:video capture stderr log { message: '    Metadata:' } +0ms
  cypress:server:video capture stderr log { message: '      encoder         : Lavc58.42.100 libx264' } +0ms
  cypress:server:video capture stderr log { message: '    Side data:' } +0ms
  cypress:server:video capture stderr log { message: '      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1' } +0ms
  cypress:server:video capture stderr log { message: 'frame=   32 fps=0.0 q=-1.0 Lsize=      99kB time=00:00:01.24 bitrate= 651.4kbits/s dup=23 drop=0 speed=17.8x    ' } +57ms
  cypress:server:video capture stderr log { message: 'video:98kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.961817%' } +0ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] frame I:1     Avg QP:20.00  size:  2733' } +1ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] frame P:31    Avg QP:13.58  size:  3119' } +0ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] mb I  I16..4: 100.0%  0.0%  0.0%' } +0ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] mb P  I16..4:  6.9%  0.0%  0.0%  P16..4:  2.4%  0.0%  0.0%  0.0%  0.0%    skip:90.6%' } +0ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] coded y,uvDC,uvAC intra: 5.7% 0.1% 0.1% inter: 1.7% 0.0% 0.0%' } +0ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] i16 v,h,dc,p: 88%  7%  3%  2%' } +0ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] i8c dc,h,v,p: 100%  0%  0%  0%' } +1ms
  cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] kb/s:621.37' } +0ms
  cypress:server:video capture stderr log { message: '' } +1ms
  cypress:server:video capture ended +1ms

  (Video)

  -  Started processing:  Compressing to 32 CRF                                                     
  cypress:server:video processing video from /root/cypress-test-tiny/cypress/videos/spec.js.mp4 to /root/cypress-test-tiny/cypress/videos/spec.js-compressed.mp4 video compression 32 +1ms
  cypress:server:video compression started { command: 'ffmpeg -i /root/cypress-test-tiny/cypress/videos/spec.js.mp4 -y -vcodec libx264 -preset fast -crf 32 /root/cypress-test-tiny/cypress/videos/spec.js-compressed.mp4' } +10ms
  cypress:server:video compression stderr log { message: 'ffmpeg version N-47683-g0e8eb07980-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2018 the FFmpeg developers' } +1ms
  cypress:server:video compression stderr log { message: '  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516' } +0ms
  cypress:server:video compression stderr log { message: '  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg' } +0ms
  cypress:server:video compression stderr log { message: '  libavutil      56. 24.101 / 56. 24.101' } +0ms
  cypress:server:video compression stderr log { message: '  libavcodec     58. 42.100 / 58. 42.100' } +1ms
  cypress:server:video compression stderr log { message: '  libavformat    58. 24.100 / 58. 24.100' } +0ms
  cypress:server:video compression stderr log { message: '  libavdevice    58.  6.101 / 58.  6.101' } +0ms
  cypress:server:video compression stderr log { message: '  libavfilter     7. 46.101 /  7. 46.101' } +0ms
  cypress:server:video compression stderr log { message: '  libswscale      5.  4.100 /  5.  4.100' } +0ms
  cypress:server:video compression stderr log { message: '  libswresample   3.  4.100 /  3.  4.100' } +1ms
  cypress:server:video compression stderr log { message: '  libpostproc    55.  4.100 / 55.  4.100' } +0ms
  cypress:server:video compression stderr log { message: "Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/root/cypress-test-tiny/cypress/videos/spec.js.mp4':" } +0ms
  cypress:server:video compression stderr log { message: '  Metadata:' } +0ms
  cypress:server:video compression stderr log { message: '    major_brand     : isom' } +0ms
  cypress:server:video compression stderr log { message: '    minor_version   : 512' } +0ms
  cypress:server:video compression stderr log { message: '    compatible_brands: isomiso2avc1mp41' } +0ms
  cypress:server:video compression stderr log { message: '    encoder         : Lavf58.24.100' } +0ms
  cypress:server:video compression stderr log { message: '  Duration: 00:00:01.28, start: 0.000000, bitrate: 631 kb/s' } +0ms
  cypress:server:video compression stderr log { message: '    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc), 1280x720 [SAR 1:1 DAR 16:9], 625 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)' } +1ms
  cypress:server:video compression stderr log { message: '    Metadata:' } +0ms
  cypress:server:video compression stderr log { message: '      handler_name    : VideoHandler' } +0ms
  cypress:server:video compression stderr log { message: 'Stream mapping:' } +0ms
  cypress:server:video compression codec data: { format: 'mov,mp4,m4a,3gp,3g2,mj2', audio: '', video: 'h264 (Constrained Baseline) (avc1 / 0x31637661)', duration: '00:00:01.28', video_details: [ 'h264 (Constrained Baseline) (avc1 / 0x31637661)', 'yuvj420p(pc)', '1280x720 [SAR 1:1 DAR 16:9]', '625 kb/s', '25 fps', '25 tbr', '12800 tbn', '50 tbc (default)' ] } +0ms
  cypress:server:video compression stderr log { message: '  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))' } +1ms
  cypress:server:video compression stderr log { message: 'Press [q] to stop, [?] for help' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] using SAR=1/1' } +13ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] profile High, level 3.1, 4:2:0, 8-bit' } +2ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf mbtree=1 crf=32.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00' } +0ms
  cypress:server:video compression stderr log { message: "Output #0, mp4, to '/root/cypress-test-tiny/cypress/videos/spec.js-compressed.mp4':" } +0ms
  cypress:server:video compression stderr log { message: '  Metadata:' } +0ms
  cypress:server:video compression stderr log { message: '    major_brand     : isom' } +0ms
  cypress:server:video compression stderr log { message: '    minor_version   : 512' } +0ms
  cypress:server:video compression stderr log { message: '    compatible_brands: isomiso2avc1mp41' } +1ms
  cypress:server:video compression stderr log { message: '    encoder         : Lavf58.24.100' } +0ms
  cypress:server:video compression stderr log { message: '    Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuvj420p(pc), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)' } +0ms
  cypress:server:video compression stderr log { message: '    Metadata:' } +0ms
  cypress:server:video compression stderr log { message: '      handler_name    : VideoHandler' } +0ms
  cypress:server:video compression stderr log { message: '      encoder         : Lavc58.42.100 libx264' } +0ms
  cypress:server:video compression stderr log { message: '    Side data:' } +0ms
  cypress:server:video compression stderr log { message: '      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1' } +0ms
  cypress:server:video compression stderr log { message: 'frame=   32 fps=0.0 q=-1.0 Lsize=      21kB time=00:00:01.16 bitrate= 151.8kbits/s speed=8.64x    ' } +118ms
  cypress:server:video compression progress: { frames: 32, currentFps: 0, currentKbps: 151.8, targetSize: 21, timemark: '00:00:01.16' } +0ms
  cypress:server:video compression stderr log { message: 'video:20kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 5.948313%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] frame I:3     Avg QP:17.44  size:  5561' } +1ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] frame P:10    Avg QP:26.69  size:   251' } +1ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] frame B:19    Avg QP:25.77  size:    47' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] consecutive B-frames: 12.5% 25.0%  0.0% 62.5%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] mb I  I16..4: 88.4% 10.3%  1.3%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] mb P  I16..4:  0.5%  0.2%  0.2%  P16..4:  1.1%  0.0%  0.0%  0.0%  0.0%    skip:98.0%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.3%  0.0%  0.0%  direct: 0.0%  skip:99.7%  L0:57.6% L1:42.4% BI: 0.0%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] 8x8 transform intra:10.7% inter:42.1%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] coded y,uvDC,uvAC intra: 4.7% 0.2% 0.2% inter: 0.0% 0.0% 0.0%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] i16 v,h,dc,p: 93%  6%  2%  0%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 26% 32% 21%  0%  0%  0%  0%  0%' } +1ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 34% 22% 26%  2%  3%  3%  3%  2%  4%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] i8c dc,h,v,p: 100%  0%  0%  0%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] Weighted P-Frames: Y:0.0% UV:0.0%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] ref P L0: 95.3%  4.7%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] ref B L0: 81.4% 18.6%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] ref B L1: 96.3%  3.7%' } +0ms
  cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] kb/s:125.56' } +0ms
  cypress:server:video compression stderr log { message: '' } +5ms
  cypress:server:video compression ended +1ms
  -  Finished processing: /root/cypress-test-tiny/cypress/videos/spec.js.mp4             (0 seconds)

  cypress:server:run spec results { stats: { suites: 1, tests: 1, passes: 1, pending: 0, skipped: 0, failures: 0, wallClockStartedAt: 2019-10-24T14:02:57.977Z, wallClockEndedAt: 2019-10-24T14:02:58.010Z, wallClockDuration: 33 }, reporter: 'spec', reporterStats: { suites: 1, tests: 1, passes: 1, pending: 0, failures: 0, start: 2019-10-24T14:02:57.980Z, end: 2019-10-24T14:02:58.014Z, duration: 34 }, hooks: [], tests: [ { testId: 'r3', title: [Array], state: 'passed', body: 'function () {}', stack: null, error: null, timings: [Object], failedFromHookId: null, wallClockStartedAt: 2019-10-24T14:02:57.981Z, wallClockDuration: 27, videoTimestamp: 1232 } ], error: null, video: '/root/cypress-test-tiny/cypress/videos/spec.js.mp4', screenshots: [], spec: { name: 'spec.js', relative: 'cypress/integration/spec.js', absolute: '/root/cypress-test-tiny/cypress/integration/spec.js' }, shouldUploadVideo: true } +238ms
  cypress:server:run final results of all runs: { startedTestsAt: 2019-10-24T14:02:57.977Z, endedTestsAt: 2019-10-24T14:02:58.010Z, totalDuration: 33, totalSuites: 1, totalTests: 1, totalFailed: 0, totalPassed: 1, totalPending: 0, totalSkipped: 0, runs: [ { stats: [Object], reporter: 'spec', reporterStats: [Object], hooks: [], tests: [Array], error: null, video: '/root/cypress-test-tiny/cypress/videos/spec.js.mp4', screenshots: [], spec: [Object], shouldUploadVideo: true } ], browserPath: '', browserName: 'electron', browserVersion: '73.0.3683.121', osName: 'linux', osVersion: 'Debian - 9.9', cypressVersion: '3.5.0', runUrl: undefined, config: { projectRoot: '/root/cypress-test-tiny', projectName: 'cypress-test-tiny', morgan: false, isTextTerminal: true, socketId: '6bxmo', report: true, port: 45323, hosts: null, baseUrl: null, projectId: null, userAgent: null, reporter: 'spec', reporterOptions: null, blacklistHosts: null, clientRoute: '/__/', xhrRoute: '/xhrs/', socketIoRoute: '/__socket.io', socketIoCookie: '__socket.io', reporterRoute: '/__cypress/reporter', ignoreTestFiles: '*.hot-update.js', testFiles: '**/*.*', defaultCommandTimeout: 4000, requestTimeout: 5000, responseTimeout: 30000, pageLoadTimeout: 60000, execTimeout: 60000, taskTimeout: 60000, video: true, videoCompression: 32, videoUploadOnPasses: true, modifyObstructiveCode: true, chromeWebSecurity: true, waitForAnimations: true, animationDistanceThreshold: 5, numTestsKeptInMemory: 0, watchForFileChanges: false, trashAssetsBeforeRuns: true, autoOpen: false, viewportWidth: 1000, viewportHeight: 660, fileServerFolder: '/root/cypress-test-tiny', videosFolder: '/root/cypress-test-tiny/cypress/videos', supportFile: '/root/cypress-test-tiny/cypress/support/index.js', fixturesFolder: '/root/cypress-test-tiny/cypress/fixtures', integrationFolder: '/root/cypress-test-tiny/cypress/integration', screenshotsFolder: '/root/cypress-test-tiny/cypress/screenshots', namespace: '__cypress', pluginsFile: '/root/cypress-test-tiny/cypress/plugins/index.js', nodeVersion: 'default', configFile: 'cypress.json', javascripts: [], env: {}, cypressEnv: 'production', resolved: { animationDistanceThreshold: [Object], fileServerFolder: [Object], baseUrl: [Object], fixturesFolder: [Object], blacklistHosts: [Object], chromeWebSecurity: [Object], modifyObstructiveCode: [Object], integrationFolder: [Object], env: {}, pluginsFile: [Object], hosts: [Object], screenshotsFolder: [Object], numTestsKeptInMemory: [Object], supportFile: [Object], port: [Object], projectId: [Object], videosFolder: [Object], reporter: [Object], reporterOptions: [Object], ignoreTestFiles: [Object], testFiles: [Object], defaultCommandTimeout: [Object], trashAssetsBeforeRuns: [Object], execTimeout: [Object], userAgent: [Object], pageLoadTimeout: [Object], viewportWidth: [Object], requestTimeout: [Object], viewportHeight: [Object], responseTimeout: [Object], video: [Object], taskTimeout: [Object], videoCompression: [Object], videoUploadOnPasses: [Object], watchForFileChanges: [Object], waitForAnimations: [Object], nodeVersion: [Object] }, parentTestsFolder: '/root/cypress-test-tiny/cypress', parentTestsFolderDisplay: 'cypress-test-tiny/cypress', supportFolder: '/root/cypress-test-tiny/cypress/support', integrationExampleName: 'examples', integrationExamplePath: '/root/cypress-test-tiny/cypress/integration/examples', scaffoldedFiles: [ [Object] ], resolvedNodeVersion: '12.0.0', state: {}, proxyUrl: 'http://localhost:45323', browserUrl: 'http://localhost:45323/__/', reporterUrl: 'http://localhost:45323/__cypress/reporter', xhrUrl: '__cypress/xhrs/' } } +1ms

====================================================================================================

  (Run Finished)

       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  spec.js                                   33ms        1        1        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                         33ms        1        1        -        -        -  

  cypress:server:cypress about to exit with code 0 +5s
  cypress:cli child event fired { event: 'exit', code: 0, signal: null } +5s
  cypress:cli Stopping Xvfb +5s
  cypress:cli child event fired { event: 'close', code: 0, signal: null } +2ms
root@ce50d4ada2a6:~/cypress-test-tiny# 
krawetko commented 5 years ago

@flotwig Failed Debug Logs (I don't see smoke test running in your Log):

2019-10-24T13:56:25.128Z cypress:cli verifying Cypress app
2019-10-24T13:56:25.130Z cypress:cli checking environment variables
2019-10-24T13:56:25.141Z cypress:cli checking if executable exists /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress
2019-10-24T13:56:25.144Z cypress:cli Binary is executable? : true
2019-10-24T13:56:25.145Z cypress:cli binaryDir is  /home/jenkins/.cache/Cypress/3.5.0/Cypress
2019-10-24T13:56:25.148Z cypress:cli Reading binary package.json from: /home/jenkins/.cache/Cypress/3.5.0/Cypress/resources/app/package.json
2019-10-24T13:56:25.154Z cypress:cli Found binary version 3.5.0 installed in: /home/jenkins/.cache/Cypress/3.5.0/Cypress
2019-10-24T13:56:25.158Z cypress:cli could not read binary_state.json file
2019-10-24T13:56:25.159Z cypress:cli {}
2019-10-24T13:56:25.159Z cypress:cli is Verified ? undefined
2019-10-24T13:56:25.159Z cypress:cli running binary verification check 3.5.0
It looks like this is your first time using Cypress: 3.5.0

[?25l[15:56:25]  Verifying Cypress can run /home/jenkins/.cache/Cypress/3.5.0/Cypress [started]
2019-10-24T13:56:25.173Z cypress:cli clearing out the verified version
2019-10-24T13:56:25.175Z cypress:cli DISPLAY environment variable is set to :0 on Linux
Assuming this DISPLAY points at working X11 server,
Cypress will not spawn own Xvfb

NOTE: if the X11 server is NOT working, Cypress will exit without explanation,
  see https://github.com/cypress-io/cypress/issues/4034
Solution: Unset the DISPLAY variable and try again:
  DISPLAY= npx cypress run ...
2019-10-24T13:56:25.176Z cypress:cli needs Xvfb? false
2019-10-24T13:56:25.176Z cypress:cli spawning, should retry on display problem? true
2019-10-24T13:56:25.177Z cypress:cli running smoke test
2019-10-24T13:56:25.177Z cypress:cli using Cypress executable /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress
2019-10-24T13:56:25.177Z cypress:cli smoke test command: /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=251
2019-10-24T13:56:25.178Z cypress:cli smoke test timeout 30000 ms
2019-10-24T13:56:25.505Z cypress:cli Smoke test failed: { Error: Command failed: /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=251
[15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.

    at makeError (/home/jenkins/workspace/ded_trigger-build-update-cypress@2/node_modules/cypress/node_modules/execa/index.js:172:9)
    at Promise.all.then.arr (/home/jenkins/workspace/ded_trigger-build-update-cypress@2/node_modules/cypress/node_modules/execa/index.js:277:16)
    at Object.dynatraceRegularInvoke [as doInvoke] (/opt/dynatrace/oneagent/agent/res/nodeagent/nodejsagent.js:1732:20)
    at Object.a.safeInvoke (/opt/dynatrace/oneagent/agent/res/nodeagent/nodejsagent.js:1802:29)
    at /opt/dynatrace/oneagent/agent/res/nodeagent/nodejsagent.js:6952:25
    at process._tickCallback (internal/process/next_tick.js:68:7)
  code: null,
  stdout: '',
  stderr:
   '[15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I\'m aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.\n',
  failed: true,
  signal: 'SIGTRAP',
  cmd:
   '/home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=251',
  timedOut: false,
  killed: false }
2019-10-24T13:56:25.508Z cypress:cli error message: [15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.

[15:56:25]  Verifying Cypress can run /home/jenkins/.cache/Cypress/3.5.0/Cypress [failed]
[?25hCypress failed to start.

This is usually caused by a missing library or dependency.

The error below should indicate which dependency is missing.

https://on.cypress.io/required-dependencies

If you are using Docker, we provide containers with all required dependencies installed.

----------

[15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.

----------

Platform: linux (Debian - 9.9)
Cypress Version: 3.5.0
krawetko commented 5 years ago

@flotwig I think the difference is that you are running it as root. We don't run our builds as root. As @jennifer-shehane pointed out, the no-sandbox flag is automatically added for root.

ghost commented 5 years ago

@flotwig I think the difference is that you are running it as root. We don't run our builds as root. As @jennifer-shehane pointed out, the no-sandbox flag is automatically added for root.

We do not run tests as root on Jenkins so flag should not be automatically added and we do not have it as workaround in cypress/plugins/index.js . @jennifer-shehane also mentioned that flag is added only for electron. We saw this issue on electron and chrome. After changing cypress installation script as it is mentioned on cypress site, tests are running successfully in both (electron, chrome)

flotwig commented 5 years ago

@flotwig I think the difference is that you are running it as root. We don't run our builds as root. As @jennifer-shehane pointed out, the no-sandbox flag is automatically added for root.

Ah, yeah, you're right. Once I run it as a regular user, I get the same error. Passing --no-sandbox from the CLI seems to fix it. I'll make a PR.

flotwig commented 5 years ago

@Ethnity are you using cypress 3.5.0? npm ci might have caused you to use an earlier version, which ships a much older Electron version (2.0.18 vs. 5.0.10) and does not require --no-sandbox

ghost commented 5 years ago

@Ethnity are you using cypress 3.5.0? npm ci might have caused you to use an earlier version, which ships a much older Electron version (2.0.18 vs. 5.0.10) and does not require --no-sandbox

True, I overlooked it :( With npm ci cypress --save-dev I getting cypress 3.4.1. Sorry for my misleading informations :(

ghost commented 5 years ago

@Ethnity are you using cypress 3.5.0? npm ci might have caused you to use an earlier version, which ships a much older Electron version (2.0.18 vs. 5.0.10) and does not require --no-sandbox

But it is strange that with cypress 3.5.0 we had same problem on chrome too (not only electron).

CesarCarrillo91 commented 5 years ago

Got the same error and using npm ci cypress --save-dev instead of normal install did it. Thanks!

bahmutov commented 5 years ago

I see the same problem on Heroku pipeline

2019-10-24T16:43:13.738Z cypress:cli using Cypress executable /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress
2019-10-24T16:43:13.738Z cypress:cli smoke test command: /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=669
2019-10-24T16:43:13.738Z cypress:cli smoke test timeout 30000 ms
2019-10-24T16:43:14.004Z cypress:cli Smoke test failed: Error: Command failed: /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=669
/app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress)
[4398:1024/164313.995676:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /app/node_modules/cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.
    at makeError (/app/node_modules/cypress/node_modules/execa/index.js:172:9)
    at /app/node_modules/cypress/node_modules/execa/index.js:277:16
    at processTicksAndRejections (internal/process/task_queues.js:93:5) {
  code: null,
  stdout: '',
  stderr: '/app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress)\n' +
    "[4398:1024/164313.995676:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /app/node_modules/cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.\n",
  failed: true,
  signal: 'SIGTRAP',
  cmd: '/app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=669',
  timedOut: false,
  killed: false
}
2019-10-24T16:43:14.008Z cypress:cli error message: /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress)

Passing --no-sandbox via patched CLI (to verify method) seems to work

bahmutov commented 5 years ago

Seems, at least on Heroku pipelines, the user is not zero but something like 38705 yet Electron sandbox fails, I will probably just pass "no-sandbox" by default for all non-Windows systems

bahmutov commented 5 years ago

The current work around is to patch both verify and spawn in CLI to always return "needs sandbox" on non-Windows machines, see how to patch Cypress NPM package here https://on.cypress.io/debugging#Patch-Cypress

I will work on the official fix

bahmutov commented 5 years ago

To recreate problem in Docker locally:

$ docker run -it -v $PWD:/e2e -w /e2e --user node:node cypress/base:12.12.0 /bin/bash
node@9c5a6a3c5f42:/e2e$ whoami
node
node@9c5a6a3c5f42:/e2e$ node -e 'console.log(process.geteuid())' 
1000
node@9c5a6a3c5f42:/e2e$ export DEBUG=cypress:cli

node@9c5a6a3c5f42:/e2e$ npm i cypress
node@9c5a6a3c5f42:/e2e$ npx cypress verify

cypress:cli smoke test command: /home/node/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=859 +0ms
  cypress:cli smoke test timeout 30000 ms +1ms
 ⠸  Verifying Cypress can run /home/node/.cache/Cypress/3.5.0/Cypress
  cypress:cli Smoke test failed: Error: Command failed: /home/node/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=859
[65:1024/202459.556579:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/node/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.
aysunfar23 commented 5 years ago

Why doesn't Cypress create a clear guideline with examples from scratch on how to configure in Jenkins, Docker, etc.

bahmutov commented 5 years ago

@aysunfar23 we have clear guidlines for

floriandotorg commented 5 years ago

Patching works for me:

  1. npm i -S patch-package
  2. Create file patches/cypress+3.5.0.patch:

    diff --git a/node_modules/cypress/lib/tasks/verify.js b/node_modules/cypress/lib/tasks/verify.js
    index 7dfbe4c..887c704 100644
    --- a/node_modules/cypress/lib/tasks/verify.js
    +++ b/node_modules/cypress/lib/tasks/verify.js
    @@ -323,7 +323,7 @@ var isRootUser = function isRootUser() {
    * @see https://crbug.com/638180
    */
    var needsSandbox = function needsSandbox() {
    -  return isLinuxLike() && isRootUser();
    +  return true;
    };
    
    module.exports = {
  3. Add this to your package.json:
    "scripts": {
    "postinstall": "patch-package"
    }
cypress-bot[bot] commented 5 years ago

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

cypress-bot[bot] commented 5 years ago

Released in 3.6.0.