* use cross-env in npm scripts so they work on Windows
* update more cross-envs
* Apply suggestions from code review
Co-Authored-By: Gleb Bahmutov <gleb.bahmutov@gmail.com>
* Alphabetize cli options for my own sanity
* begin added tag flag
* Fix some minor grammar in cli help output + be more specific for specs description
* update snapshot based on alphabetization change
* update snapshot to include --tag in help output
* update logic for pulling out space delimited args to look through --tag and --spec flags dynamically
* Support and pass along tag flag to run and record
- show err if passed without record flag
- sanitize args into comma separated string
- display tag in record errors
* fix some tests/snapshots where 'tag' was missing
* Actually try passing in tag through tests to ensure it prints.
* Merge branch 'develop' into issue-2561-tags
# Conflicts:
# cli/__snapshots__/cli_spec.js
# cli/lib/cli.js
# cli/lib/exec/run.js
# packages/server/lib/modes/run.js
# packages/server/lib/util/args.js
* Send 'tags' as an array to backend API
* Update json-schemas to query against 2.2.0 of postRun
- this will require a bump to json-schemas repo
* update test to reflect tags array
* update snapshot to display nightly tag
* rearrange args to alphabetical order in specs
* Add tags to runResponses / remove tag from incorrect instance post
* Fix failing specs / snapshots
* Update error messages + snapshots
* Fix snapshot that no longer displays tag arg
* fix args unit test
* remove extra slash
* add a few more cli tests
* another test just in case
* a quick unit test for displayFlags utility
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
* Update circle.yml to run e2e tests in chrome + electron
* WIP: create multiple tests per browser, but utilizing the same base snapshot
- create a dynamic test title with browser appended
- use a base named snapshot without the browser name appended
- patch snap-shot-it not to rethrow twice unnecessarily which ends up
throwing the wrong error
* Add e2e.coffee to stop-only ignore
* Convert existing x-browser e2e tests to use e2e.it
* update snapshots
* really add e2e to stop-only skip
* Replace screenshot dimensions in all tests, run only in process.env.BROWSER
* add e2e.it to more tests that should be x-browser
* update snapshots
* PEMDAS
* default e2e browser -> electron
Run afterEaches when skipping testo
Recurse upwards with runAfterEach
stop promise chains
* Revert "default e2e browser -> electron"
This reverts commit 3104f998da.
* Undo
* snap-shot-it@7.9.0
* Remove snap-shot-it patch
* Change e2e snapshot to use allowSharedSnapshot
* Add keepScreenshotDimensions to screenshot specs
* update snapshots
* fix snapshotit
* keepScreenshotDimensions: true -> sanitizeScreenshotDimensions: false
* Fix screenshot snapshots
* reduce snapshot noise
* rm 0_simple_spec
* deabstract circle.yml command
* fix circle.yml
* reduce snapshot noise
* clean up 6_visit_spec snapshot
* use allowSharedSnapshot: true in 5_spec_isolation
* Fix 5_screenshots, 2_form_submissions
* Normalize screenshot sizes in 5_spec_isolation snapshot
* Add sanitizeScreenshotDimensions only to non-e2e-project tests
Add --window-size=1280,720 --kiosk to chrome args
* update snapshots
* Use e2e.it for chrome/electron-specific tests
* handle logic for skipping tests when default browsers do not match specified browser
- implement e2e.it.skip to match mocha’s it.skip
- allow turning off dynamic test generation
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* server: check CYPRESS_ENV variable when merging configs
* catch invalid CYPRESS_ENV value in CLI, close#1621
* linting
* sanitize platform in test snapshot
* linting
* update error message text
* add missing comma
* fix finally merge in JS code
* pass CLI linter
* fix log reference, should be debug
* use correct sinon reference
* update message, show first part in red
* update error message text
* Mention HTTP_PROXY if download error occurs; fall back to NPM's proxy config in install
* better debug logs
* snap-shot-it@7.7.1 -> 7.8.0
* respect npm_config in server, add debug logs for proxy
* refactor typedefs for cy
* fix dtslint
* fix dtslint
* add test for extending types
03-00000014
* typo
* docs and examples for cy type
* sorted props
* remove a few tabs
* better jsdoc
* if download has checksum use it to verify downloaded file
* check only filesize if no checksum available
* add download tests
* move checksum into util for reuse, be explicit
* add comments explaining headers used to verify checksum
* move hasha to dev dependency
* remove unnecessary function
* do not use deprecated Promise.join with spread
* fix promise join callback
* linting
* fix(deps): update request-progress to 3.0.0 🌟
* Added method to utils to convert percent value to percentage
- Wrote unit tests for both calculateETA and the percent to percentage
conversion
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* use is-html as a fallback to check if response is HTML
* end response with passthru stream
* clean up network_failures
* add test that visit passes with undef content-type
* handle empty responses too
* try to fix dtslint: bump package version 2
02-00000876
* fix failing tests via develop merge
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* Fix issue where button of type='reset' would be activated during implicit form submission instead of button type='submit'
* Update to account for the fact that default type of button is 'submit'
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
* cli: debug explanation for XVFB
* linting
* add chai-as-promised to CLI dev
* show Linux specific error solution if cannot verify
* add todo
* chore: consolidate github issue url logic
* linting
* add npm script lint-changed to quickly eslint fix changes JS files
* retry verify with our XVFB
* update errors and tests
* update CLI tests
* add test for display error message
* fix unit test
* add successful test with retry
* finish verify retry test
* warn users if hit display problem on first verify
* try to detect display problem when running electron and retry with our xvfb
* add warning message to spawn when attempting xvfb re-run
* add test for display retry behavior on spawn
* more comments for clarity
* fix typo
* fix(deps): update debug to 4.1.1 🌟
* bump cli 'debug' down to 3.2.6 - last version that still supports Node 4
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* appveyor build for this branch
* don't force install ffmpeg on windows
don't force install ffmpeg on windows
* derp
* fix
* build in appveyor
* oops
* delete using del
* use RMDIR instead of DEL
* only build 32-bit
* build for x64 and x86 windows
* separate win32 and win64
* require lodash
* make electron arch configurable
* cross-compile 32, only run in 64-bit
* force install ffmpeg if necessary
* it's all win10 x64, but we can force it to build for ia32 in x32 mode
* add windows util
* who's idea was it to make whitespace meaningful?
* pass arch to npm install, pass arch to uploader
* add TARGET_PLATFORM
* fun fact: appveyor titlecases env var names
fun fact: appveyor titlecases env var names
* fix: pass args
* use process
* cli: use arch package to send arch to server
* pass TARGET_ARCH to all npm installs
* run-all
* always call getUploadNameByOs
* use the precise version of node, enable both x64 and ia32 arch
* quotes
* uh wat
* move console logs to script because windows
* add yet another env var to install the right node arch
* use x86, not x32
* give ia32 a try, why not
* use platform env again
* and also try x86 again
* remove notion of target_arch since we're using the right node version with arch set correctly
* more comprehensive checks to ensure the arch is correct
* simplify building the binary, do not accept arch as options
* build the binary and test it on this branch
* remove arch, ensure that process.env.Platform is set to x86
* do build the binary unless this is a forked PR
* attempt to verify that this is a 32bit or 64bit windows binary
* remove unused dep
* consolidate commands
* don't install packages in windows - just build the binary
- this avoids needing to reinstall all node_modules and build-js twice
* build the binary on more branches
* cd up appveyor
* ugh
* right logic for whether or not this is a forked PR
* remove unused deps
* fix undefined var
* platformArch
* set in options
* turns out we do have to npm install before building the binary
* options.platformArch
* comment out appveyor build 32bit/64bit verification temporarily
Co-authored-by: Brian Mann <brian.mann86@gmail.com>