cypress 3.4.0 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
package/lib/cli.js CHANGED
@@ -38,6 +38,7 @@ var coerceFalse = function coerceFalse(arg) {
38
38
  var spaceDelimitedSpecsMsg = function spaceDelimitedSpecsMsg(files) {
39
39
  logger.log();
40
40
  logger.warn(stripIndent(_templateObject, logSymbols.warning, files.join(' ')));
41
+
41
42
  logger.log();
42
43
  };
43
44
 
package/lib/errors.js CHANGED
@@ -1,21 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var _templateObject = _taggedTemplateLiteral(['\n Search for an existing issue or open a GitHub issue at\n\n ', '\n '], ['\n Search for an existing issue or open a GitHub issue at\n\n ', '\n ']),
4
- _templateObject2 = _taggedTemplateLiteral(['\n \nPlease reinstall Cypress by running: ', '\n '], ['\n \\nPlease reinstall Cypress by running: ', '\n ']),
5
- _templateObject3 = _taggedTemplateLiteral(['\n\n Reasons this may happen:\n\n - node was installed as \'root\' or with \'sudo\'\n - the cypress npm package as \'root\' or with \'sudo\'\n\n Please check that you have the appropriate user permissions.\n '], ['\\n\n Reasons this may happen:\n\n - node was installed as \'root\' or with \'sudo\'\n - the cypress npm package as \'root\' or with \'sudo\'\n\n Please check that you have the appropriate user permissions.\n ']),
6
- _templateObject4 = _taggedTemplateLiteral(['\n\n We expected the binary to be installed here: ', '\n\n Reasons it may be missing:\n\n - You\'re caching \'node_modules\' but are not caching this path: ', '\n - You ran \'npm install\' at an earlier build step but did not persist: ', '\n\n Properly caching the binary will fix this error and avoid downloading and unzipping Cypress.\n\n Alternatively, you can run \'cypress install\' to download the binary again.\n\n ', '\n '], ['\\n\n We expected the binary to be installed here: ', '\n\n Reasons it may be missing:\n\n - You\'re caching \'node_modules\' but are not caching this path: ', '\n - You ran \'npm install\' at an earlier build step but did not persist: ', '\n\n Properly caching the binary will fix this error and avoid downloading and unzipping Cypress.\n\n Alternatively, you can run \'cypress install\' to download the binary again.\n\n ', '\n ']),
7
- _templateObject5 = _taggedTemplateLiteral(['\n There was a problem spawning Xvfb.\n\n This is likely a problem with your system, permissions, or installation of Xvfb.\n '], ['\n There was a problem spawning Xvfb.\n\n This is likely a problem with your system, permissions, or installation of Xvfb.\n ']),
8
- _templateObject6 = _taggedTemplateLiteral(['\n Install Xvfb and run Cypress again.\n\n Read our documentation on dependencies for more information:\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n Install Xvfb and run Cypress again.\n\n Read our documentation on dependencies for more information:\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
9
- _templateObject7 = _taggedTemplateLiteral(['\n This command failed with the following output:\n\n ', '\n\n '], ['\n This command failed with the following output:\n\n ', '\n\n ']),
10
- _templateObject8 = _taggedTemplateLiteral(['\n Cypress failed to start after spawning a new Xvfb server.\n\n The error logs we received were:\n\n ', '\n\n ', '\n\n ', '\n\n This is usually caused by a missing library or dependency.\n\n The error above should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n Cypress failed to start after spawning a new Xvfb server.\n\n The error logs we received were:\n\n ', '\n\n ', '\n\n ', '\n\n This is usually caused by a missing library or dependency.\n\n The error above should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
11
- _templateObject9 = _taggedTemplateLiteral(['\n This is usually caused by a missing library or dependency.\n\n The error below should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n This is usually caused by a missing library or dependency.\n\n The error below should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
12
- _templateObject10 = _taggedTemplateLiteral(['\n See discussion and possible solutions at\n ', '\n '], ['\n See discussion and possible solutions at\n ', '\n ']),
13
- _templateObject11 = _taggedTemplateLiteral(['\n Please search Cypress documentation for possible solutions:\n\n ', '\n\n Check if there is a GitHub issue describing this crash:\n\n ', '\n\n Consider opening a new issue.\n '], ['\n Please search Cypress documentation for possible solutions:\n\n ', '\n\n Check if there is a GitHub issue describing this crash:\n\n ', '\n\n Consider opening a new issue.\n ']),
14
- _templateObject12 = _taggedTemplateLiteral(['\n The environment variable CYPRESS_BINARY_VERSION has been renamed to CYPRESS_INSTALL_BINARY as of version ', '\n '], ['\n The environment variable CYPRESS_BINARY_VERSION has been renamed to CYPRESS_INSTALL_BINARY as of version ', '\n ']),
15
- _templateObject13 = _taggedTemplateLiteral(['\n You should set CYPRESS_INSTALL_BINARY instead.\n '], ['\n You should set CYPRESS_INSTALL_BINARY instead.\n ']),
16
- _templateObject14 = _taggedTemplateLiteral(['\n The environment variable CYPRESS_SKIP_BINARY_INSTALL has been removed as of version ', '\n '], ['\n The environment variable CYPRESS_SKIP_BINARY_INSTALL has been removed as of version ', '\n ']),
17
- _templateObject15 = _taggedTemplateLiteral(['\n To skip the binary install, set CYPRESS_INSTALL_BINARY=0\n '], ['\n To skip the binary install, set CYPRESS_INSTALL_BINARY=0\n ']),
18
- _templateObject16 = _taggedTemplateLiteral(['\n Platform: ', ' (', ')\n Cypress Version: ', '\n '], ['\n Platform: ', ' (', ')\n Cypress Version: ', '\n ']);
3
+ var _templateObject = _taggedTemplateLiteral(['\n Does your workplace require a proxy to be used to access the Internet? If so, you must configure the HTTP_PROXY environment variable before downloading Cypress. Read more: https://on.cypress.io/proxy-configuration\n\n Otherwise, please check network connectivity and try again:'], ['\n Does your workplace require a proxy to be used to access the Internet? If so, you must configure the HTTP_PROXY environment variable before downloading Cypress. Read more: https://on.cypress.io/proxy-configuration\n\n Otherwise, please check network connectivity and try again:']),
4
+ _templateObject2 = _taggedTemplateLiteral(['\n Search for an existing issue or open a GitHub issue at\n\n ', '\n '], ['\n Search for an existing issue or open a GitHub issue at\n\n ', '\n ']),
5
+ _templateObject3 = _taggedTemplateLiteral(['\n \nPlease reinstall Cypress by running: ', '\n '], ['\n \\nPlease reinstall Cypress by running: ', '\n ']),
6
+ _templateObject4 = _taggedTemplateLiteral(['\n\n Reasons this may happen:\n\n - node was installed as \'root\' or with \'sudo\'\n - the cypress npm package as \'root\' or with \'sudo\'\n\n Please check that you have the appropriate user permissions.\n '], ['\\n\n Reasons this may happen:\n\n - node was installed as \'root\' or with \'sudo\'\n - the cypress npm package as \'root\' or with \'sudo\'\n\n Please check that you have the appropriate user permissions.\n ']),
7
+ _templateObject5 = _taggedTemplateLiteral(['\n\n We expected the binary to be installed here: ', '\n\n Reasons it may be missing:\n\n - You\'re caching \'node_modules\' but are not caching this path: ', '\n - You ran \'npm install\' at an earlier build step but did not persist: ', '\n\n Properly caching the binary will fix this error and avoid downloading and unzipping Cypress.\n\n Alternatively, you can run \'cypress install\' to download the binary again.\n\n ', '\n '], ['\\n\n We expected the binary to be installed here: ', '\n\n Reasons it may be missing:\n\n - You\'re caching \'node_modules\' but are not caching this path: ', '\n - You ran \'npm install\' at an earlier build step but did not persist: ', '\n\n Properly caching the binary will fix this error and avoid downloading and unzipping Cypress.\n\n Alternatively, you can run \'cypress install\' to download the binary again.\n\n ', '\n ']),
8
+ _templateObject6 = _taggedTemplateLiteral(['\n There was a problem spawning Xvfb.\n\n This is likely a problem with your system, permissions, or installation of Xvfb.\n '], ['\n There was a problem spawning Xvfb.\n\n This is likely a problem with your system, permissions, or installation of Xvfb.\n ']),
9
+ _templateObject7 = _taggedTemplateLiteral(['\n Install Xvfb and run Cypress again.\n\n Read our documentation on dependencies for more information:\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n Install Xvfb and run Cypress again.\n\n Read our documentation on dependencies for more information:\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
10
+ _templateObject8 = _taggedTemplateLiteral(['\n This command failed with the following output:\n\n ', '\n\n '], ['\n This command failed with the following output:\n\n ', '\n\n ']),
11
+ _templateObject9 = _taggedTemplateLiteral(['\n Cypress failed to start after spawning a new Xvfb server.\n\n The error logs we received were:\n\n ', '\n\n ', '\n\n ', '\n\n This is usually caused by a missing library or dependency.\n\n The error above should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n Cypress failed to start after spawning a new Xvfb server.\n\n The error logs we received were:\n\n ', '\n\n ', '\n\n ', '\n\n This is usually caused by a missing library or dependency.\n\n The error above should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
12
+ _templateObject10 = _taggedTemplateLiteral(['\n This is usually caused by a missing library or dependency.\n\n The error below should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n This is usually caused by a missing library or dependency.\n\n The error below should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
13
+ _templateObject11 = _taggedTemplateLiteral(['\n See discussion and possible solutions at\n ', '\n '], ['\n See discussion and possible solutions at\n ', '\n ']),
14
+ _templateObject12 = _taggedTemplateLiteral(['\n Please search Cypress documentation for possible solutions:\n\n ', '\n\n Check if there is a GitHub issue describing this crash:\n\n ', '\n\n Consider opening a new issue.\n '], ['\n Please search Cypress documentation for possible solutions:\n\n ', '\n\n Check if there is a GitHub issue describing this crash:\n\n ', '\n\n Consider opening a new issue.\n ']),
15
+ _templateObject13 = _taggedTemplateLiteral(['\n The environment variable CYPRESS_BINARY_VERSION has been renamed to CYPRESS_INSTALL_BINARY as of version ', '\n '], ['\n The environment variable CYPRESS_BINARY_VERSION has been renamed to CYPRESS_INSTALL_BINARY as of version ', '\n ']),
16
+ _templateObject14 = _taggedTemplateLiteral(['\n You should set CYPRESS_INSTALL_BINARY instead.\n '], ['\n You should set CYPRESS_INSTALL_BINARY instead.\n ']),
17
+ _templateObject15 = _taggedTemplateLiteral(['\n The environment variable CYPRESS_SKIP_BINARY_INSTALL has been removed as of version ', '\n '], ['\n The environment variable CYPRESS_SKIP_BINARY_INSTALL has been removed as of version ', '\n ']),
18
+ _templateObject16 = _taggedTemplateLiteral(['\n To skip the binary install, set CYPRESS_INSTALL_BINARY=0\n '], ['\n To skip the binary install, set CYPRESS_INSTALL_BINARY=0\n ']),
19
+ _templateObject17 = _taggedTemplateLiteral(['\n Platform: ', ' (', ')\n Cypress Version: ', '\n '], ['\n Platform: ', ' (', ')\n Cypress Version: ', '\n ']);
19
20
 
20
21
  function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
21
22
 
@@ -46,49 +47,49 @@ var hr = '----------';
46
47
  // common errors Cypress application can encounter
47
48
  var failedDownload = {
48
49
  description: 'The Cypress App could not be downloaded.',
49
- solution: 'Please check network connectivity and try again:'
50
+ solution: stripIndent(_templateObject)
50
51
  };
51
52
 
52
53
  var failedUnzip = {
53
54
  description: 'The Cypress App could not be unzipped.',
54
- solution: stripIndent(_templateObject, chalk.blue(util.issuesUrl))
55
+ solution: stripIndent(_templateObject2, chalk.blue(util.issuesUrl))
55
56
  };
56
57
 
57
58
  var missingApp = function missingApp(binaryDir) {
58
59
  return {
59
60
  description: 'No version of Cypress is installed in: ' + chalk.cyan(binaryDir),
60
- solution: stripIndent(_templateObject2, chalk.cyan('cypress install'))
61
+ solution: stripIndent(_templateObject3, chalk.cyan('cypress install'))
61
62
  };
62
63
  };
63
64
 
64
65
  var binaryNotExecutable = function binaryNotExecutable(executable) {
65
66
  return {
66
67
  description: 'Cypress cannot run because this binary file does not have executable permissions here:\n\n' + executable,
67
- solution: stripIndent(_templateObject3)
68
+ solution: stripIndent(_templateObject4)
68
69
  };
69
70
  };
70
71
 
71
72
  var notInstalledCI = function notInstalledCI(executable) {
72
73
  return {
73
74
  description: 'The cypress npm package is installed, but the Cypress binary is missing.',
74
- solution: stripIndent(_templateObject4, chalk.cyan(executable), util.getCacheDir(), util.getCacheDir(), chalk.blue('https://on.cypress.io/not-installed-ci-error'))
75
+ solution: stripIndent(_templateObject5, chalk.cyan(executable), util.getCacheDir(), util.getCacheDir(), chalk.blue('https://on.cypress.io/not-installed-ci-error'))
75
76
  };
76
77
  };
77
78
 
78
79
  var nonZeroExitCodeXvfb = {
79
80
  description: 'Xvfb exited with a non zero exit code.',
80
- solution: stripIndent(_templateObject5)
81
+ solution: stripIndent(_templateObject6)
81
82
  };
82
83
 
83
84
  var missingXvfb = {
84
85
  description: 'Your system is missing the dependency: Xvfb',
85
- solution: stripIndent(_templateObject6, chalk.blue(requiredDependenciesUrl))
86
+ solution: stripIndent(_templateObject7, chalk.blue(requiredDependenciesUrl))
86
87
  };
87
88
 
88
89
  var smokeTestFailure = function smokeTestFailure(smokeTestCommand, timedOut) {
89
90
  return {
90
91
  description: 'Cypress verification ' + (timedOut ? 'timed out' : 'failed') + '.',
91
- solution: stripIndent(_templateObject7, smokeTestCommand)
92
+ solution: stripIndent(_templateObject8, smokeTestCommand)
92
93
  };
93
94
  };
94
95
 
@@ -96,19 +97,19 @@ var invalidSmokeTestDisplayError = {
96
97
  code: 'INVALID_SMOKE_TEST_DISPLAY_ERROR',
97
98
  description: 'Cypress verification failed.',
98
99
  solution: function solution(msg) {
99
- return stripIndent(_templateObject8, hr, msg, hr, chalk.blue(requiredDependenciesUrl));
100
+ return stripIndent(_templateObject9, hr, msg, hr, chalk.blue(requiredDependenciesUrl));
100
101
  }
101
102
  };
102
103
 
103
104
  var missingDependency = {
104
105
  description: 'Cypress failed to start.',
105
106
  // this message is too Linux specific
106
- solution: stripIndent(_templateObject9, chalk.blue(requiredDependenciesUrl))
107
+ solution: stripIndent(_templateObject10, chalk.blue(requiredDependenciesUrl))
107
108
  };
108
109
 
109
110
  var invalidCacheDirectory = {
110
111
  description: 'Cypress cannot write to the cache directory due to file permissions',
111
- solution: stripIndent(_templateObject10, chalk.blue(util.getGitHubIssueUrl(1281)))
112
+ solution: stripIndent(_templateObject11, chalk.blue(util.getGitHubIssueUrl(1281)))
112
113
  };
113
114
 
114
115
  var versionMismatch = {
@@ -118,17 +119,17 @@ var versionMismatch = {
118
119
 
119
120
  var unexpected = {
120
121
  description: 'An unexpected error occurred while verifying the Cypress executable.',
121
- solution: stripIndent(_templateObject11, chalk.blue(docsUrl), chalk.blue(util.issuesUrl))
122
+ solution: stripIndent(_templateObject12, chalk.blue(docsUrl), chalk.blue(util.issuesUrl))
122
123
  };
123
124
 
124
125
  var removed = {
125
126
  CYPRESS_BINARY_VERSION: {
126
- description: stripIndent(_templateObject12, chalk.green('3.0.0')),
127
- solution: stripIndent(_templateObject13)
127
+ description: stripIndent(_templateObject13, chalk.green('3.0.0')),
128
+ solution: stripIndent(_templateObject14)
128
129
  },
129
130
  CYPRESS_SKIP_BINARY_INSTALL: {
130
- description: stripIndent(_templateObject14, chalk.green('3.0.0')),
131
- solution: stripIndent(_templateObject15)
131
+ description: stripIndent(_templateObject15, chalk.green('3.0.0')),
132
+ solution: stripIndent(_templateObject16)
132
133
  }
133
134
  };
134
135
 
@@ -145,7 +146,7 @@ var CYPRESS_RUN_BINARY = {
145
146
 
146
147
  function getPlatformInfo() {
147
148
  return util.getOsVersionAsync().then(function (version) {
148
- return stripIndent(_templateObject16, os.platform(), version, util.pkgVersion());
149
+ return stripIndent(_templateObject17, os.platform(), version, util.pkgVersion());
149
150
  });
150
151
  }
151
152
 
package/lib/exec/spawn.js CHANGED
@@ -74,6 +74,8 @@ module.exports = {
74
74
  debug('needs to start own Xvfb?', needsXvfb);
75
75
 
76
76
  // always push cwd into the args
77
+ // which additionally acts as a signal to the
78
+ // binary that it was invoked through the NPM module
77
79
  args = [].concat(args, '--cwd', process.cwd());
78
80
 
79
81
  _.defaults(options, {
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _arguments = arguments;
4
-
5
3
  var _templateObject = _taggedTemplateLiteral(['\n URL: ', '\n ', '\n '], ['\n URL: ', '\n ', '\n ']),
6
4
  _templateObject2 = _taggedTemplateLiteral(['\n Corrupted download\n\n Expected downloaded file to have checksum: ', '\n Computed checksum: ', '\n\n Expected downloaded file to have size: ', '\n Computed size: ', '\n '], ['\n Corrupted download\n\n Expected downloaded file to have checksum: ', '\n Computed checksum: ', '\n\n Expected downloaded file to have size: ', '\n Computed size: ', '\n ']),
7
5
  _templateObject3 = _taggedTemplateLiteral(['\n Corrupted download\n\n Expected downloaded file to have checksum: ', '\n Computed checksum: ', '\n '], ['\n Corrupted download\n\n Expected downloaded file to have checksum: ', '\n Computed checksum: ', '\n ']),
@@ -33,6 +31,10 @@ var util = require('../util');
33
31
 
34
32
  var defaultBaseUrl = 'https://download.cypress.io/';
35
33
 
34
+ var getProxyUrl = function getProxyUrl() {
35
+ return process.env.HTTPS_PROXY || process.env.https_proxy || process.env.npm_config_https_proxy || process.env.HTTP_PROXY || process.env.http_proxy || process.env.npm_config_proxy || null;
36
+ };
37
+
36
38
  var getRealOsArch = function getRealOsArch() {
37
39
  // os.arch() returns the arch for which this node was compiled
38
40
  // we want the operating system's arch instead: x64 or x86
@@ -165,13 +167,19 @@ var downloadFromUrl = function downloadFromUrl(_ref) {
165
167
  progress = _ref.progress;
166
168
 
167
169
  return new Promise(function (resolve, reject) {
168
- debug('Downloading from', url);
169
- debug('Saving file to', downloadDestination);
170
+ var proxy = getProxyUrl();
171
+
172
+ debug('Downloading package', {
173
+ url: url,
174
+ proxy: proxy,
175
+ downloadDestination: downloadDestination
176
+ });
170
177
 
171
178
  var redirectVersion = void 0;
172
179
 
173
180
  var req = request({
174
181
  url: url,
182
+ proxy: proxy,
175
183
  followRedirect: function followRedirect(response) {
176
184
  var version = response.headers['x-version'];
177
185
 
@@ -201,6 +209,7 @@ var downloadFromUrl = function downloadFromUrl(_ref) {
201
209
  // these custom headers "x-amz-meta-..."
202
210
  // see https://github.com/cypress-io/cypress/pull/4092
203
211
  expectedSize = response.headers['x-amz-meta-size'] || response.headers['content-length'];
212
+
204
213
  expectedChecksum = response.headers['x-amz-meta-checksum'];
205
214
 
206
215
  if (expectedChecksum) {
@@ -254,13 +263,14 @@ var downloadFromUrl = function downloadFromUrl(_ref) {
254
263
  * @param [string] version Could be "3.3.0" or full URL
255
264
  * @param [string] downloadDestination Local filename to save as
256
265
  */
257
- var start = function start(_ref2) {
258
- var version = _ref2.version,
259
- downloadDestination = _ref2.downloadDestination,
260
- progress = _ref2.progress;
266
+ var start = function start(opts) {
267
+ var version = opts.version,
268
+ downloadDestination = opts.downloadDestination,
269
+ progress = opts.progress;
270
+
261
271
 
262
272
  if (!downloadDestination) {
263
- la(is.unemptyString(downloadDestination), 'missing download dir', _arguments);
273
+ la(is.unemptyString(downloadDestination), 'missing download dir', opts);
264
274
  }
265
275
 
266
276
  if (!progress) {
@@ -287,5 +297,6 @@ var start = function start(_ref2) {
287
297
 
288
298
  module.exports = {
289
299
  start: start,
290
- getUrl: getUrl
300
+ getUrl: getUrl,
301
+ getProxyUrl: getProxyUrl
291
302
  };
@@ -154,6 +154,7 @@ var start = function start() {
154
154
  if (envVarVersion === '0') {
155
155
  debug('environment variable CYPRESS_INSTALL_BINARY = 0, skipping install');
156
156
  logger.log(stripIndent(_templateObject3, chalk.yellow('Note:')));
157
+
157
158
  logger.log();
158
159
 
159
160
  return Promise.resolve();
@@ -172,6 +173,7 @@ var start = function start() {
172
173
  var envCache = util.getEnv('CYPRESS_CACHE_FOLDER');
173
174
 
174
175
  logger.log(stripIndent(_templateObject4, chalk.yellow('Note:'), chalk.cyan(envCache)));
176
+
175
177
  logger.log();
176
178
  }
177
179
 
@@ -195,6 +197,7 @@ var start = function start() {
195
197
 
196
198
  logger.log();
197
199
  logger.log(stripIndent(_templateObject6, chalk.green(binaryVersion), chalk.cyan(installDir)));
200
+
198
201
  logger.log();
199
202
 
200
203
  if (options.force) {
@@ -221,6 +224,7 @@ var start = function start() {
221
224
 
222
225
  if (needVersion !== pkgVersion) {
223
226
  logger.log(chalk.yellow(stripIndent(_templateObject7, logSymbols.warning, chalk.green(pkgVersion), chalk.green(needVersion))));
227
+
224
228
  logger.log();
225
229
  }
226
230
 
@@ -30,6 +30,8 @@ var logger = require('../logger');
30
30
  var xvfb = require('../exec/xvfb');
31
31
  var state = require('./state');
32
32
 
33
+ var VERIFY_TEST_RUNNER_TIMEOUT_MS = 30000;
34
+
33
35
  var checkExecutable = function checkExecutable(binaryDir) {
34
36
  var executable = state.getPathToExecutable(binaryDir);
35
37
 
@@ -98,6 +100,7 @@ var runSmokeTest = function runSmokeTest(binaryDir, options) {
98
100
  debug('running smoke test');
99
101
  debug('using Cypress executable %s', executable);
100
102
  debug('smoke test command:', smokeTestCommand);
103
+ debug('smoke test timeout %d ms', options.smokeTestTimeout);
101
104
 
102
105
  var env = _.extend({}, process.env, {
103
106
  ELECTRON_ENABLE_LOGGING: true
@@ -224,7 +227,7 @@ var start = function start() {
224
227
  dev: false,
225
228
  force: false,
226
229
  welcomeMessage: true,
227
- smokeTestTimeout: 10000
230
+ smokeTestTimeout: VERIFY_TEST_RUNNER_TIMEOUT_MS
228
231
  });
229
232
 
230
233
  if (options.dev) {
@@ -236,6 +239,7 @@ var start = function start() {
236
239
 
237
240
  debug('CYPRESS_RUN_BINARY exists, =', envBinaryPath);
238
241
  logger.log(stripIndent(_templateObject3, chalk.yellow('Note:'), chalk.white('CYPRESS_RUN_BINARY='), chalk.cyan(envBinaryPath)));
242
+
239
243
  logger.log();
240
244
 
241
245
  return util.isExecutableAsync(envBinaryPath).then(function (isExecutable) {
@@ -300,5 +304,6 @@ var start = function start() {
300
304
  };
301
305
 
302
306
  module.exports = {
303
- start: start
307
+ start: start,
308
+ VERIFY_TEST_RUNNER_TIMEOUT_MS: VERIFY_TEST_RUNNER_TIMEOUT_MS
304
309
  };
package/lib/util.js CHANGED
@@ -109,6 +109,7 @@ var logBrokenGtkDisplayWarning = function logBrokenGtkDisplayWarning() {
109
109
 
110
110
  // if we get this error, we are on Linux and DISPLAY is set
111
111
  logger.warn(stripIndent(_templateObject, logSymbols.warning, process.env.DISPLAY));
112
+
112
113
  logger.warn();
113
114
  };
114
115
 
package/package.json CHANGED
@@ -1,18 +1,11 @@
1
1
  {
2
2
  "name": "cypress",
3
- "version": "3.4.0",
3
+ "version": "3.4.1",
4
4
  "main": "index.js",
5
- "bin": {
6
- "cypress": "bin/cypress"
7
- },
8
- "engines": {
9
- "node": ">=4.0.0"
10
- },
11
5
  "scripts": {
12
6
  "postinstall": "node index.js --exec install",
13
7
  "size": "t=\"$(npm pack .)\"; wc -c \"${t}\"; tar tvf \"${t}\"; rm \"${t}\";"
14
8
  },
15
- "types": "types",
16
9
  "dependencies": {
17
10
  "@cypress/listr-verbose-renderer": "0.4.1",
18
11
  "@cypress/xvfb": "1.2.4",
@@ -29,12 +22,11 @@
29
22
  "extract-zip": "1.6.7",
30
23
  "fs-extra": "5.0.0",
31
24
  "getos": "3.1.1",
32
- "glob": "7.1.3",
33
25
  "is-ci": "1.2.1",
34
26
  "is-installed-globally": "0.1.0",
35
27
  "lazy-ass": "1.6.0",
36
28
  "listr": "0.12.0",
37
- "lodash": "4.17.11",
29
+ "lodash": "4.17.15",
38
30
  "log-symbols": "2.2.0",
39
31
  "minimist": "1.2.0",
40
32
  "moment": "2.24.0",
@@ -52,6 +44,13 @@
52
44
  "index.js",
53
45
  "types/**/*.d.ts"
54
46
  ],
47
+ "bin": {
48
+ "cypress": "bin/cypress"
49
+ },
50
+ "engines": {
51
+ "node": ">=4.0.0"
52
+ },
53
+ "types": "types",
55
54
  "description": "Cypress.io end to end testing tool",
56
55
  "author": "Brian Mann",
57
56
  "homepage": "https://github.com/cypress-io/cypress",
@@ -64,18 +63,18 @@
64
63
  "url": "https://github.com/cypress-io/cypress.git"
65
64
  },
66
65
  "keywords": [
66
+ "automation",
67
67
  "browser",
68
68
  "cypress",
69
69
  "cypress.io",
70
- "automation",
71
- "end-to-end",
72
70
  "e2e",
71
+ "end-to-end",
73
72
  "integration",
74
73
  "mocks",
75
- "test",
76
- "testing",
77
74
  "runner",
78
75
  "spies",
79
- "stubs"
76
+ "stubs",
77
+ "test",
78
+ "testing"
80
79
  ]
81
80
  }
@@ -0,0 +1,51 @@
1
+ {
2
+ "_from": "@types/blob-util@1.3.3",
3
+ "_id": "@types/blob-util@1.3.3",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-4ahcL/QDnpjWA2Qs16ZMQif7HjGP2cw3AGjHabybjw7Vm1EKu+cfQN1D78BaZbS1WJNa1opSMF5HNMztx7lR0w==",
6
+ "_location": "/@types/blob-util",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "version",
10
+ "registry": true,
11
+ "raw": "@types/blob-util@1.3.3",
12
+ "name": "@types/blob-util",
13
+ "escapedName": "@types%2fblob-util",
14
+ "scope": "@types",
15
+ "rawSpec": "1.3.3",
16
+ "saveSpec": null,
17
+ "fetchSpec": "1.3.3"
18
+ },
19
+ "_requiredBy": [
20
+ "#DEV:/"
21
+ ],
22
+ "_resolved": "https://registry.npmjs.org/@types/blob-util/-/blob-util-1.3.3.tgz",
23
+ "_shasum": "adba644ae34f88e1dd9a5864c66ad651caaf628a",
24
+ "_spec": "@types/blob-util@1.3.3",
25
+ "_where": "/root/cypress/cli",
26
+ "bugs": {
27
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
28
+ },
29
+ "bundleDependencies": false,
30
+ "contributors": [
31
+ {
32
+ "name": "Max Battcher",
33
+ "url": "https://github.com/WorldMaker"
34
+ }
35
+ ],
36
+ "dependencies": {},
37
+ "deprecated": false,
38
+ "description": "TypeScript definitions for blob-util",
39
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme",
40
+ "license": "MIT",
41
+ "main": "",
42
+ "name": "@types/blob-util",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git"
46
+ },
47
+ "scripts": {},
48
+ "typeScriptVersion": "2.1",
49
+ "typesPublisherContentHash": "251d66da417b64481e7f82fee1849478af0caa6fce0b1feee2146884d2dc9c98",
50
+ "version": "1.3.3"
51
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "_from": "@types/bluebird@3.5.18",
3
+ "_id": "@types/bluebird@3.5.18",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-OTPWHmsyW18BhrnG5x8F7PzeZ2nFxmHGb42bZn79P9hl+GI5cMzyPgQTwNjbem0lJhoru/8vtjAFCUOu3+gE2w==",
6
+ "_location": "/@types/bluebird",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "version",
10
+ "registry": true,
11
+ "raw": "@types/bluebird@3.5.18",
12
+ "name": "@types/bluebird",
13
+ "escapedName": "@types%2fbluebird",
14
+ "scope": "@types",
15
+ "rawSpec": "3.5.18",
16
+ "saveSpec": null,
17
+ "fetchSpec": "3.5.18"
18
+ },
19
+ "_requiredBy": [
20
+ "#DEV:/"
21
+ ],
22
+ "_resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.18.tgz",
23
+ "_shasum": "6a60435d4663e290f3709898a4f75014f279c4d6",
24
+ "_spec": "@types/bluebird@3.5.18",
25
+ "_where": "/root/cypress/cli",
26
+ "bugs": {
27
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
28
+ },
29
+ "bundleDependencies": false,
30
+ "contributors": [
31
+ {
32
+ "name": "Leonard Hecker",
33
+ "url": "https://github.com/lhecker"
34
+ }
35
+ ],
36
+ "dependencies": {},
37
+ "deprecated": false,
38
+ "description": "TypeScript definitions for bluebird",
39
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme",
40
+ "license": "MIT",
41
+ "main": "",
42
+ "name": "@types/bluebird",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git"
46
+ },
47
+ "scripts": {},
48
+ "typeScriptVersion": "2.3",
49
+ "typesPublisherContentHash": "c9b100367d31f8bd36031e55737d6ffde1a9b85dac3df3693f8f684f914c94cb",
50
+ "version": "3.5.18"
51
+ }
@@ -0,0 +1,81 @@
1
+ {
2
+ "_from": "@types/chai@4.0.8",
3
+ "_id": "@types/chai@4.0.8",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-m812CONwdZn/dMzkIJEY0yAs4apyTkTORgfB2UsMOxgkUbC205AHnm4T8I0I5gPg9MHrFc1dJ35iS75c0CJkjg==",
6
+ "_location": "/@types/chai",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "version",
10
+ "registry": true,
11
+ "raw": "@types/chai@4.0.8",
12
+ "name": "@types/chai",
13
+ "escapedName": "@types%2fchai",
14
+ "scope": "@types",
15
+ "rawSpec": "4.0.8",
16
+ "saveSpec": null,
17
+ "fetchSpec": "4.0.8"
18
+ },
19
+ "_requiredBy": [
20
+ "#DEV:/",
21
+ "/@types/chai-jquery",
22
+ "/@types/sinon-chai"
23
+ ],
24
+ "_resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.0.8.tgz",
25
+ "_shasum": "d27600e9ba2f371e08695d90a0fe0408d89c7be7",
26
+ "_spec": "@types/chai@4.0.8",
27
+ "_where": "/root/cypress/cli",
28
+ "bugs": {
29
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
30
+ },
31
+ "bundleDependencies": false,
32
+ "contributors": [
33
+ {
34
+ "name": "Jed Mao",
35
+ "url": "https://github.com/jedmao"
36
+ },
37
+ {
38
+ "name": "Bart van der Schoor",
39
+ "url": "https://github.com/Bartvds"
40
+ },
41
+ {
42
+ "name": "Andrew Brown",
43
+ "url": "https://github.com/AGBrown"
44
+ },
45
+ {
46
+ "name": "Olivier Chevet",
47
+ "url": "https://github.com/olivr70"
48
+ },
49
+ {
50
+ "name": "Matt Wistrand",
51
+ "url": "https://github.com/mwistrand"
52
+ },
53
+ {
54
+ "name": "Josh Goldberg",
55
+ "url": "https://github.com/joshuakgoldberg"
56
+ },
57
+ {
58
+ "name": "Shaun Luttin",
59
+ "url": "https://github.com/shaunluttin"
60
+ },
61
+ {
62
+ "name": "Gintautas Miselis",
63
+ "url": "https://github.com/Naktibalda"
64
+ }
65
+ ],
66
+ "dependencies": {},
67
+ "deprecated": false,
68
+ "description": "TypeScript definitions for chai",
69
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme",
70
+ "license": "MIT",
71
+ "main": "",
72
+ "name": "@types/chai",
73
+ "repository": {
74
+ "type": "git",
75
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git"
76
+ },
77
+ "scripts": {},
78
+ "typeScriptVersion": "2.0",
79
+ "typesPublisherContentHash": "1c89ea9e229c46de0cd9fc9a48b4ce18c27a3bab9d443d01bec054b1126ede4a",
80
+ "version": "4.0.8"
81
+ }