…so that we can write unit tests for code in the main process. Below a
list of conventions we'll be adopting:
1. Use mocha as the test framework.
2. Use chai as the assertion library.
3. Name specs `foo-bar.spec.js`, to prevent the renderer process from
running specs written fro the main process e.g. when calling
`atom --test spec`.
4. Write specs in ES6.
Although somewhat inconsistent with the conventions we use for renderer
process specs, this will hopefully be a first step towards migrating our
entire Jasmine 1.3 test suite to a more modern environment.
* Remove Windows/Linux run-specs code. There is little value in keeping those
code paths, given that we don't run specs on those platforms; if we ever need
it again, we can restore it from the git history.
* Use ELECTRON_ENABLE_LOGGING=true. This allows us to capture the output of
calls to `console.warn` and `console.log`, which are useful to log out Grim
deprecations.
* Remove `logDeprecations` in build/spec-task.coffee. This method used to format the output captured on stderr to strip out "[Console]" noise from deprecations.
This code path was not running anymore because we started using stdio:
'inherit' in #10838, which prevents stderr output to be captured. This doesn't
seem a huge deal, so long as those deprecations get logged to screen.
This archive is created on an Ubuntu 64 bits machine, publish it if present
in the assets. The version contains the channel name, so don't append
channel name to it.
This archive in tar.gz format contains the whole Atom binary and resources
to enable multiple channels and versions to be installed on the same
distribution.
This is to ensure successful database connection. Since core specs and
package specs are run at the same time and both open an indexedDB
connection, there were occasional core spec failures due to failed
database connection.