mirror of
https://github.com/cypress-io/cypress.git
synced 2026-03-03 05:19:45 -06:00
fix: no longer swallow stderr logs on linux (#28380)
This commit is contained in:
@@ -9,6 +9,7 @@ _Released 12/5/2023 (PENDING)_
|
||||
- Fixed an issue where request logging would default the `message` to the `args` of the currently running command even though those `args` would not apply to the request log and are not displayed. If the `args` are sufficiently large (e.g. when running the `cy.task` from the [code-coverage](https://github.com/cypress-io/code-coverage/) plugin) there could be performance/memory implications. Addressed in [#28411](https://github.com/cypress-io/cypress/pull/28411).
|
||||
- Fixed an issue where commands would fail with the error `must only be invoked from the spec file or support file` if the project's `baseUrl` included basic auth credentials. Fixes [#28336](https://github.com/cypress-io/cypress/issues/28336).
|
||||
- Fixed an issue where some URLs would timeout in pre-request correlation. Addressed in [#28427](https://github.com/cypress-io/cypress/pull/28427).
|
||||
- Cypress will now correctly log errors and debug logs on Linux machines. Fixes [#5051](https://github.com/cypress-io/cypress/issues/5051) and [#24713](https://github.com/cypress-io/cypress/issues/24713).
|
||||
|
||||
**Misc:**
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ const cp = require('child_process')
|
||||
const path = require('path')
|
||||
const Promise = require('bluebird')
|
||||
const debug = require('debug')('cypress:cli')
|
||||
const debugElectron = require('debug')('cypress:electron')
|
||||
|
||||
const util = require('../util')
|
||||
const state = require('../tasks/state')
|
||||
@@ -122,10 +121,9 @@ module.exports = {
|
||||
return new Promise((resolve, reject) => {
|
||||
_.defaults(overrides, {
|
||||
onStderrData: false,
|
||||
electronLogging: false,
|
||||
})
|
||||
|
||||
const { onStderrData, electronLogging } = overrides
|
||||
const { onStderrData } = overrides
|
||||
const envOverrides = util.getEnvOverrides(options)
|
||||
const electronArgs = []
|
||||
const node11WindowsFix = isPlatform('win32')
|
||||
@@ -160,10 +158,6 @@ module.exports = {
|
||||
stdioOptions = _.extend({}, stdioOptions, { windowsHide: false })
|
||||
}
|
||||
|
||||
if (electronLogging) {
|
||||
stdioOptions.env.ELECTRON_ENABLE_LOGGING = true
|
||||
}
|
||||
|
||||
if (util.isPossibleLinuxWithIncorrectDisplay()) {
|
||||
// make sure we use the latest DISPLAY variable if any
|
||||
debug('passing DISPLAY', process.env.DISPLAY)
|
||||
@@ -241,7 +235,7 @@ module.exports = {
|
||||
|
||||
// if we have a callback and this explicitly returns
|
||||
// false then bail
|
||||
if (onStderrData && onStderrData(str) === false) {
|
||||
if (onStderrData && onStderrData(str)) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -294,13 +288,6 @@ module.exports = {
|
||||
if (util.isBrokenGtkDisplay(str)) {
|
||||
brokenGtkDisplay = true
|
||||
}
|
||||
|
||||
// we should attempt to always slurp up
|
||||
// the stderr logs unless we've explicitly
|
||||
// enabled the electron debug logging
|
||||
if (!debugElectron.enabled) {
|
||||
return false
|
||||
}
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
@@ -101,12 +101,8 @@ const runSmokeTest = (binaryDir, options) => {
|
||||
debug('smoke test command:', smokeTestCommand)
|
||||
debug('smoke test timeout %d ms', options.smokeTestTimeout)
|
||||
|
||||
const env = _.extend({}, process.env, {
|
||||
ELECTRON_ENABLE_LOGGING: true,
|
||||
})
|
||||
|
||||
const stdioOptions = _.extend({}, {
|
||||
env,
|
||||
env: process.env,
|
||||
timeout: options.smokeTestTimeout,
|
||||
})
|
||||
|
||||
|
||||
@@ -278,35 +278,6 @@ context('lib/tasks/verify', () => {
|
||||
})
|
||||
})
|
||||
|
||||
it('sets ELECTRON_ENABLE_LOGGING without mutating process.env', () => {
|
||||
createfs({
|
||||
alreadyVerified: false,
|
||||
executable: mockfs.file({ mode: 0o777 }),
|
||||
packageVersion,
|
||||
})
|
||||
|
||||
expect(process.env.ELECTRON_ENABLE_LOGGING).to.be.undefined
|
||||
|
||||
util.exec.resolves()
|
||||
sinon.stub(util, 'stdoutLineMatches').returns(true)
|
||||
|
||||
return verify
|
||||
.start()
|
||||
.then(() => {
|
||||
expect(process.env.ELECTRON_ENABLE_LOGGING).to.be.undefined
|
||||
|
||||
const stdioOptions = util.exec.firstCall.args[2]
|
||||
|
||||
expect(stdioOptions).to.include({
|
||||
timeout: verify.VERIFY_TEST_RUNNER_TIMEOUT_MS,
|
||||
})
|
||||
|
||||
expect(stdioOptions.env).to.include({
|
||||
ELECTRON_ENABLE_LOGGING: true,
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('with force: true', () => {
|
||||
beforeEach(() => {
|
||||
createfs({
|
||||
|
||||
Reference in New Issue
Block a user