Commit Graph

1081 Commits

Author SHA1 Message Date
Ben Newman
e3387599a2 Test lazy main modules and stray imports in modules test app. 2016-11-14 13:35:50 -05:00
Ben Newman
7abd832f75 Upgrade modules test app to Meteor 1.4.2.1. 2016-11-10 17:50:59 -05:00
Ben Newman
8f07a87bd5 Give package test modules access to Npm.depends dependencies.
Similar in spirit to bbac272530.

Fixes #7999.
2016-11-08 15:36:36 -05:00
Ben Newman
57fe26161d Use Meteor.setTimeout to re-run tryInsert function. 2016-11-03 12:18:42 -04:00
Ben Newman
f290abc72e Another attempt to make "run --once" test more reliable. 2016-11-03 11:48:02 -04:00
Ben Newman
cfc167a67b Make test more reliable by calling insert in Meteor.startup. 2016-11-02 17:25:26 -04:00
Ben Newman
e345fc2d27 Separate failing part of "run --once" test into own test. 2016-11-02 17:07:50 -04:00
Ben Newman
476d6bf7b3 Attempt to fix "run --once" test by giving Mongo a chance to exit.
This test has been failing intermittently on Circle CI.
2016-11-02 16:25:37 -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
4bf69409fa Call installDefaultNpmDeps in old bundler-assets test. 2016-11-02 15:16:30 -04:00
Ben Newman
5f0ffc5217 Remove coffeescript version constraint in modules test app. 2016-11-02 14:18:42 -04:00
Ben Newman
a90011b885 Improve meteor shell self-test. 2016-11-02 14:18:42 -04:00
Ben Newman
5dc2eaa0f7 Add babel-runtime to test app package.json files. 2016-11-02 13:32:01 -04:00
Ben Newman
6b6a71b073 Fix and improve app creation tests. 2016-11-02 12:47:01 -04:00
Ben Newman
270b5cc8ef Run meteor npm install as part of meteor create tests. 2016-11-02 12:05:33 -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
d8c0739a13 Make some matches in compiler-plugins.js test order-insensitive.
Also increased various timeouts to make tests more reliable.
2016-11-01 19:38:08 -04:00
Ben Newman
5bc9bb4982 Update modules test app to Meteor 1.4.2. 2016-10-28 16:11:29 -04:00
Ben Newman
bdee913b1b Support npm packages with native .node "main" modules.
Note that the value of the "main" property must include the ".node"
extension explicitly, because I have yet to encounter an npm package with
a native "main" module that omits the ".node" extension, and I am loathe
to start calling files.stat(id + ".node") uselessly for every single
missing module.

Fixes #7947.
2016-10-23 17:43:06 -04:00
Ben Newman
5ae7a0954d Mark JS hot-code-push test "slow" so CircleCI will skip it.
This test has been the primary source of test suite unreliability in
recent weeks. By marking it "slow" I'm effectively disabling it on
CircleCI, which I think is acceptable because (1) it is, in fact, quite
slow; (2) it passes locally on Linux; and (3) it depends on the timing of
file change notifications, which is a recipe for test flakiness due to the
general non-determinism of file watching, but not necessarily a sign of a
broken developer experience.

Like other "slow" tests, I will keep running this test locally via

  meteor self-test --slow 'javascript hot code push'

as part of the manual QA testing that we do.
2016-10-22 13:56:06 -04:00
Ben Newman
0492b21333 Attempt to fix hot-code-push test by adding additional timeout. 2016-10-22 11:59:45 -04:00
Ben Newman
35da19ab4e Avoid "The handle(...) returned by watching..." errors on Linux.
It's a shame that Pathwatcher issues this warning using console.error,
without taking any verbosity options into account:
https://github.com/atom/node-pathwatcher/blob/7ef76e5dfd/src/main.coffee#L53

Fortunately, I believe I've identified the underlying reason why this
happens, which may help resolve the following issue:
https://github.com/atom/node-pathwatcher/issues/98

If all goes well, I'll submit an upstream pull request.

I've also reinstated an old file watching test that I mistakenly removed
when I attempted to switch to chokidar instead of pathwatcher.
2016-10-21 21:14:44 -04:00
Ben Newman
ec34a4ecc6 Fix tests by making sure to close optimistic file watchers.
If a test process does not explicitly call process.exit, pathwatcher
watchers may keep it alive indefinitely (either that, or there's a bug
with the persistent:false option to fs.watchFile).

This accidental immortality can be prevented by explicitly closing all
watchers when we no longer have any interest in file change notifications.
2016-10-13 14:09:16 -04:00
Ben Newman
117b1a8525 Use chokidar for file watching instead of pathwatcher.
Healthy competition among fs.watch wrappers appears to have produced a
clear winner: https://www.npmjs.com/package/chokidar

