Ben Newman
e85c69680d
Combine all isopackets to share transitive dependencies. ( #9168 )
...
By my calculations, the sum of the sizes of the individual isopackets was
152MB, and the size of the combined isopacket is now just 36MB. That
remarkable difference goes to show how much duplication of transitive
dependencies was happening before this change.
That's a savings of 116MB for the (uncompressed) size of the meteor-tool
package. In Meteor 1.5.x, the meteor-tool package is about 544MB, but in
Meteor 1.6 it's considerably smaller: 373MB. In other words, this change
should reduce those sizes to 428MB (-21%) and 257MB (-31%), respectively.
2017-10-02 13:41:39 -04:00
Jesse Rosenberger
5626ad7dee
JUnit support for meteor self-test test runner. ( #9014 )
2017-08-16 11:21:07 -04:00
Jesse Rosenberger
6a913ef251
(cleanup) Remove spaces between imports, which are fairly random.
2017-08-07 18:55:36 +03:00
Jesse Rosenberger
6e16ba901e
(ecmascript) Replace underscore with native ECMAScript methods.
2017-08-07 18:55:02 +03:00
Jesse Rosenberger
769ca736eb
(ecmascript) Imports: utils.{randomPort,randomToken,sleepMs,timeoutScaleFactor}.
2017-08-07 18:53:32 +03:00
Jesse Rosenberger
22e63b6d14
Use execFileSync from processes.js, not utils.js.
...
Confusingly, we are using two different `execFileSync`s in self-test, seemingly
for no particular reason.
2017-08-07 18:53:31 +03:00
Jesse Rosenberger
2a7be19728
(ecmascript) Imports: files.
...
Just use the entire `files` import rather than selectively importing specific
methods since it has so many methods used.
2017-08-07 18:53:30 +03:00
Jesse Rosenberger
43644412b5
(ecmascript) Imports: child_process.{spawn,execFile}.
2017-08-07 18:53:30 +03:00
Jesse Rosenberger
b1bed468a4
Just use processes' execFileSync directly, not via self-test re-export.
2017-08-07 18:53:22 +03:00
Jesse Rosenberger
7d96bf38ce
(ecmascript) Change var to const or let as appropriate.
2017-08-07 18:52:04 +03:00
Jesse Rosenberger
762b86dc84
(cleanup) Remove unused Future symbol.
2017-08-07 18:51:08 +03:00
Jesse Rosenberger
55877e8fda
Add missing semicolon.
2017-08-07 18:51:07 +03:00
Jesse Rosenberger
f8512af522
(ecmascript) Change functions to arrow functions, and self => this.
...
There were not any functions which were using `this` in self-test - all were
using `self`.
2017-08-07 18:50:55 +03:00
Jesse Rosenberger
4c81df6f28
(ecmascript) Change remaining top-level requires to imports.
2017-08-07 18:46:11 +03:00
Jesse Rosenberger
db47c78f54
(ecmascript) Imports: allUpgraders.
2017-08-07 18:45:10 +03:00
Jesse Rosenberger
7c2fc97a5a
(ecmascript) Imports: release.current => releaseCurrent.
2017-08-07 18:45:09 +03:00
Jesse Rosenberger
ac7b2399d2
(ecmascript) Imports: PackageMap class.
2017-08-07 18:45:08 +03:00
Jesse Rosenberger
cd9d2cf924
(ecmascript) Imports: isopackets.load.
2017-08-07 18:45:07 +03:00
Jesse Rosenberger
d70cdece80
(ecmascript) Imports: DEFAULT_TRACK catalog constant.
2017-08-07 18:45:06 +03:00
Jesse Rosenberger
c7826b9f64
(ecmascript) Imports: FinishedUpgraders class.
2017-08-07 18:45:06 +03:00
Jesse Rosenberger
4b3954ccf0
(ecmascript) Imports: IsopackCache class.
2017-08-07 18:45:05 +03:00
Jesse Rosenberger
4e3e4ffa00
(ecmascript) Imports: httpHelpers.getUrlWithResuming.
2017-08-07 18:45:04 +03:00
Jesse Rosenberger
10e8d7d08d
(ecmascript) Imports: config.{getPackagesDirectoryName,getPackageStorage}.
...
This ALSO changes `config.js` to use ECMAScript `exports` and removed its unused
`underscore` `require`-ment.
2017-08-07 18:45:03 +03:00
Jesse Rosenberger
f0163cf3da
(ecmascript) Imports: Builder class.
2017-08-07 18:45:02 +03:00
Jesse Rosenberger
f0bb97c766
(ecmascript) Imports: RemoteCatalog.
2017-08-07 18:45:01 +03:00
Jesse Rosenberger
5960082ed8
(ecmascript) Imports: parseStack.{markBottom, markTop, parse}.
2017-08-07 18:45:00 +03:00
Jesse Rosenberger
b04b32ee3b
(ecmascript) Imports: fiberHelpers.makeFulfillablePromise.
2017-08-07 18:44:59 +03:00
Jesse Rosenberger
58200df805
(ecmascript) Imports: buildmessage.{enterJob, capture}.
2017-08-07 18:44:55 +03:00
Jesse Rosenberger
256bb495e2
(ecmascript) Imports: Troposphere.
2017-08-07 18:44:24 +03:00
Jesse Rosenberger
1ae0a53f93
(ecmascript) Imports: archinfo.{host}.
2017-08-07 18:44:24 +03:00
Jesse Rosenberger
174eb18700
(ecmascript) Imports: Console.
2017-08-07 18:44:23 +03:00
Jesse Rosenberger
436f627fa2
(cleanup) Remove imported and unused util symbol.
2017-08-07 18:44:22 +03:00
Jesse Rosenberger
9ada9b80de
(ecmascript) Change modules.exports to ES6 exports.
2017-08-07 18:44:18 +03:00
Jesse Rosenberger
e91d5b66f4
(ecmascript) Change Run to a class.
2017-08-07 18:43:11 +03:00
Jesse Rosenberger
23b6c78b2f
When an instantiated Test is cloned, it should maintain its prototype.
2017-08-07 18:43:10 +03:00
Jesse Rosenberger
bb1735241a
(ecmascript) Change Test to a class.
2017-08-07 18:43:09 +03:00
Jesse Rosenberger
b101df54d2
(ecmascript) Change TestList to a class.
2017-08-07 18:43:08 +03:00
Jesse Rosenberger
1a3afbb8dd
(ecmascript) Change (BrowserStack|Phantom)?Client to a class.
2017-08-07 18:43:03 +03:00
Jesse Rosenberger
1ebb3e00e2
(ecmascript) Change Sandbox to a class.
2017-08-07 18:40:03 +03:00
Jesse Rosenberger
45a73ccf13
(ecmascript) Change OutputLog to a class.
2017-08-07 18:40:02 +03:00
Jesse Rosenberger
363d16f5b5
(ecmascript) Change Matcher to a class.
2017-08-07 18:40:01 +03:00
Jesse Rosenberger
5f3bb80c0d
(ecmascript) Change TestFailure to a class.
2017-08-07 18:40:00 +03:00
Ben Newman
cf3c8270c6
Display PhantomJS stderr after tests finish, if not empty string.
2017-06-26 15:29:25 -04:00
Ben Newman
82626d59b3
Re-run individual tests to avoid re-running the whole suite.
...
To deal with individual flaky tests, we often just re-run the entire test
suite, which feels like an enormous waste of shared computing resources.
This change automatically re-runs individual failed tests as many as two
more times, and considers the test successful if any of those attempts
succeeds.
cc @abernix @hwillson et al.
2017-05-21 12:09:34 -04:00
Ben Newman
643a9f12da
Move default npm deps install function into own module.
...
This extraction was necessary because importing tools/cli/commands.js is
not entirely side-effect-free, and was interfering with older tests.
2016-11-02 15:38:39 -04:00
Ben Newman
6dcd8b78f2
Run installDefaultNpmDeps whenever creating self-test apps.
...
Some tests disable the --prepare-app step, but still need babel-runtime
to be installed.
2016-11-02 12:05:33 -04:00
Ben Newman
51819a6cb3
Implement Run#matchBeforeExit(pattern) for order-insensitive matching.
2016-11-01 18:23:35 -04:00
Ben Newman
1d6fb36547
Include packages/non-core/*/packages/ in self-test search.
2016-09-09 17:30:54 -04:00
Ben Newman
c6a54546c2
Avoid hard-coding packages/non-core/blaze in tools code.
...
Now that the blaze submodule is mounted inside the packages/non-core/
directory, it appears that we no longer have to mention it explicitly in
the localPackageSearchDirs array.
2016-09-09 12:12:43 -04:00
Ben Newman
9001b75f44
Move packages-for-isopackets/blaze to packages/non-core/blaze.
2016-09-09 11:17:43 -04:00