backbone-http
Version:
An HTTP interface for BackboneORM
29 lines (23 loc) • 1.07 kB
text/coffeescript
path = require 'path'
_ = require 'underscore'
Queue = require 'queue-async'
Wrench = require 'wrench'
karma = require('karma').server
gutil = require 'gulp-util'
generate = require './generate'
BASE_CONFIG = require './base-config'
module.exports = (options={}, callback) ->
Wrench.rmdirSyncRecursive('./_temp', true)
Wrench.rmdirSyncRecursive('node_modules/backbone-http', true)
queue = new Queue(1)
queue.defer (callback) -> generate(options, callback)
TEST_GROUPS = require '../test_groups'
TEST_GROUPS = {browser_globals: TEST_GROUPS.browser_globals.slice(0, 1)} if options.tags.indexOf('@quick') >= 0
for name, tests of TEST_GROUPS
for test in tests
do (test) -> queue.defer (callback) ->
gutil.log "RUNNING TESTS: #{test.name}"
karma.start _.defaults({files: test.files, client: {args: ['--grep', options.tags or '']}}, BASE_CONFIG), (return_value) -> callback(new Error "Tests failed: #{return_value}" if return_value)
queue.await (err) ->
Wrench.rmdirSyncRecursive('./_temp', true) unless err
callback(err)