 
   getAppPath = ->
     contentsDir = grunt.config.get('atom.contentsDir')
-    path.join(contentsDir, 'MacOS', 'Atom')
+    switch process.platform
+      when 'darwin'
+        path.join(contentsDir, 'MacOS', 'Atom')
+      when 'linux'
+        path.join(contentsDir, 'atom')
+      when 'win32'
+        path.join(contentsDir, 'atom.exe')
 
   runPackageSpecs = (callback) ->
     failedPackages = []

      continue unless isAtomPackage(packagePath)
      packageSpecQueue.push(packagePath)

    packageSpecQueue.concurrency = 1
    packageSpecQueue.drain = -> callback(null, failedPackages)

  runCoreSpecs = (callback) ->


_ = require 'underscore-plus'
async = require 'async'

# TODO: This should really be parallel on every platform, however:
# - On Windows, our fixtures step on each others toes.
if process.platform is 'win32'
  concurrency = 1
else
  concurrency = 2

module.exports = (grunt) ->
  {isAtomPackage, spawn} = require('./task-helpers')(grunt)
