From f90096e63b46098f521697d083160f280e2bdfac Mon Sep 17 00:00:00 2001 From: Ryan Manuel Date: Thu, 21 Nov 2024 09:32:16 -0600 Subject: [PATCH 1/2] chore: suppress EGL Driver message in electron 32 --- cli/angular-signals/README.md | 11 +++++ cli/angular-signals/package.json | 74 ++++++++++++++++++++++++++++++++ cli/lib/exec/spawn.js | 10 ++++- cli/test/lib/exec/spawn_spec.js | 2 + cli/vue2/README.md | 7 +++ cli/vue2/package.json | 65 ++++++++++++++++++++++++++++ 6 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 cli/angular-signals/README.md create mode 100644 cli/angular-signals/package.json create mode 100644 cli/vue2/README.md create mode 100644 cli/vue2/package.json diff --git a/cli/angular-signals/README.md b/cli/angular-signals/README.md new file mode 100644 index 000000000000..bbe66b417b27 --- /dev/null +++ b/cli/angular-signals/README.md @@ -0,0 +1,11 @@ +# @cypress/angular-signals + +Mount Angular components in the open source [Cypress.io](https://www.cypress.io/) test runner. This package is an extension of `@cypress/angular`, but with [signals](https://angular.dev/guide/signals) support. + +> **Note:** This package is bundled with the `cypress` package and should not need to be installed separately. See the [Angular Component Testing Docs](https://docs.cypress.io/guides/component-testing/angular/overview) for mounting Angular components. Installing and importing `mount` from `@cypress/angular-signals` should only be done for advanced use-cases. + +## Development + +Run `yarn build` to compile and sync packages to the `cypress` cli package. + +## [Changelog](./CHANGELOG.md) diff --git a/cli/angular-signals/package.json b/cli/angular-signals/package.json new file mode 100644 index 000000000000..104c1f5b21be --- /dev/null +++ b/cli/angular-signals/package.json @@ -0,0 +1,74 @@ +{ + "name": "@cypress/angular-signals", + "version": "0.0.0-development", + "description": "Test Angular Components using Signals with Cypress", + "main": "dist/index.js", + "scripts": { + "prebuild": "rimraf dist", + "build": "rollup -c rollup.config.mjs", + "postbuild": "node ../../scripts/sync-exported-npm-with-cli.js", + "check-ts": "tsc --noEmit", + "dev": "rollup -c rollup.config.mjs -w", + "lint": "eslint --ext .js,.ts,.json, ." + }, + "dependencies": {}, + "devDependencies": { + "@angular/common": "^17.2.0", + "@angular/core": "^17.2.0", + "@angular/platform-browser-dynamic": "^17.2.0", + "@cypress/mount-utils": "0.0.0-development", + "typescript": "~5.4.5", + "zone.js": "~0.14.6" + }, + "peerDependencies": { + "@angular/common": ">=17.2", + "@angular/core": ">=17.2", + "@angular/platform-browser-dynamic": ">=17.2", + "rxjs": ">=7.5.0", + "zone.js": ">=0.13.0" + }, + "files": [ + "dist" + ], + "types": "dist/index.d.ts", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/cypress-io/cypress.git" + }, + "homepage": "https://github.com/cypress-io/cypress/blob/develop/npm/angular-signals/#readme", + "bugs": "https://github.com/cypress-io/cypress/issues/new?assignees=&labels=npm%3A%20%40cypress%2Fangular&template=1-bug-report.md&title=", + "keywords": [ + "angular", + "cypress", + "cypress-io", + "test", + "testing" + ], + "contributors": [ + { + "name": "Bill Glesias", + "social": "@atofstryker" + } + ], + "module": "dist/index.js", + "publishConfig": { + "access": "public" + }, + "nx": { + "targets": { + "build": { + "outputs": [ + "{workspaceRoot}/cli/angular-signals" + ] + } + } + }, + "standard": { + "globals": [ + "Cypress", + "cy", + "expect" + ] + } +} diff --git a/cli/lib/exec/spawn.js b/cli/lib/exec/spawn.js index 469090f75137..2affe11bf6c4 100644 --- a/cli/lib/exec/spawn.js +++ b/cli/lib/exec/spawn.js @@ -76,7 +76,15 @@ const isContainerVulkanStack = /^\s*at (CheckVkSuccessImpl|CreateVkInstance|Init */ const isDebugScenario4 = /^\[[^\]]+debug_utils\.cc[^\]]+\] Hit debug scenario: 4/ -const GARBAGE_WARNINGS = [isXlibOrLibudevRe, isHighSierraWarningRe, isRenderWorkerRe, isDbusWarning, isCertVerifyProcBuiltin, isHostVulkanDriverWarning, isContainerVulkanDriverWarning, isContainerVulkanStack, isDebugScenario4] +/** + * In Electron 32.0.0 a new EGL driver message started appearing when running on Linux. This is a benign message. + * https://github.com/electron/electron/issues/43415 + * Sample: + * [78887:1023/114920.074882:ERROR:gl_display.cc(14)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. + */ +const isEGLDriverMessage = /^\[[^\]]+gl_display\.cc[^\]]+\] EGL Driver message \(Error\) eglQueryDeviceAttribEXT: Bad attribute\./ + +const GARBAGE_WARNINGS = [isXlibOrLibudevRe, isHighSierraWarningRe, isRenderWorkerRe, isDbusWarning, isCertVerifyProcBuiltin, isHostVulkanDriverWarning, isContainerVulkanDriverWarning, isContainerVulkanStack, isDebugScenario4, isEGLDriverMessage] const isGarbageLineWarning = (str) => { return _.some(GARBAGE_WARNINGS, (re) => { diff --git a/cli/test/lib/exec/spawn_spec.js b/cli/test/lib/exec/spawn_spec.js index 00738df40612..f6756cfe2c08 100644 --- a/cli/test/lib/exec/spawn_spec.js +++ b/cli/test/lib/exec/spawn_spec.js @@ -97,6 +97,8 @@ describe('lib/exec/spawn', function () { at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521) [78887:1023/114920.074882:ERROR:debug_utils.cc(14)] Hit debug scenario: 4 + + [18489:0822/130231.159571:ERROR:gl_display.cc(497)] EGL Driver message (Error) eglQueryDeviceAttribEXT: Bad attribute. ` const lines = _ diff --git a/cli/vue2/README.md b/cli/vue2/README.md new file mode 100644 index 000000000000..0dcb604eebaf --- /dev/null +++ b/cli/vue2/README.md @@ -0,0 +1,7 @@ +# @cypress/vue2 + +Mount Vue 2 components in the open source [Cypress.io](https://www.cypress.io/) test runner + +> **Note:** This package is bundled with the `cypress` package and should not need to be installed separately. See the [Vue Component Testing Docs](https://docs.cypress.io/guides/component-testing/vue/overview) for mounting Vue components. Installing and importing `mount` from `@cypress/vue2` should only be done for advanced use-cases. + +## [Changelog](./CHANGELOG.md) diff --git a/cli/vue2/package.json b/cli/vue2/package.json new file mode 100644 index 000000000000..e71a42d2f880 --- /dev/null +++ b/cli/vue2/package.json @@ -0,0 +1,65 @@ +{ + "name": "@cypress/vue2", + "version": "0.0.0-development", + "description": "Browser-based Component Testing for Vue.js@2 with Cypress.io ✌️🌲", + "main": "dist/cypress-vue2.cjs.js", + "scripts": { + "build": "rimraf dist && yarn rollup -c rollup.config.mjs", + "postbuild": "node ../../scripts/sync-exported-npm-with-cli.js", + "check-ts": "tsc --noEmit", + "lint": "eslint --ext .js,.jsx,.ts,.tsx,.json,.vue .", + "test": "echo \"Tests for @cypress/vue2 are run from system-tests\"", + "test-ci": "node ../../scripts/run-ct-examples.js --examplesList=./examples.env", + "watch": "yarn build --watch --watch.exclude ./dist/**/*" + }, + "devDependencies": { + "@cypress/mount-utils": "0.0.0-development", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-replace": "^2.3.1", + "@vue/test-utils": "^1.3.1", + "tslib": "^2.1.0", + "typescript": "~5.4.5", + "vue": "2.7.16" + }, + "peerDependencies": { + "cypress": ">=4.5.0", + "vue": "^2.0.0" + }, + "files": [ + "dist/**/*", + "src/**/*.js" + ], + "engines": { + "node": ">=8" + }, + "types": "dist/index.d.ts", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/cypress-io/cypress.git" + }, + "homepage": "https://github.com/cypress-io/cypress/blob/develop/npm/vue/#readme", + "bugs": "https://github.com/cypress-io/cypress/issues/new?assignees=&labels=npm%3A%20%40cypress%2Fvue&template=1-bug-report.md&title=", + "keywords": [ + "cypress", + "vue" + ], + "unpkg": "dist/cypress-vue2.browser.js", + "module": "dist/cypress-vue2.esm-bundler.js", + "publishConfig": { + "access": "public" + }, + "nx": { + "targets": { + "build": { + "outputs": [ + "{workspaceRoot}/cli/vue2", + "{projectRoot}/dist" + ] + } + }, + "implicitDependencies": [ + "!cypress" + ] + } +} From 628282af4a024b0bfc9053f606ac3b461c2a1e8e Mon Sep 17 00:00:00 2001 From: Ryan Manuel Date: Thu, 21 Nov 2024 09:38:26 -0600 Subject: [PATCH 2/2] remove bad files --- cli/angular-signals/README.md | 11 ----- cli/angular-signals/package.json | 74 -------------------------------- cli/vue2/README.md | 7 --- cli/vue2/package.json | 65 ---------------------------- 4 files changed, 157 deletions(-) delete mode 100644 cli/angular-signals/README.md delete mode 100644 cli/angular-signals/package.json delete mode 100644 cli/vue2/README.md delete mode 100644 cli/vue2/package.json diff --git a/cli/angular-signals/README.md b/cli/angular-signals/README.md deleted file mode 100644 index bbe66b417b27..000000000000 --- a/cli/angular-signals/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# @cypress/angular-signals - -Mount Angular components in the open source [Cypress.io](https://www.cypress.io/) test runner. This package is an extension of `@cypress/angular`, but with [signals](https://angular.dev/guide/signals) support. - -> **Note:** This package is bundled with the `cypress` package and should not need to be installed separately. See the [Angular Component Testing Docs](https://docs.cypress.io/guides/component-testing/angular/overview) for mounting Angular components. Installing and importing `mount` from `@cypress/angular-signals` should only be done for advanced use-cases. - -## Development - -Run `yarn build` to compile and sync packages to the `cypress` cli package. - -## [Changelog](./CHANGELOG.md) diff --git a/cli/angular-signals/package.json b/cli/angular-signals/package.json deleted file mode 100644 index 104c1f5b21be..000000000000 --- a/cli/angular-signals/package.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "name": "@cypress/angular-signals", - "version": "0.0.0-development", - "description": "Test Angular Components using Signals with Cypress", - "main": "dist/index.js", - "scripts": { - "prebuild": "rimraf dist", - "build": "rollup -c rollup.config.mjs", - "postbuild": "node ../../scripts/sync-exported-npm-with-cli.js", - "check-ts": "tsc --noEmit", - "dev": "rollup -c rollup.config.mjs -w", - "lint": "eslint --ext .js,.ts,.json, ." - }, - "dependencies": {}, - "devDependencies": { - "@angular/common": "^17.2.0", - "@angular/core": "^17.2.0", - "@angular/platform-browser-dynamic": "^17.2.0", - "@cypress/mount-utils": "0.0.0-development", - "typescript": "~5.4.5", - "zone.js": "~0.14.6" - }, - "peerDependencies": { - "@angular/common": ">=17.2", - "@angular/core": ">=17.2", - "@angular/platform-browser-dynamic": ">=17.2", - "rxjs": ">=7.5.0", - "zone.js": ">=0.13.0" - }, - "files": [ - "dist" - ], - "types": "dist/index.d.ts", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/cypress-io/cypress.git" - }, - "homepage": "https://github.com/cypress-io/cypress/blob/develop/npm/angular-signals/#readme", - "bugs": "https://github.com/cypress-io/cypress/issues/new?assignees=&labels=npm%3A%20%40cypress%2Fangular&template=1-bug-report.md&title=", - "keywords": [ - "angular", - "cypress", - "cypress-io", - "test", - "testing" - ], - "contributors": [ - { - "name": "Bill Glesias", - "social": "@atofstryker" - } - ], - "module": "dist/index.js", - "publishConfig": { - "access": "public" - }, - "nx": { - "targets": { - "build": { - "outputs": [ - "{workspaceRoot}/cli/angular-signals" - ] - } - } - }, - "standard": { - "globals": [ - "Cypress", - "cy", - "expect" - ] - } -} diff --git a/cli/vue2/README.md b/cli/vue2/README.md deleted file mode 100644 index 0dcb604eebaf..000000000000 --- a/cli/vue2/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# @cypress/vue2 - -Mount Vue 2 components in the open source [Cypress.io](https://www.cypress.io/) test runner - -> **Note:** This package is bundled with the `cypress` package and should not need to be installed separately. See the [Vue Component Testing Docs](https://docs.cypress.io/guides/component-testing/vue/overview) for mounting Vue components. Installing and importing `mount` from `@cypress/vue2` should only be done for advanced use-cases. - -## [Changelog](./CHANGELOG.md) diff --git a/cli/vue2/package.json b/cli/vue2/package.json deleted file mode 100644 index e71a42d2f880..000000000000 --- a/cli/vue2/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "@cypress/vue2", - "version": "0.0.0-development", - "description": "Browser-based Component Testing for Vue.js@2 with Cypress.io ✌️🌲", - "main": "dist/cypress-vue2.cjs.js", - "scripts": { - "build": "rimraf dist && yarn rollup -c rollup.config.mjs", - "postbuild": "node ../../scripts/sync-exported-npm-with-cli.js", - "check-ts": "tsc --noEmit", - "lint": "eslint --ext .js,.jsx,.ts,.tsx,.json,.vue .", - "test": "echo \"Tests for @cypress/vue2 are run from system-tests\"", - "test-ci": "node ../../scripts/run-ct-examples.js --examplesList=./examples.env", - "watch": "yarn build --watch --watch.exclude ./dist/**/*" - }, - "devDependencies": { - "@cypress/mount-utils": "0.0.0-development", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-replace": "^2.3.1", - "@vue/test-utils": "^1.3.1", - "tslib": "^2.1.0", - "typescript": "~5.4.5", - "vue": "2.7.16" - }, - "peerDependencies": { - "cypress": ">=4.5.0", - "vue": "^2.0.0" - }, - "files": [ - "dist/**/*", - "src/**/*.js" - ], - "engines": { - "node": ">=8" - }, - "types": "dist/index.d.ts", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/cypress-io/cypress.git" - }, - "homepage": "https://github.com/cypress-io/cypress/blob/develop/npm/vue/#readme", - "bugs": "https://github.com/cypress-io/cypress/issues/new?assignees=&labels=npm%3A%20%40cypress%2Fvue&template=1-bug-report.md&title=", - "keywords": [ - "cypress", - "vue" - ], - "unpkg": "dist/cypress-vue2.browser.js", - "module": "dist/cypress-vue2.esm-bundler.js", - "publishConfig": { - "access": "public" - }, - "nx": { - "targets": { - "build": { - "outputs": [ - "{workspaceRoot}/cli/vue2", - "{projectRoot}/dist" - ] - } - }, - "implicitDependencies": [ - "!cypress" - ] - } -}