Fixes#3730.
Testing Done:
Manual testing based on the report in #3730. Also confirmed that `</script>` is not a problem.
I would have added a test-packages test but there's no easy way to override Meteor.settings in test-packages.
Bugs closed: 3730
Reviewed at https://rbcommons.com/s/meteor/r/1/
Our PR landed in 4.1.0, so we no longer need a fork.
Hopefully, the runas-related bug which causes dev bundle builds to
sometimes fail (which is why we moved the install to its own step) is
fixed with the newer version of runas used by pathwatcher now.
Note that we were previous using a fork with an early version of our PR,
which put the numeric errno on 'code'. The accepted version of the PR
puts the numeric errno on 'errno' (and in Node 0.12, puts a string on
'code').
These don't work on Windows because of a Node bug that is fixed in a
newer release. These tests aren't super necessary anyway, so it's
better to comment the empty string ones to let the real ones run
These tests are intended to guard against accidentally working with files
that have colons when on Mac/Linux, and then those packages not working on
Windows. There's nothing to test about the other direction.
Now it reads the value from catalog.DEFAULT_TRACK, which is both more
correct and necessary for the current "preview" state of Windows.
Fixed the following self-tests on Windows:
- run: update during run
- releases: springboard
Unfortunately, the autoupdate self-test still fails, maybe due to a real
bug?
When we try to kill old running versions of mongod, then we may have to
resort to killing the process without it having an opportunity to close
gracefully, so we need to also delete the lock file if we want to be able
to start mongod again.
This is made especially worse on Windows, where `process.kill` always
kills a process non-gracefully.
Should fix https://github.com/meteor/windows-preview/issues/34, and some
self-test failures.
Since this file ends up getting copied into the server bundle, along with
files like boot.js, it makes sense to keep it with those files.
Renamed tools/shell/client.js to tools/shell-client.js for symmetry.
Note that shell/server.js is copied into the bundle as shell-server.js,
like before, however now it contains none of the extraneous code that
belongs in shell/client.js.
The original reason server and client code were combined in a single file
was to share helper functions and configuration variables (e.g.
getInfoFile and EXITING_MESSAGE). Now, shell/client.js requires
shell/server.js to access those shared exports.
Previously, if a random exception was thrown in a self-test test (as
opposed to a specific TestFailure), it would crash the whole process and
not run any more tests. That's silly. It should just be a test
failure!