* always disable xvfb
* add --headless
* Revert "always disable xvfb" - it is still needed for Electron
This reverts commit 058679f4ce.
* updates
* update 3_plugins_spec
* update wording now that chrome can be headless
* fix video recording when headless
* Don't assume that chrome is headed
* update electron video recording message
* Add 2_headless_spec for Cypress.browser values
* update headless language
* still use headless by default for electron and headed for chrome
* fix up cli
* fix e2e tests
* update npm api types
* fix 2_headless_spec
* keep alphabetical ordering
* increase binary size limit
* add a comment on the cli error impl
* use _.defaults for default for headed
* fix
* _.defaults mutates
* 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>
* cli, server: introduce --config-file argument
* server: remove unused import
* server: wip
* server: consider --config-file in settings
* server: pass options to settings.read from config
* server: store options in Project class, pass to all settings calls
* server: _initPlugins needs to accept options, for being called from server
* server: accept optional external options in open
* cli: update help snapshots
* server: realizing now that these were written like this so they could be stubbed - removing some unnecessary usages of @options
* cli: pass configFile when it's false
* server: --config-file false and --config-file blah.json work
* server: add unit tests for --config-file
* server: pass configFile to desktop-gui
* desktop-gui: display 'cypress.json' according to --config-file arg
* desktop-gui: add integration tests for --config-file
* cli: add tests for --config-file
* PR changes
* PR changes
* cli: update snapshots
* server: updating error messages
* runner: update cypress.json mention
* fixing name overlap
* server: integration tests for --config-file
* runner: update Header component tests
* cli: fix snapshot
* desktop-gui: fix test
* driver: fixing error messages - not really any visibility to cli args from here so just static strings
* server: update snapshots
* server: update snapshots
* cli: updating snapshot
* driver: how did i miss this?
* add skipped blank line to the snapshot
* fix missing proxy require statement (was lost in merge of develop)...weird
* add module API defs to types
* module API tests
* send better error when config file can't be found
* fix dtslint test
* update cli help to use 'configuration file'
* update snapshot using 7.7.1 in place
* fix failing config_spec
* be.visible
* show custom config file name in driver errors
* add tests for non-default config file in driver error messages
* single-quote config file name
* 🙅 IIFEs 🙅
* 🤦
* fix failing test
* fix failing test, cleanup
* lint
* delete duplicate coffee spec
* Update run.js
* Delete app_spec.js.mp4
* in open mode, only store projects to recents list if 'cypress.json' is the configFile
discussion: https://git.io/JeGyF
* feedback
* 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
* tighten up potential xvfb display problems
- improve the warning message on possible display problems
- reuse existing helper functions for platform detection
- instead of relying on timing mechanisms, if a possible display
problem is detected on linux - capture all of the stderr silently and
if the broken gtk message is detected, retry running
* consolidated and simplified smoke testing, xvfb error logging and messaging
- added —dev support to cypress verify cli command
* fix lots of tests, restore one error message
* fixed remaining CLI tests
* console.log pong only in electron mode
* remove dead code
* adding multiple possible binary names for linux
* windows launcher doesn't consider "binary", so don't pass it
* adding test for multiple binary names
* Stronger typing, clearer variable names
* Stronger typing, clearer variable names
* cleanup
* cleanup
* clean up type- why isn't this being linted?
* Add more aliases (#3217)
* launcher changes to use Browser throughout, also clarifying FoundBrowser/Browser distinction
* wip
* wip
* update tests to expect objects
* removing errant debugger calls
* Fixing tests
* desktop-gui: use displayName for display
* ' -> "
* launcher: add definitions for google chrome beta and unstable
* server: fallthrough to using chrome helper
* server: changes for run mode to pick correct version
* desktop-gui: add displayName to fixtures
* server: isolating bug with runmode
* browser was a string all along
* server: re-promisify browser detection
* launcher: remove chrome-beta for now, needs some more tweaking for that to work 100 percent
* launcher: cleaning up types
* launcher: fix type comflict when filtering browsers (#3258)
* launcher: cast Windows foundbrowsers
* launcher: mapSeries -> map
* launcher: clean up launcher, change 1 call in server to match
* launcher: test that browsers contains what we like it to
* whoops
* server: accept path in runmode
* launcher: changes for detectByPath [wip]
* server: update tests to use new errors
* launcher: error message cleanup
* launcher: detectByPath working with CLI client
* launcher: detectByPath tests
* launcher: cli client for detectByPath
* server: update error msg snapshot
* cli: allow passing --browser to open mode
* server: using --browser=/path/ works in run and open mode!!
* launcher: change displayName of custom browsers
* server: find browser with highest version property by default
* launcher: update tests, clean up types
* server: fix tests
* server: fix tests
* cli: update help snapshots
* launcher: tests
* server: wip
* server, launcher: clean up errors
* server: add unit tests for events
* server: change e2e helper to support custom browser strings in stdout
* server: e2e tests for browser by path
* server: if this break that
* server: clean up and fix? tests
* decoffeeate, entypescriptify
* server: fix test
* cli: fix whitespace
* cli: remove external browser notice
* server: detect a browser to use for the e2e launch-by-path test
* server: make stackTraceLinesRe not match all sentences with 'at' in them
* server, launcher: update 'not found at path' error msg
* server: clean up browser switch
* server: customBrowserPath
* server: update snapshots that were affected by the old stackLineRe
* server: update stubs
* server: update BROWSER_NOT_FOUND_BY_PATH to use error objects
* server: backticks in snapshots break snapshots
* server: forgetting to save without formatting will be my downfall
* server: remove comment
* desktop-gui: make custom browsers chosen
* desktop-gui, launcher: update tests
* wip [skip ci] update
* wip [skip ci] update test
* [skip ci] fix env var
* bump sinon, create helper utility to always throw when a stub is called without being given stubbed behavior
* update failing specs
* fix some error messages
* update snapshot
* warning -> note, add snapshot tests
* change snapshot os.release, test env vars
* server: pass --cwd from CLI to use when resolving relative paths for various options
- remove unnecessary cwd manipulation in scripts/start
* server: fixes#1159, specs are normalized into an array resolved against cwd
- projectPath is now normalized against cwd as well
* server: move hosts out of CLI args, keep as config only
* server: convert spec array to string on module API
* cli: must ref root package directly
* server: fixes busted specs due to cherry pick
* server: temporary fix for specs being normalized into an array
* server: move around spec flattening earlier
* server: pass absolute path for specs
* server: revert flattening hosts into config temporarily
* server: add correct relative + absolute path to spec
* driver: normalize spec path against project
* driver: skip flaky test for now [skip ci]
* cli: fixes#838 start cypress in dev by routing through the CLI
- matches how we run in production better to keep parity and consistency
* cli: add coerceFalse for clarity
* cli: add global flag, update to work with windows
* server: bring into parity with root scripts
* cli: just execute start script directly to work with windows
* cli, server: fixes failing tests
* cli: pass group and groupId flags, close#455
* upgrade commander to latest
* latest command moved options in help below command
* update tests, make sure -v, --version and version work
* run test one more time
- cleaned up lots of redundant error handling
- do not ever forcibly exit early
- add user messaging for global installations
- add user messaging for opening cypress
- enable CYPRESS_BINARY_VERSION to be set, with warning
* feat(run): handle failed tests returned by the cypress run
* cli: rework errors thrown from cypress vs xvfb
* small tweak
* cli: test xvfb start error handling
* cli: shorter install message without undefined for #146
* cli: show relative path after install
* cli: debug install process
* cli: print message if using CYPRESS_VERSION
* cli: tests for CYPRESS_VERSION install
* cli: needed version message
* cli: verify app after download on install
* cli: do not verify app on install, wait until it runs
* cli: add verify command
* cli: good messags for missing app binary
* cli: xvfb error
* add missing app error
* linting
* cli: errors reported using same function
* print stack in error message for some errors
* show path checked
* use same error mechanism for download errors
* cli: unzip should report error the same way as the rest of CLI
* update some error language
* consolidate urls in error messages
* show terminal info
* terminal check outside of code
* cli: detect CI, do not use progress bar
* cli: test mock bar
* remove context.only