Commit Graph

48 Commits

Author SHA1 Message Date
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
Tom Coleman
edf40c430b Use isopacket packages for self-test also 2016-08-25 13:24:40 +10:00
Ben Newman
f6a52788f0 Remove BrowserStack from dev bundle. 2016-08-15 14:23:09 -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
1d5ca820df Don't swallow unexpected errors when checking for phantomjs-prebuilt. 2016-08-03 15:26:36 -04:00
Ben Newman
2de0fb59ef Make sure self-tests have a consistent runtime environment. 2016-08-03 15:25:15 -04:00
Tom Coleman
8bdbcb7199 Marginally more helpful message to install phantom for self-test 2016-06-29 08:24:58 +10:00
Ben Newman
bae5983d59 Merge branch 'devel' into release-1.3.3 2016-05-27 00:02:48 -04:00
Tom Coleman
4ae58378e9 Upped timeout for connection to fake mongo 2016-05-24 16:50:05 -07:00
Tom Coleman
289b330579 Added ability to partition tests by tag 2016-05-24 14:59:12 -07:00
Tom Coleman
724b0a890b Up self-test app create timeout to 120s #7087 2016-05-24 14:39:46 -07:00
Ben Newman
303df5351d Merge branch 'devel' into release-1.3.3 2016-05-19 18:34:20 -04:00
Tom Coleman
a600fa57bd Merge pull request #7036 from meteor/speed-up-selftest
Speed up selftest
2016-05-19 11:17:00 -07:00
Tom Coleman
4065990130 Fixed issue with not using builder properly 2016-05-19 09:25:54 -07:00
Ben Newman
6e1346a74b Remove phantomjs-prebuilt from the dev bundle.
Saves 50MB from the extracted size of the dev_bundle/lib/node_modules
directory, previously 262MB. The entire dev bundle is 332MB extracted, for
perspective.

More importantly, since the `phantomjs` binary is not very compressible,
this change reduces the *compressed* size of the dev bundle from 71MB to
54MB, a 24% savings.

Closes #6905.
2016-05-17 11:50:48 -04:00
Ben Newman
5e1d6380b5 Remove require("process") call.
This never should have worked in Node v0.10.x, but with the v0.10.45
upgrade I stopped using npm@3 to build the Mac/Linux dev bundles (see
commit 916873ffe8f8ab6e922adfa68b8b8ab9c87db90d), which means we no longer
hoist the "process" npm package to the top level of the dev bundle
(dev_bundle/lib/node_modules/process), so now we're facing the expected
consequences of this mistake.
2016-05-16 18:21:14 -04:00
Ben Newman
727624a2f7 Bump dev bundle package versions to work with newer Node versions. 2016-05-16 18:21:11 -04:00
Ben Newman
d94e7d812d Upgrade dev bundle meteor-promise to 0.7.1. 2016-05-16 18:21:11 -04:00
David Glasser
2b6b02439d destroy universe
"universe" was an old attempt to allow you to run various MDG
servers (Meteor Developer Accounts, the package server, an old version
of the Galaxy deploy server, etc) on localhost and configure the tool to
talk to it not via a bunch of environment variables but via a file
called "universe" at the root of your checkout. Nobody uses this (and
most of the URLs have environment variables for them anyway).  Simplify
the code by removing this entirely.

Also remove some more dead code, and a test that claims it only runs if
you have universe set up.
2016-05-13 15:09:03 -07:00
Tom Coleman
6ae4434e2f Symlink rather than copy the warehouse into the sandbox
Mainly because the dev bundle is so big, it took upwards on 5 mins (on my MBP w/ SSD) to copy the warehouse packages into the sandbox. AFAICT there is no reason not to symlink it if we can.
2016-05-11 16:20:50 -07:00
Tom Coleman
1344228a51 Mark the bottom of the stack everytime we start a new self test.
Because longjohn was collecting frames across runs of self test in the loop, we were actually seeing frame lists that applied to more than one test. 

