Commit Graph

1272 Commits

Author SHA1 Message Date
Hugh Willson
540dc00230 Add a self-test skip option (#9579)
* Add a self-test skip option

Meteor's CI infrastructure is configured to exclude certain
`self-test`'s on each run. These excludes are specified in
each CI environment's config file, and included when running
`meteor self-test`. Developers running `meteor self-test`
locally however are not using these excludes by default,
so developer's have to manually look up the current exclude
list from one of the CI configs, then add these excludes to
their own `meteor self-test` call manually.

This commit adds a new `skip` option to Meteor's `self-test`
system, that can be used to skip adding/running a defined
`self-test` (similar in concept to Mocha's `skip` feature).
This provides a way to skip the running of older
`self-test`'s that are no longer needed, but allows them to
be preserved in the `self-test` suite, for future reference.
With this functionality in place, and the older test suites
updated to use it, Meteor's base CI excludes no longer need
to be maintained in their respective config files. The
excludes are all managed at the source (the test definition),
and can be leveraged by anyone/anything calling
`meteor self-test`.

* Log message describing skipped test

* Add manually-ignored count to self-test summary

* Small comment correction

* History.md entry with PR link
2018-01-29 14:25:09 +02:00
Ben Newman
37bda86cce Update dynamic-import test app to Meteor 1.6.1. 2018-01-20 17:19:04 -05:00
Ben Newman
4e21be3945 Update modules test app to Meteor 1.6.1. 2018-01-20 17:16:35 -05:00
Ben Newman
6ae14731a2 Avoid hiding errors due to missing dependencies of custom Babel plugins.
As illustrated by #9554, if a custom .babelrc plugin such as
@babel/plugin-proposal-optional-chaining imports a missing dependency such
as @babel/core, that failure causes inputFile.require to throw an
exception that looks a lot like @babel/plugin-proposal-optional-chaining
itself is missing, which can be confusing.

This change does not fix the underlying problem (the @babel/core package
still needs to be installed), but it does expose the exception so that the
developer can do something about it, rather than merely leaving the ?.
syntax uncompiled.

Here's the offending line of code:
47ce7e71c9/packages/babel-plugin-proposal-optional-chaining/src/index.js (L2)

Unfortunately, depending directly on @babel/core seems to be the policy
for Babel plugins, per this PR: https://github.com/babel/babel/pull/6778
2018-01-19 18:19:31 -05:00
Ben Newman
bf7821809b Increase exit timeout of dynamic-import test to fix AppVeyor CI. 2018-01-18 21:57:26 -05:00
Ben Newman
66e2c5f894 Revert "Mark JS hot-code-push test "slow" so CircleCI will skip it."
This reverts commit 5ae7a0954d.
2018-01-16 20:24:53 -05:00
Ben Newman
e46a08daaf Fix meteor bundle-related self-tests. 2018-01-16 19:46:50 -05:00
Ben Newman
76ea47e4f7 Fix "constraint solver benchmark" self-test. 2018-01-16 18:56:04 -05:00
Ben Newman
bdfdd71c02 Fix ddp-heartbeat self-test. 2018-01-16 18:56:04 -05:00
Ben Newman
b7567232e4 Merge branch 'devel' into release-1.6.1 2018-01-14 16:13:40 -05:00
Ben Newman
697a918dc3 Fix tests for now-deprecated stylus package.
The last version of stylus published did not contain a version of the
caching-compiler package that these tests now depend on, so I've removed
the extra architecture matching for the stylus package (not for less).
2018-01-14 16:09:54 -05:00
Ben Newman
5d22e1d25f Fix/strengthen "compiler plugins caching" self-tests.
To fix #9528, we included more information (the target architecture) in
cache keys for files compiled by CachedCoffeeScriptCompiler. Although this
change was right and necessary, it altered the caching behavior tested by
this self-test. Specifically, .coffee files must now be recompiled for the
os.* architecture, whereas previously code compiled for web.browser could
be accidentally reused on the server.
2018-01-14 16:09:49 -05:00
Ben Newman
d9553a8243 Reenable cordova-builds self-test, which would have caught #9521.
Self-tests that are marked as "slow" are not run automatically for pull
requests, but they should be run before a release.

It was a mistake to publish the first Meteor 1.6.1 release candidate
without running these "slow" tests, as the cordova-builds test would have
caught the problem reported by @macrozone in #9521.

I've decided to remove the "slow" marker from this test, since it's
important for checking Cordova sanity, and clearly could fail.
2018-01-11 11:57:31 -05:00
Ben Newman
b35ce7d168 Update meteor-babel to version 7.0.0-beta.36. 2017-12-30 14:02:58 -05:00
Ben Newman
8fe0c41091 Update various @babel/runtime version constraints to -beta.35. 2017-12-20 15:21:08 -05:00
Hugh Willson
7c48bb5a73 Prevent Tool crash when settings file contains BOM (#9459)
* Prevent Tool crash when settings file contains BOM

The use of a byte order mark in a `--settings` file
crashes the Meteor Tool, when it attempts to JSON parse
the loaded settings data. Since a BOM is not required
(or recommended) when using UTF-8, this commit removes
it from the loaded settings data, before it is parsed.

Fixes #5180.

* Add PR link to History.md

* Update History.md
2017-12-13 12:05:42 -05:00
Jesse Rosenberger
e8fad2af2d Define Sandbox clients when running versioning hot code push test.
Since this test utilizes the `testWithAllClients` technique, which runs
the tests in various clients/browsers, it's necessary for the tests
`Sandbox` to define `clients`, otherwise the function within
`testWithAllClients` will not be executed at all.  This was causing this
particular test to always return success (it was running without failure
on exactly zero clients).

Also the technique of setting `this.baseTimeout` appeared to cause
problems, likely because it overrides various other values instead of
using `waitSecs` (we don't use the `baseTimeout` technique in other
places within self-tests either).

Discovered during testing, as mentioned in
https://github.com/meteor/meteor/pull/9439#pullrequestreview-83139232.
2017-12-13 16:07:59 +02:00
Ben Newman
b16a61c98b Fix #9235 by bundling package.json stubs even if "main" absent. 2017-12-12 15:45:02 -05:00
Ben Newman
b343ec8568 Fix #9305 by including default when mirroring module exports.
This functionality was added in reify@0.13.3:
10c90cd0a2

The changes to modules-test-plugin/plugin.js cause files like array.arson
to mirror array.arson.js, which exercises module.makeNsSetter(true) and
relies on default exports.
2017-12-12 13:31:28 -05:00
Ben Newman
c28440ab81 Fix warnings about missing @-scoped npm packages. 2017-12-12 13:30:59 -05:00
Ben Newman
162f458306 Merge pull request #9440 from meteor/babel-7-with-builtins
Update the babel-compiler package use to Babel 7, like the command-line tool.
2017-12-05 10:57:31 -05:00
David Brown
ed10ede29d Fix error message for invalid ROOT_URL #8026 (#9261) 2017-12-05 10:14:28 -05:00
Ben Newman
baf889695a Use Babel 7 to compile package and application code, too. 2017-12-05 09:52:54 -05:00
Ben Newman
855dfe8960 Merge pull request #9406 from meteor/abernix/server-shell-underscore
Avoid clobbering global _ when running `meteor shell`.
2017-12-02 17:20:39 -05:00
Jesse Rosenberger
ba118085dc Test which ensures that the global _ isn't compromised.
As demonstrated in https://github.com/meteor/meteor/issues/9276.

This test wouldn't have caught the regression in the previous solution
since the lack of a TTY in the `self-test` test harness caused the tests
themselves to take the path through `shell-server`'s `evaluateAndExit`
logic, which didn't use the `global` scope in the same way as the
interactive shell.  That is no longer the case as of e0682c553d.
2017-11-30 19:15:25 +02:00
Edgar HIPP
16b74e5c0c Fix isNpmUrl to handle http/https urls (Closes #9236) 2017-11-22 14:44:22 -05:00
James Burgess
2547957268 Fix meteor test file matching patterns (#9339)
* Adjust test filename RegExps to match Meteor guide. Fixes #9332.
* Adjusted help text for --drive-package on meteor test.
* Add integration tests for `meteor test` eager file loading.
* Fix typo in selftest.forbid comment.
* Improve test file eager load integration test coverage and clarity.
2017-11-22 11:21:49 -05:00
Hugh Willson
8da6c84eac Update the default CSS parsing/combining/minifying tools (#9263)
* Update the default CSS parsing/combining/minifying tools

The `minifier-css` package is currently using outdated
(and abandoned) npm packages (`css-parse` and `css-stringify`),
as part of its parsing/minification process. This commit
replaces those packages with the robust, modern and maintained
`postcss` package.

* Adjust CSS source file fallback value

* Self test adjustments and cleanup

* Disable sourcesContent generation by postcss

The `standard-minifier-css` package is already associating
source content with the source map, so we don't need to
do this twice.

* Add History.md entry covering backwards compatibility details

* Bump major version due to backwards compatibility breaking changes

* Bump minor versions

* Code review changes (boolean formatting, concat to spread)
2017-11-22 11:13:54 -05:00
Hugh Willson
27ed9bc2e8 Allow scoped Cordova packages to be installed
Fixes an issue preventing the installation of scoped Cordova
packages. For example,
`meteor add cordova:@somescope/some-cordova-plugin@1.0.0`
will now work properly.

Fixes https://github.com/meteor/meteor/issues/7336.
2017-11-17 01:58:54 +02:00
Ben Newman
eb8cf102cd Update tools/tests/old/app-with-private test app. 2017-11-08 17:52:49 -05:00
Ben Newman
1cbcfb59bc Update dynamic-import test app to use React 16. 2017-11-06 15:46:33 -05:00
Ben Newman
9526ce8976 Test that object-valued package.json "browser" fields are respected.
Regression test for #6890.
2017-11-06 15:46:09 -05:00
Ben Newman
d6b8648eec Add a package-lock.json file to the dynamic-import test app. 2017-11-06 15:10:38 -05:00
Ben Newman
6ada1565aa Update dynamic-import test app to Meteor 1.6. 2017-11-06 15:10:38 -05:00
Ben Newman
234fb35174 Update modules test app to Meteor 1.6. 2017-11-06 15:09:55 -05:00
Geoffrey Booth
318d93ec0f See if the noop test driver can work here too 2017-10-31 14:00:56 -07:00
Geoffrey Booth
3cfea0c71d Use empty test driver for test that doesn't need Mocha 2017-10-31 14:00:56 -07:00
Geoffrey Booth
fbf1e9ee43 Try different Mocha test driver 2017-10-31 14:00:56 -07:00
Ben Newman
9c1745f161 Update meteor-node-stubs to 0.3.2 everywhere else. 2017-10-18 21:52:16 -04:00
Ben Newman
301c1fe616 Update modules test app to use meteor-node-stubs@0.3.2. 2017-10-18 21:52:14 -04:00
Hugh Willson
9a1f91843e Add Tool support for both 32 bit (3.2) and 64 bit (3.4) Mongo
These changes introduce dual Mongo support into the Meteor
Tool. 32-bit Mongo (3.2.15) will be used by Meteor when the
Tool is run on a 32-bit OS (32-bit Linux and Windows). 64-bit
Mongo (3.4.9) will be used when the Tool is run on a 64-bit
OS (64-bit Linux, Windows and macOS).

Fixes https://github.com/meteor/meteor-feature-requests/issues/129.
2017-10-14 13:36:29 -04:00
Ben Newman
2692f99f7a Merge branch 'devel' into release-1.6 2017-10-12 13:49:27 -04:00
Geoffrey Booth
b2ec292fd2 Update another test to reflect new extension for imported CoffeeScript files 2017-10-12 10:26:05 -04:00
Geoffrey Booth
9447caf684 Update test to reflect new extension for imported CoffeeScript files 2017-10-12 10:26:05 -04:00
Ben Newman
7315c7ea59 Regression test for #9185 (fixed by #9187). 2017-10-10 14:52:15 -04:00
Ben Newman
1a8efdc31f Merge branch 'devel' into release-1.6 2017-10-02 13:44:25 -04:00
Jesse Rosenberger
efcc6945ba Update the modules test app to Meteor 1.5.2.2. 2017-10-02 17:47:12 +03:00
Ben Newman
8ed3d333f9 Merge branch 'devel' into release-1.6 2017-09-26 12:31:40 -04:00
Ben Newman
cf45eb0f8c Update the modules test app to Meteor 1.5.2.1. 2017-09-26 12:29:04 -04:00
Ben Newman
cc47ba4a6f Update dynamic-import test app to Meteor 1.5.2.1. 2017-09-25 20:24:49 -04:00