Commit Graph

59 Commits

Author SHA1 Message Date
Brian Mann 6850e68b48 do not mutate process.env when verifying (#4281) 2019-05-22 17:12:13 -04:00
Jennifer Shehane cacd122c67 Fix mixed use of both XVFB and Xvfb to all be Xvfb (#4262) 2019-05-21 10:33:59 -04:00
Brian Mann 77c62e010b improve CLI verify + run display warnings (#4230)
* 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
2019-05-17 09:12:03 -04:00
Gleb Bahmutov ebb8afdff4 logger warn from CLI should strip all indent from nested message (#4188) 2019-05-13 18:27:26 -04:00
Gleb Bahmutov d25cfacc6f Automatically retry verify and run commands on Linux if suspect DISPLAY problem (#4165)
* 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
2019-05-13 15:19:53 -04:00
Ben Kucera 1f0071002b Add timeout for cli/verify smoke test (#4080)
* temp 04/29/19 [skip ci] cli verify timeout

* add smoke test timeout error and tests

* cleanup code

* normalize snapshots for ci

* remove promise cancellation config

* cleanup error messaging and spacing for displaying the error details + descriptions


Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2019-05-02 15:20:58 -04:00
Ben Kucera 5f771936e3 Fix flaky cli unit test (#3988)
* fix cli unit tests with mockfs

* mockfs fix flaky verify_spec
2019-04-17 19:10:48 -04:00
Lila Conlee 255419c686 Update alias UI (#2960) (#3188)
* Update alias UI (#2960)

- Fixes #477

* fix reporter fixture name
2019-04-10 15:22:55 -04:00
Zach Bloomquist cd4156f166 Remove @cypress/get-windows-proxy from CLI (#3898) 2019-04-06 17:13:38 -04:00
Zach Bloomquist c1a345dce2 Improved proxy support (#3531)
* https-proxy: unused file

* server: wrap all https requests that use a proxy

* server: use request lib in ensureUrl if proxy is in use. this makes runs tab work behind a proxy

* electron: pass --proxy-server to app itself, so the embedded github login page works

* cli: first attempt at env vars from windows registry

* cli: api cleanup

* cli: lint

* cli: fix crash on no proxy, add tests

* add desktop-gui watch to terminals.json

* cli: pass along --proxy-source

* electron: pass --proxy-bypass-list too

* server: whitelist proxy* args

* cli: better wording

* desktop-gui: display proxy settings

* extension: force proxy [wip]

* extension: finally, i am victorious over coffeescript

* extension: add -loopback to bypasslist

* extension: revert changes

Revert "extension: force proxy [wip]"

This reverts commit 3ab6ba42a763f25ee65f12eb8b79eb597efc9b11.

* desktop-gui: skip proxysettings if there aren't any

* https-proxy, server: proxy directConnections using https-proxy-agent

* https-agent: pool httpsAgents

* https-proxy: work when they're not on a proxy

* https-proxy: ci - use agent 1.0

* https-proxy: tests

* desktop-gui: hide proxy settings when not using proxy

* https-proxy: pass req through to https-proxy-agent callback

* cli: use get-windows-proxy

* desktop-gui: always show proxy settings

* server: use get-windows-proxy

* electron, server: supply electron proxy config when window launched

* server: fix

* https-proxy: cleanup

* server: clean up ensureUrl

* https-proxy: cleanup

* cli: fix

* cli: fix destructuring

* server: enable ForeverAgent to pool HTTPS/HTTP connections

#3192

* server: updating snapshot

* https-proxy: don't crash, do error if proxy unreachable

* https-proxy:

* get-windows-proxy@1.0.0

* https-proxy: use proxy-from-env to decide on a proxy for a url

* server: fallback to HTTP_PROXY globally if HTTPS_PROXY not set

* server: proxy args test

* cli: add proxy tests

* cli: add test that loadSystemProxySettings is called during download

* cli, server: account for the fact that CI has some proxy vars set

* https-proxy: ""

* cli, https-proxy, server: ""

* desktop-gui: update settings gui

* desktop-gui: cypress tests for proxy settings

* server: strict undefined check

* cli, server: move get-windows-proxy to scope, optionalDeps

* server, cli: use new and improved get-windows-proxy

* cli, server: 1.5.0

* server: re-check for proxy since cli may have failed to load the lib

* server, cli: 1.5.1

* server: NO_PROXY=localhost by default, clean up

* https-proxy: disable Nagle's on proxy sockets

\#3192

* https-proxy: use setNoDelay on upstream, cache https agent

* https-proxy: test basic auth

* https-proxy: add todo: remove this

* server: add custom HTTP(s) Agent implementation w keepalive, tunneling

* server: typescript for agent

* add ts to zunder

* server: more ts

* ts: add missing Agent type declaration

* server: create CombinedAgent

* server: use agent in more places

* ts: more declarations

* server: make script work even if debug port not supplied

* server: begin some testing

* server, ts: agent, tests

* server: test

* server: agent works with websockets now

* server: update snapshot

* server: work out some more bugs with websockets

* server: more websockets

* server: add net_profiler

* https-proxy: fix dangling socket on direct connection

* server: fix potential 'headers have already been sent'

* https-proxy: nab another dangler

* server: update test to expect agent

* https-proxy: fix failing test

* desktop-gui: change on-link

* server: add tests for empty response case

* server: tests

* server: send keep-alive with requests

* server: make net profiler hook on socket.connect

* server: only hook profiler once

* server: update tests, add keep-alive test

* server: only regen headers if needed

* server: move http_overrides into CombinedAgent, make it proxy-proof

for #112

* server: update snapshot

* server: undo

* server: avoid circular dependency

* https-proxy, server: use our Agent instead of https-proxy-agent

* server: add dependency back

* cli: actually use proxy for download

* server, launcher, ts: typescript

* Revert "server, launcher, ts: typescript"

This reverts commit d3f8b8bbb6.

* Revert "Revert "server, launcher, ts: typescript""

This reverts commit 818dfdfd00.

* ts, server: respond to PR

* server, ts: types

* ts: really fix types

* https-proxy, server: export CA from https-proxy

* agent, server, https-proxy: move agent to own package

* agent => networking, move connect into networking

* fix tests

* fix test

* networking: respond to PR changes, add more unit tests

* rename ctx

* networking, ts: add more tests

* server: add ensureUrl tests

* https-proxy: remove https-proxy-agent

* server: use CombinedAgent for API

* server: updates

* add proxy performance tests

* add perf tests to workflow

* circle

* run perf tests with --no-sandbox

* networking, ts: ch-ch-ch-ch-changes

* server, networking: pr changes

* run networking tests in circle

* server: fix performance test

* https-proxy: test that sockets are being closed

* https-proxy: write, not emit

* networking: fix test

* networking: bubble err in connect

* networking: style

* networking: clean p connect error handling

* networking => network

* server: make perf tests really work

* server: really report

* server: use args from browser

* server: use AI to determine max run time

* server: load electron only when needed


Co-authored-by: Brian Mann <brian@cypress.io>
2019-03-31 23:39:10 -04:00
Gleb Bahmutov e0042a2009 Upgrade snap shot it to v6 in CLI package (#3761)
* update cli_spec

* linting

* update named snapshot to have 1 to match snap-shot-it v5

* update errors spec

* linting

* update snapshot use in download_spec

* update install_spec snapshot

* linting

* update use of snapshot in unzip_spec

* update snapshot use in verify_spec

* enable all CLI specs

* no need to skip snapshot sorting

* upgrade snap-shot-it to v6 in root

* update snap-shot-it to v6 in packages/server

* need to add build script to transpile

* update cypress_spec snapshot use with names
2019-03-21 10:39:28 -04:00
Gleb Bahmutov 1a7f631032 Reject promise stub with an error instance (#3751)
* reject promise stub with Error instance

* pass linter
2019-03-20 09:47:13 -04:00
Ben Kucera ef8b240bc0 improve cache help messages snapshot more (#2625)
* snapshot more, remove execa in tests for speed

* sub-command -> command, add snapshot

* restate execa
2019-01-25 00:34:58 -05:00
Ben Kucera 0ffa701bdb update cypress install message (#2755)
fix #2754
2018-12-25 23:00:17 -08:00
Mathias Geat b6519258d2 Introduce CYPRESS_DOWNLOAD_BASE_URL to specify a base download url (#2609)
* Introduce CYPRESS_DOWNLOAD_BASE_URL to specify a base download url instead of download.cypress.io

* rename to CYPRESS_DOWNLOAD_MIRROR

* update spec_helper
2018-11-01 10:33:48 -04:00
Ben Kucera f90bfbec90 update ci error msg (#1928) 2018-06-20 00:14:15 -04:00
Ben Kucera db4a4a6d22 Improve Error logging around Cypress verify (#1986)
close #1984 improve error logging for `cypress verify`
close #1985 remove "skipping install" message to local users, keep in CI
2018-06-19 21:52:25 -04:00
Ben Kucera 5a4b2a4a0a allow relative paths in CYPRESS_* env vars (#1989) 2018-06-19 17:34:51 -04:00
Ben Kucera 56e00981aa cache commands, --no-exit (#1875)
* add --no-exit, cache commands

* Manage -> Manages

* fix run, run spec

* remove comments
2018-06-05 16:19:23 -04:00
Ben Kucera ca9cb8f10b env vars from configs, respect loglevel from npm (#1855) 2018-06-05 15:14:51 -04:00
Job a4fa1b32f7 fix cli: global binary cache reuse (#1819)
closes #1813
2018-05-30 08:42:42 -04:00
Ben Kucera 08d75f552f fix cli --version (#1803) 2018-05-29 15:39:18 -04:00
Brian Mann 1d0b35bd47 Cli env var changes (#1734)
* 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
2018-05-19 15:37:52 -04:00
Ben Kucera 8a55864ae9 CLI caching (#1699)
* WIP [skip ci] tests passing -1

* WIP [skip ci] tests passing -1

* [WIP] [skip ci] more passing tests

* add run,open,verify cli tests

* fix package.json

* fix install_spec

* rename info_spec -> state_spec

* refactor cli options

* more useful logging

* change binary location, change folder name

* fix --binary-path arg

* update error message for cache

* lib/tasks/install.js changes

* add progress for direct unzip, prefer cache with override version with url/zip

* update cli logs

* prettier logs, remove arg

* fix failing test- stub os.release

* fix cli_spec snapshot, remove group and groupid args
2018-05-16 04:34:12 -04:00
Gleb Bahmutov 99302267df Banner to separate test output (#1190)
* cli: add mocha-banner so we can see what each test outputs

* linting
2018-01-16 13:22:00 -05:00
Chris Breiding d406018fea Add selector playground to runner (#1079)
* runner: display css selector helper and highlight on hover

* runner: use unique-selector lib

* runner: eslint auto-fixes

* upgrade zunder to 5.5.1 and update configs

* reporter: add babel deps

* runner/reporter: lock react to 15.6.2

* runner: add highlight w/ tooltip and copy-to-clipboard

* runner/reporter: upgrade react-tooltip to 0.3.1

* server: upgrade browserify-preprocessor to 1.0.2

* cli: eslint auto-fixes

* upgrade zunder to 5.5.2

* runner: add defensive style resets to selector helper highlight

* runner: ensure iframe contents exist before acting on them

* runner: hide selector helper button when tests are loading or running

* runner: use shadow dom for selector helper highlight

* runner: reset state when selector helper is disabled

* runner: rebind selector helper when snapshot changes

* runner: don’t show tooltip when hovering over selector

* runner: integrate playground input into selector helper

* runner: fix mouseover/mouseout for selector

* runner: fix selector clearing

* runner: allow selector area to scroll

* runner: enable switching between get and contains

* runner: refactor method

* runner: add tooltip to selector helper toggle

* runner: focus selector helper input when method changes

* runner: remove references to cypressEnv

* runner: keep selector even if snapshot changes

* runner: persist selector helper state instead of clearing it when things change

* runner: hide method picker when clicking outside of it

* runner: pass model into selector helper

* CSS style changes to selector helper

- merge in changes + fix conflicts

* update close icon to not be so bold

* runner: keep selector helper styles out of main runner styles

* runner: rename playgroundInfo to info

* runner: simplify selector helper model

* driver: restrict more nodes from contains selector

* runner: cleanup

* runner: move selector helper to top

* more style updates for selector-helper

* move arrow to left of cy.

* Added a 'print to console' button

* runner: use fork of unique-selector and accept attribute selectors

* runner: implement print to console

* runner: close selector helper when re-running tests

* runner: improve header responsive design

* reporter: shorten console print message and lengthen duration shown

* more styling for css selector panel.

* style changes off of conversation

* updated main dropdown button

* update colors of input on invalid / no elements to be red

* disable copy to clipboard & print to console buttons if invalid / no elements

* style disabled clipboard & print buttons

* update tooltip on click of 'print to console' to say 'printed!'

* runner: refactor header to use mobx state

* add link to docs help to selector playground

* runner: add tests for header

* runner: use the right button

* runner: add tests for selector helper

* runner: remove unused variable

* runner: focus and select input when selector helper enabled or method changed

* runner: hide tooltip when selector helper is open

* runner: keep highlight from playground unless hovering over aut

* runner: always show selector helper info

* runner: show highlight when hovering over info

* Update SelectorHelper name from old Footer

* move 'selector highlight' behavior into 'highlight button'

* Added tooltip to 'highlight' button.

* runner: some style changes to selector-helper

* runner: do not focus and select input when 'turning off inspect mode'

* runner: fix issue w/ 'close' button on helper not working.

* runner: use Cypress methods for printing elements to console. bring console messages into parity with driver

* driver: revert experimental change to contains

* reporter: fix failing tests

* runner: fix failing tests
2017-12-17 14:17:19 -05:00
Ray Gesualdo 3a538601e1 Allow skipping binary download during install (#1008)
* added CYPRESS_SKIP_BINARY_INSTALL env var check before installing

* cli: provide reason binary installation is being skipped

- more linting, why not

* cli: prettify snapshots by removing whitespace at end of line
2017-12-05 11:39:29 -05:00
Gleb Bahmutov f6e87c97ad Allow http download url 1001 (#1004)
* fix: allow http: download url, close #1001

* linting

* relinting JS files
2017-12-04 14:28:29 -05:00
Gleb Bahmutov 8466e374f3 working on installing from local binary file (#797)
for #701 

* working on installing from local binary file

* fix missing return

* enabled skipped zip file test

* test zip file and up in two folders

* test direct zip file install on CircleCI

* Remove artificial delays
2017-10-23 21:03:47 +00:00
Gleb Bahmutov 72d9fae4e0 Pass arch when downloading 559 (#562)
* pass arch= when downloading desktop binary, close #559

* unit test url function
2017-10-05 13:38:47 +00:00
Gleb Bahmutov d22eb13e92 Verify command 545 (#550)
* find single line with ping value, close #545

* linting
2017-10-03 20:50:11 +00:00
Gleb Bahmutov 3d9b664e16 Merge pull request #524 from cypress-io/develop
bring latest commits from develop to windows branch
2017-09-28 12:40:20 -04:00
Gleb Bahmutov 94b1d11856 Bring back commits (#522)
* add run serially console message

* linting

* root: add npm run all prune command (#513)

* build and install binary and NPM package locally on Circle

* pass env variable differently

* remove console.log from launcher

* listr delay

* longer listr delay in tests
2017-09-28 11:59:44 -04:00
Gleb Bahmutov 907254b2ac cli: fix unit test for windows 2017-09-27 15:01:01 -04:00
Gleb Bahmutov 25e871d4d9 latest develop -> win-binary-495 (#512)
* server: WIP snapshots

* server: add snapshots for e2e tests

* runner: fix lint task

* eslint fixes

* use cypress eslint plugin

* add eslintrc for scripts

* launcher: add eslintrc

* docs: add eslintrc

* exclude bower_components from linting

* docs: rework callback function example for should() and and() command

* docs: updated roadmap, added many new issues

* docs: reference new issues in roadmap

* docs: added 0.20.0 summary, issues that need to be opened

* docs: clarify on CLI changes, all misc other improvements

* docs: bump hexo [skip ci]

* docs: fix typo #616

* bump hexo dep

* docs: fixed some incorrect links.

* docs: deployed to production [skip ci]

* docs: get hexo to escape html properly

* docs: use sync render [skip ci]

* scripts: use path separator for label, close #501 (#502)

* desktop-gui: guard against record keys being set to null

* desktop-gui: add test for record keys being null

* launcher: detect chrome on windows (#504)

close #504 

* launcher: detect chrome on windows

checks if file exists, then determines version using `wmic`

close #503

* launcher: detect canary and chromium

plus update types to latest

* add launcher as a CI job

* run launcher on Windows CI

* forgot to restore monorepo

* go back on Win CI

* Merge from master (#508)

* server: WIP snapshots

* server: add snapshots for e2e tests

* runner: fix lint task

* eslint fixes

* use cypress eslint plugin

* add eslintrc for scripts

* launcher: add eslintrc

* docs: add eslintrc

* exclude bower_components from linting

* docs: rework callback function example for should() and and() command

* docs: updated roadmap, added many new issues

* docs: reference new issues in roadmap

* docs: added 0.20.0 summary, issues that need to be opened

* docs: clarify on CLI changes, all misc other improvements

* docs: bump hexo [skip ci]

* docs: fix typo #616

* bump hexo dep

* docs: fixed some incorrect links.

* docs: deployed to production [skip ci]

* docs: get hexo to escape html properly

* docs: use sync render [skip ci]

* Use npm@5 to install on Windows (#509)

* cli: extend test delay to avoid listr animation

* run linter an all

* update contributing docs (#511)

* update contributing docs

* add notes on linting, branching and testing

* two CI branches, one for develop one for master
2017-09-26 16:09:26 -04:00
Gleb Bahmutov 7d46fcde06 cli: extend test delay to avoid listr animation 2017-09-26 15:19:30 -04:00
Brian Mann 2b415cab4c cli: verify against installed version not package version when displaying first time opening message 2017-09-16 19:21:00 -04:00
Brian Mann 8255d37168 cli: add some delay to give listr some padding to update stdout 2017-09-06 16:39:01 -04:00
Brian Mann c1db121dd6 cli: disable welcome message when manually verifying, otherwise display 2017-09-05 01:26:37 -04:00
Brian Mann 90a0198e94 cli: move normalize function out of core lib, and into test support 2017-09-05 01:13:00 -04:00
Brian Mann 8e9183fa2d cli: continually normalize snapshots to get passing in CI 2017-09-04 20:31:04 -04:00
Brian Mann 335553f94b cli: when running in CI, use a different renderer to prevent ugly stream of stdout updates 2017-09-04 16:24:41 -04:00
Brian Mann 51c8da3afe cli: hopefully stripped the bad line by now 2017-09-04 15:10:41 -04:00
Brian Mann 1ed6f36e92 cli: try adding a delay for listr 2017-09-04 14:40:57 -04:00
Brian Mann 84950fe3aa cli: try stripping ansi codes, who knows 2017-09-04 14:39:52 -04:00
Brian Mann ddb2a43f2b cli: dealing with stupid whitespace snapshot issue 2017-09-04 14:05:46 -04:00
Brian Mann 1178c67a29 cli: better stdout normalization 2017-09-04 13:52:38 -04:00
Brian Mann 567395257d cli: update snapshots to unique name 2017-09-04 13:33:42 -04:00
Brian Mann 303db4d07f cli: update snapshots to unique name 2017-09-04 13:31:05 -04:00
Brian Mann 257357762d cli: normalize snapshot by removing lines that won't show up in CI 2017-09-04 13:15:35 -04:00