-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Prevent Cypress from crashing when argument parsing "spec: {}" #18312
Conversation
Thanks for taking the time to open a PR!
|
Test summaryRun details
View run in Cypress Dashboard ➡️ This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Dashboard |
What is the behavior now if the user passes |
@flotwig I wasn't sure if we wanted to throw an error in this scenario or just accept the object without crashing. Currently, no error is thrown as I am following the behavior that exists if |
@davidmunechika This might be an ok fix to have in another PR though rather than this crash fix. It's up to you. |
* develop: (31 commits) fix: `everyNthFrame` should only be applied for Chrome 89+ (#18392) docs: General updates to contributing guide (#18283) chore: Update Chrome (beta) to 95.0.4638.40 (#18389) chore: use circleci timings split for e2e tests (#18367) fix: fixed title (#18370) chore(deps): update dependency electron to v14 🌟 (#18384) chore(server): share client route (#18215) fix: Prevent Cypress from crashing when argument parsing "spec: {}" (#18312) chore: update husky dev dependency to v7 (#18345) feat: add defineConfig function to help type config (#18302) chore: Update Chrome (stable) to 94.0.4606.71 (#18324) feat: allow to use TypeScript in the config file (#18300) allow select to be called with empty array (#18329) fix(vite-dev-server): windows `supportFile` + preserve optimize entries (#18286) chore: fix semantic-release dry run (#18332) fix(driver): improve status_code_flags_invalid error message (#18316) chore(deps): update dependency electron to v13.5.0 🌟 (#18318) chore: Update Chrome (stable) to 94.0.4606.61 and Chrome (beta) to 95.0.4638.32 (#18229) fix(proxy-logging): use constant consoleProps object (#18207) feat(driver): Add "overwrite" option to cy.screenshot() (#18280) ...
* develop: (33 commits) fix: remove .json check from require_async, prevent child_process spawn (#18416) percy snapshot the tooltip visually, prevent it from being hidden fix: `everyNthFrame` should only be applied for Chrome 89+ (#18392) docs: General updates to contributing guide (#18283) chore: Update Chrome (beta) to 95.0.4638.40 (#18389) chore: use circleci timings split for e2e tests (#18367) fix: fixed title (#18370) chore(deps): update dependency electron to v14 🌟 (#18384) chore(server): share client route (#18215) fix: Prevent Cypress from crashing when argument parsing "spec: {}" (#18312) chore: update husky dev dependency to v7 (#18345) feat: add defineConfig function to help type config (#18302) chore: Update Chrome (stable) to 94.0.4606.71 (#18324) feat: allow to use TypeScript in the config file (#18300) allow select to be called with empty array (#18329) fix(vite-dev-server): windows `supportFile` + preserve optimize entries (#18286) chore: fix semantic-release dry run (#18332) fix(driver): improve status_code_flags_invalid error message (#18316) chore(deps): update dependency electron to v13.5.0 🌟 (#18318) chore: Update Chrome (stable) to 94.0.4606.61 and Chrome (beta) to 95.0.4638.32 (#18229) ...
* unified-desktop-gui: (40 commits) feat: index.html configurability and storybook support (#18242) fix: remove .json check from require_async, prevent child_process spawn (#18416) percy snapshot the tooltip visually, prevent it from being hidden fix: failing tests from #18372 (#18414) fix: `everyNthFrame` should only be applied for Chrome 89+ (#18392) feat(app): render spec list, command log, iframe (#18372) fix: drag and drop to be correct directory (#18400) refactor: Add GitDataSource, FileDataSource, toast for errors (#18385) docs: General updates to contributing guide (#18283) Add shorter --ct alias for --component Add --e2e and --component CLI options chore: Update Chrome (beta) to 95.0.4638.40 (#18389) chore: use circleci timings split for e2e tests (#18367) fix: fixed title (#18370) chore(deps): update dependency electron to v14 🌟 (#18384) chore(server): share client route (#18215) fix: Prevent Cypress from crashing when argument parsing "spec: {}" (#18312) chore: update husky dev dependency to v7 (#18345) feat: add defineConfig function to help type config (#18302) chore: Update Chrome (stable) to 94.0.4606.71 (#18324) ...
User facing changelog
When a user attempts to pass
{}
as an argument to--spec
, an error will be thrown indicating the argument could not be parsed since its value was not a string or comma-separated list.Additional details
Previously, Cypress would crash badly when
{}
or any other type of object was passed into the--spec
argument.This PR improves the robustness of argument parsing to prevent crashing in these situations.
PR Tasks
cypress-documentation
? --> N/Atype definitions
? --> N/Acypress.schema.json
? --> N/A