This wrapper is better for Meteor than pathwatcher was, because it can
watch directory trees recursively, and it has no trouble watching
nonexistent file paths, whereas pathwatcher would throw an exception.
2016-10-10 14:12:51 -04:00
Ben Newman
2553958c38 Merge branch 'devel' into release-1.4.2 2016-10-07 19:30:30 -04:00
Ben Newman
dfd477568f Fix test failure by tolerating different line/column numbers. 2016-10-07 18:56:13 -04:00
Jesse Rosenberger
8c948d2ebc Test: Ensure message when platform already added
If the platform is already added, it should provide the appropriate message.
2016-10-07 14:17:11 +03:00
Jesse Rosenberger
3359d2397c Add test which verifies the Cordova dependency messages are working
Previously, the Cordova message was failing in CI.  It wasn't caught on CircleCI since they have Cordova installed by default so this path was never tested.  I found this when I ran this through Semaphore CI who does not have Cordova available by default.

This test fails without meteor/meteor#7884 and passes with it.
2016-10-07 14:16:48 +03:00
Jesse Rosenberger
932750f77d Fix redeclared var & change to let 2016-10-07 14:07:54 +03:00
Ben Newman
9608506ce5 Merge pull request #7835 from sebakerckhof/optimize-ignorefiles
Optimize ignoreFiles patterns.
2016-10-06 15:07:29 -04:00
Ben Newman
dd3fe9a264 Add additional delay to "run: run" test. 2016-09-29 16:03:18 -04:00
seke
3ea64dfe8c Fix regexp for Icon\r files 2016-09-29 17:44:27 +02:00
Ben Newman
5b2e08a80c Automatically reconfigure Mongo replication set when --port differs.
Fixes #7563.
2016-09-29 09:48:55 -04:00
Ben Newman
20a6604126 Remove pointless and exception-swallowing assert.doesNotThrow wrappers. 2016-09-29 08:51:57 -04:00
Ben Newman
f8ba1226b1 Rename test entry point module so that it isn't ignored. 2016-09-29 08:51:56 -04:00
seke
323ed8884e enhance test 2016-09-28 16:07:20 +02:00
seke
ccc55cac25 fix typo and expand test a little bit 2016-09-28 15:28:44 +02:00
seke
1fe669f9bc fix test 2016-09-28 10:35:56 +02:00
seke
b0a8e1d360 fix type in import 2016-09-28 09:56:11 +02:00
c9s
73ceed4ba3 Fix input patterns 2016-09-28 09:56:11 +02:00
c9s
a2ba3ca386 Require underscore 2016-09-28 09:56:11 +02:00
c9s
637f4b16ac Add ignore pattern test case 2016-09-28 09:56:11 +02:00
Jesse Rosenberger
cba649f709 Add Newlines to end of .gitignore files, specifically the new app skel
Even though I think the fight is a bit futile, it is considered best practice to have newlines at the end of all files.  At the request of meteor/meteor#7786, this commit adds newlines to the end of the new app skeleton `.gitignore` file.  These skel files are used when generating new meteor apps so this avoids perpetuation of this problem into futrue generations. ;)

In an effort to beef up this PR, I also took the liberty of fixing the few other Meteor files which were lacking newlines (all `.gitignore` files)

Closes meteor/meteor#7786
2016-09-26 15:32:08 +03:00
Ben Newman
9810562403 Test that one package can have both node_modules and Npm.depends. 2016-09-22 14:34:32 -04:00
Tom Coleman
74cf7b3b6e Not sure why these weird version numbers were in there
Previously didn't cause a problem because `static-html` was a core pkg
2016-08-29 11:38:45 +10:00
Ben Newman
88db65c837 Update modules test app to Meteor 1.4.1. 2016-08-18 17:31:21 -04:00
Ben Newman
61012963a5 Fix test description to say --all-packages instead of --update-all. 2016-08-17 14:53:28 -04:00
Tom Coleman
2290911723 Added meteor update --all-packages to update indirect dependencies
See #7495. Still some decisions to be made:

 - Should we make --all-packages the default?
 - How should we deal with *new* indirect dependencies?
 - Should we do anything about underpinning indirect dependencies when updating?
2016-08-17 14:53:27 -04:00
Ben Newman
3c7f83778f Move server-side component of meteor shell into a package. (#7624)
This will make it much easier to fix bugs and make improvements going
forward, since they won't have to wait for the next release of Meteor.

One functional change: when the parent process exits, it no longer forces
all connected shell clients to disconnect, which is actually a more
convenient behavior, because it gives the clients a chance to reconnect
when/if the server starts up again, and it's easy enough to kill the
clients if that's what you want.
2016-08-11 09:11:40 -04:00
Ben Newman
a1c3516053 Use pure-JavaScript implementation for npm-bcrypt package. (#7595)
According to the README, this implementation is approximately 2.7 times
slower than native: https://www.npmjs.com/package/bcryptjs

Apps that wish to continue using the native bcrypt package should run
`meteor npm install --save bcrypt` in the root application directory, and
the npm-bcrypt package will prefer that implementation.
2016-08-09 16:42:41 -04:00