* revive logic to run CT in a single tab
* add feature flag: experimentalSingleTabRunMode
* remove log
* reset browser state between tests
* document single tab run mode experiment;
* add system test for experimental run mode
* fix snapshots
* use more simple project for testing
* additional guard;
* fix test
* Apply suggestions from code review
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* destroy aut after each spec
* update snapshot
* fix types
* add experiment flag error
* add warning when using experimental flag with e2e
* build binaries for experimentalSingleTabRunMode feature
* build binaries take 2
* make error message more open ended
* destroy AUT later in run mode lifecycle
* add additional assertion around experimental flag
* simplify error
* remove test code from production code
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* fix: escape backslashes in downloadFolder for Firefox on Windows
* fix import of doubleEscape in packages/server/lib/browsers/firefox.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* don't run ls command on Windows
* Revert "don't run ls command on Windows"
This reverts commit deec721b06.
* chore: add unit test to verify double escape behavior
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Rachel <rachel@cypress.io>
* Minimal fix, hacky repro
* Convert getRouteForRequest into a generator function
* Create separate test for reproducing the original issue
* Remove TODO, check .done property instead of .value
* Improve readability
Co-authored-by: Eiríkur Fannar Torfason <eirikur.torfason@gmail.com>
Co-authored-by: Tyler Biethman <tbiethman@users.noreply.github.com>
* feat: add modify obstructive user agent code for electron to strip electron and cypress out of the UA string.
* fix user agent destructuring error within unit tests
* remove explicit CDP command and opt for _setUserAgent. add test to not override passed in user agent via config
* add get user agent method to electron and update tests
* move user agent override in electron under experimentalModifyObstructiveThirdPartyCode over experimentalSessionAndOrigin
* move position of setting user agent to browser launch, hopefully fixing issues in CI with parallelization between parent/child processes
* update stale documentation and remove no longer necessary stub of getUserAgent
* add user agent to get user agent debug log
Co-authored-by: Matt Schile <mschile@gmail.com>
* chore(deps): update dependency nock to v13.2.9 🌟
* chore: update nock api from v12 to v13 by changing socketDelay to delayConnection. See https://github.com/nock/nock/releases/tag/v13.0.0 for more details
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* fix(config): allow "additionalIgnorePattern" to be an array of string
Also set default value to "[]", to prevent issue when running E2E tests.
* chore(test): set "additionalIgnorePattern: undefined" for Cypress-in-Cypress config
* chore: update snapshots
* chore: update types for additionalIgnorePattern
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* Adding prototype before-quit handler to handle async teardown.
* Getting binary builds
* Let's try this then
* Working the async changes backwards, hope I got them all. Unit tests will be a disaster currently.
* Actually getting build artifacts for testing
* Moving logic to server interactive/run
* fix: Fix some tests
* fix: Revert changes to circle config
* fix: Fix some tests
* fix: Fix more tests
* fix: Remove dead code comment
* fix: Fix ProjectDataSource tests
* fix: Add comment prefix
* fix: Remove comment and unnecessary async
* fix: Build Mac binary
* Reverting run changes
* Addressing PR comments. Cleaning up a few naming quibbles I had.
* Addressing TODO regarding onLoadError watcher cleanup.
* Correcting catch
* Fighting some unref errors on these catches
* Reverting making this private en lieu of binding
* Should have left these as instances, whoops
* Removing unnecessary test that was previously skipped
* Adding a couple cheap unit tests for the new interactive mode behavior
Co-authored-by: Tyler Biethman <tbiethman@gmail.com>
Co-authored-by: Tyler Biethman <tbiethman@users.noreply.github.com>
* chore: Un-skip some tests
* chore: Unskip more tests
* chore: Use exec rather than spawn
* chore: Fix test
* chore: Remove events_spec tests
* chore: Add defaultValue for specPattern option
* chore: Remove default value
* chore: Use os to determine system arch and platform during testing
* chore: Add comment for specPattern defaultValue
* chore: Remove comment
* fix: use graceful-fs always, warn in development on sync calls
* skip prop linting in some dirs
* eslint rules
* use AST-based lint rule instead
* comment
* ignore existsSync
* run without nextTick
* remove dev warning code
* fix order
* register TS first
* fix tests
* fix test
* cover new call site
* fix new test
* fix: Don't glob project path in supportFile lookup
* Updating unit tests around supportFile 'isFolder'
* Adding unit test to validate the projectRoot isn't globbed
* Adding system test to validate successful run
* This is more accurate
* Updating snapshot to reflect now missing absolute path from the supportFile value
* Adding e2 launchpad test
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
* fix: properly run multiple specs in run and headed mode on linux and windows
* fix: properly run multiple specs in run and headed mode on linux and windows
* Update test
* Update test
* Fix issue with running headed in linux and windows
* Improve test
* Update packages/server/lib/browsers/browser-cri-client.ts
* PR comments
* PR comments
* Fix test failure due to refactor
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
* fix: support ESM projects using TypeScript with ts-node/esm
* better error handling
* fix test
* indentation
* register ts-node via --require hook
* be less aggressive with erroring
* update fix system tests
* remove obsolete test
* handle case of not using typescript
* replicate 9.x behavior for legacy plugins w/ ts-node
* make test project valid and adjust tests accordingly
* use ts-node/esm transpile only
* dummy
* extract util function
* merge in refactor using projectFixtureDirectory
* fix test
* fix: UNIFY-1774, throw error if we do not detect a webpackConfig for the user
* remove dead code, rely on auto-sourcing webpack config
* fix error styles, exit the devServer process when config is missing, guard against empty remoteState
* Add missing webpack for todos project
* Update npm/webpack-dev-server/src/makeWebpackConfig.ts
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
* fix: support loading config files for projects with type module, without esbuild
* fix: adding process.cwd() to require.resolve paths so that system-tests do not use local dev version of esbuild
* fix: add missing esbuild in test projects
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
* fix: UNIFY-1408, warnings should be nested appropriately & clearable
* Add fix / test for UNIFY-1604, UNIFY-1732
* better tests around baseUrl handling, remove unneeded logic
* Fix stub usage, test failure, pingBaseUrl behavior
* fix duplicate test title
* fix: do not allow experimentalSessionAndOrigin to be available in CT per https://github.com/cypress-io/cypress/issues/21573
* remove experimentalSessionAndOrigin config as it is read only
* move runner session tests under own system test project to turn on experimentalSessionAndOrigin flag
* refactor session ui runner tests to point to runner-session-e2e-specs folder
* fix cypress_spec.js to account for experimentalSessionAndOrigin options
* remove experimentalSessionAndOrigin from env args
* chore: Removing workaround for long Cypress verification times
* Blank commit for Percy build
* Getting a build
* Need the mac build
* Missed a few!
* We apparently still need this one.