* fixes#1585 exit with status 1 whenever no specs were found
* add a couple tests around spec video file name
* cleanup old circleci branch filters
* bump up range of expected timings
* rename specsUtil for clarity, fix failing tests
* extract random string to util
* run specs in isolation, aggregate totalFailures, display output per spec, enable globbing for specs
* extract electron app ready into its own module
* WIP: e2e tests around spec isolation, snapshots, stdout, and complete test results
* removed unused and deprecated remove id's feature
* move fs_warn to fs util to promisify an fs singleton
* create a glob singleton util
* cleanup dead removeIds code
* extract files controller specs into its own file
* extract finding specs out of project instance into its own utility with no state
* use glob util singleton
* use fs util singleton
* lots of formatting and cleanup
* fixes failing headless specs
* fixes all failing unit tests
* fixes failing integration test
* WIP: temporarily throw old error msg
* WIP: skip failing --record integration tests for now
* fix failing e2e tests
* server: watch pluginsFile dependency tree for changes
* server: fix project unit test re: watching plugins dependency tree
* add unit test for node_modules filtering
* Check actual is not null or undefined rather than a falsy value
This fixes an issue when checking if actual was an empty string
* Add test to check empty string attributes are handled as expected
* driver: add eslint cypress plugin
* server, driver, runner: add __Cypress__ global to runner, add Jira rule to rewrite function to return correct window
* server: fixes#1415 update some data structures
* server: rename API routes using 'builds' with 'runs'
* server: update API endpoints to newest versions, update response data structures
* server: fix flaky test, ensure response is delayed 10ms
* server: WIP fixes#1163, aggregate mocha stats ourselves. rename reporter stats, change test counting semantics
* server: better debugging logs
* fixes: #1169 and #1170 duration accounts for hooks, and capture test + hook timings
- associate test failures to hooks when they occur there
- capture test + hook bodies for display
- capture hook timings per test
- aggregate hook timings + test duration for the actual ‘test duration’
- set ‘skipped’ test state by default
- properly send ‘start’ and ‘end’ dates from the driver - source of
truth
- send test.title as an array instead of serializing it
- capture all tests + hooks during a run
* server: support outputPath args
* server, driver: WIP timings, wall clock durations, hook durations, lifecycle and after runnable fn durations
* server, driver: WIP continue to improve #1163, add skipped, aggregate stats differently from mocha, fix after all hooks not collecting timings
* server: add chai uuid
* server: add e2e tests around timings, update headless to output more complete payload
* server: update ended early to conform to new stats structure
* server, driver: fixes many failing tests (few more to go)
* server: fix failing e2e tests
* server: fix failing tests, come up with interstitial solution for failingTests to prevent breaking changes
* server: fixes failing e2e tests
* server, driver: correctly calculate videoTimeStamp based on wallClockStart
- send wallClockStart so timings accurately reflect when test started
in browser
* server: fix failing e2e tests, normalize dynamic props so tests pass
* server: fix another failing e2e test
* driver: increase timeouts for XHR's to prevent flaky timeouts in CI due to low defaults
* server: increase lifecycle required timing for CI
- saw that CI took up to 247ms for lifecycle
* Replacing "\\" with "/" for Windows tests to be rendered in folders
closes#1335
* add fixture to reflect windows paths for specs
* add tests to ensure windows specs are displaying properly nested
* remove .only
* fix issue with other specs missing their ipc setup
- replace linux test with linux paths.
* server: add debug logs for the reporter web socket events
* driver: fixes#1338, more intelligently parse + append error messages
- better handling of empty messages
- better handling of error messages that have strings found inside the
stack
* driver: always serialize props unless they are undefined
- this correctly serializes error.message props which were falsy
* reporter: always set error props regardless of falsiness
* driver: fixes some edge cases for event firing (this was manually merged from a commit in 3.0)
* server, reporter: fixes#674 if no state changes on test update, fire callback anyways when passed
- this prevents a situation where all test props were identical, but
we’re waiting for change event to occur
* server, driver, reporter: add missing tests, fix failing tests
* driver: simplify error appending algorithm, should pass all tests now
* driver: delete this file, its an e2e test
* server: fixes to snapshots. the snapshots previously contained error appending bugs, but now they are correct
* server, driver: fixes#886 redefine self + parent to prevent framebusting and clickjacking security measures
- add modifyObjectiveCode config, true by default
* driver: increase timeout for flaky test in CI
* server, driver: moved obstructive code rewriting to the proxy layer, out of JS, providing more comprehensive fix
* server, driver: fixes failing tests, make regexp much more conservative
* server: increase security specificity... down the rabbit hole we go
* server, driver: fixes#1292 relax domain parsing rules and fallback to naive segment parsing to fix local and localhost
* driver: simplify ip address regexp
* electron: upgrade to 1.8.2, node 8.2.1, chromium 59
* server: update snapshots for node
* server: try to debug timeouts for mochawesome
* bump zunder
- node-sass 3.13.1 does not work with Node 8, since we’re upgrading the
project to node 8.2.1, we needed node-sass 4.5.3+. This node-sass dep
was coming from gulp-sass dep in zunder which has since been updated
* server: figured out that fixture scaffolding can cause timeouts
* bump zunder - get fix so that asserts are not prefixed with /
* server: use our own heroku example app
* use cypress/browsers:chrome64 docker image on Circle with Node 8
* update root folder name
* add hash to root cache
* disable permissions test, because cannot run as root
* server: only disable test in CI
* test new binary against other projects
* all: rename cypress-monorepo -> cypress
* scripts: use latest docker container
* server: don't skip as this messes up hooks which cause failures downstream
* driver: bump timeout for zonejs
* server: make tests pass for node 8.2.1 and 8.4.0
* 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]
* server: fixes#802 and fixes#380 and fixes#402 and fixes#493 and fixes#1161
- use the public suffix when parsing tld’s so that document.domain is
set correctly
* driver: move location spec back into cypress tests
* server, driver: fixes: #600 and fixes#1175 use public suffix for parsing tld, handle multiple different subdomains on cy.visit
* server: fixes#1141 use runner.failures and increment them ourselves
* server: opt, install to server node_modules and then copy into e2e
* server: fixes#1063 and #551, ensure hooks cause exit codes + mochawesome resports are generated
* server: reduce unnecessary async ops