This wasn't actually causing problems except in our frame parsing tests, but you can imagine that it would be quite unhelpful.
2016-05-06 15:11:32 -07:00
Tom Coleman
4056111acb Use longjohn to repair stacktraces on self-test 2016-05-05 14:42:05 -07:00
Tom Coleman
a2da8d5c54 Merge pull request #5777 from carlosbaraza/issue-5776
Fixes #5776: Test app debugger listens TOOL_NODE_FLAGS debug port + 1
2016-05-03 15:31:51 -07:00
David Glasser
d4b8f08fc7 Drop tests that rely on the legacy deploy service 2016-02-23 17:53:13 -08:00
David Glasser
7786b4ff29 Drop tests that use the test-packages server
These tests have long been flaky, and we are changing some of the
infrastructure that the test server relies on.
2016-02-23 17:53:13 -08:00
SEKE
d4da2957a9 Rename separated minifiers to singular name and use separate versions from 1.3 onwards. 2016-02-10 12:32:17 +01:00
Carlos Baraza Haro
9681084377 #5776: Allow setting of SELF_TEST_TOOL_NODE_FLAGS to debug self-test 2015-12-18 13:24:34 +01:00
Carlos Baraza Haro
b05a3c5d2e Fixes #5776: Test app debugger listens TOOL_NODE_FLAGS debug port + 1 2015-12-11 02:02:48 +01:00
Ben Newman
8f85b1a2b5 Eliminate Future from tools/selftest.js. 2015-12-09 12:06:50 -05:00
Ben Newman
ed17924940 Add braces to every if/for(-in)/while statement in tools directory. 2015-11-13 12:25:19 -05:00
Ben Newman
739d0d9676 Spot fixes for tricky add-braces cases. 2015-11-13 12:24:32 -05:00
Tom Freudenberg
8a24a1b2ba Make Script More Portable With #!/usr/bin/env 2015-11-01 22:04:10 +01:00
Sashko Stubailo
a23cc02492 Merge branch 'master' into devel
Conflicts:
	History.md
	packages/babel-compiler/.npm/package/npm-shrinkwrap.json
	packages/babel-compiler/package.js
	packages/ecmascript/package.js
	packages/sha/package.js
	tools/upgraders.js
2015-09-21 20:12:55 -04:00
Sashko Stubailo
11248f7dbc Make self test always add the newest upgraders 2015-09-11 16:32:22 -07:00
Evan You
aa9ee0e714 add --exclude option to self-test 2015-09-09 15:30:05 -04:00
ekatek
ef13ed9926 use selftest to run tests against galaxy
UX Changes:
  - Added a `--galaxy` option to selftest to run tests against galaxy.
    Self-test will NOT run those tests without this option. Self-test will not run any
    other tests WITH this option.

    The motivation here is two-fold:
     - We want to make it easy to use self-test to test Galaxy without running a bunch
       of extra tests. At least, we want this right now, while Galaxy is still in development.

     - Galaxy is currently pretty unstable&slow; we don't want to run our regular test suite against
       Galaxy all the time and slow down the tool development process. Additionally, the environment
       variables required by Galaxy are a pain to set.

    This is a TEMPORARY situation. Eventually, we will want to either merge the two tests together
    (especially once we rotate out Mother...) or we will have a separate unrelated Galaxy test suite
    and move a lot of this stuff here. With time, it will also become more obvious what a better default
    (run Galaxy tests always/run Galaxy tests never/run non-Galaxy-specific tests against Galaxy) is.

    The changes should be pretty self-contained.

 - Added some number of environment variables to use with --galaxy tests. This is a bit complicated
   and will be documented in
     https://mdg.hackpad.com/GalaxyECS-Admin-tasks-RTXJ5YW8pDv#:h=Testing-Galaxy-with-selftest.

Walkthrough:
    - galaxy-utls.js contains basic utils for running Galaxy tests. Use environment variables, etc.

    - galaxy.js contains the acutal test

    - simple-app is an app that responds to HTTP requests and serves some html that we can test to be running

    - minor changes to config.js to allow overriding of the domain name

    - minor changes to auth.js to allow us to automatically login as the (new) test user and use that
      login to start a DDP collection.

    - move a function out of deploy-settings.js into test-utils.js

    - some minor additions to test-utils.js

Reviewed in https://github.com/meteor/meteor/pull/4997.
2015-08-26 19:06:13 -07:00
Slava Kim
461ffaffd6 mvp readme for testing 2015-08-07 12:32:35 -07:00
Slava Kim
1dadcd6581 mv phantom/ tools/tool-testing/ 2015-08-06 16:44:07 -07:00
Slava Kim
3d2282d9ad fix imports for tests for tool-testing 2015-08-06 16:39:01 -07:00
Slava Kim
afee6b07c7 move catalog/ into packaging/ 2015-08-06 16:39:01 -07:00
Slava Kim
39d8aef3d9 move files into console/ tool-testing/ 2015-08-06 16:39:00 -07:00