| #!/usr/bin/env node |
| require('../global'); |
| |
| var path = require('path'); |
| |
| var failed = false; |
| |
| // |
| // Lint |
| // |
| JSHINT_BIN = './node_modules/jshint/bin/jshint'; |
| cd(__dirname + '/..'); |
| |
| if (!test('-f', JSHINT_BIN)) { |
| echo('JSHint not found. Run `npm install` in the root dir first.'); |
| exit(1); |
| } |
| |
| if (exec(JSHINT_BIN + ' *.js test/*.js').code !== 0) { |
| failed = true; |
| echo('*** JSHINT FAILED! (return code != 0)'); |
| echo(); |
| } else { |
| echo('All JSHint tests passed'); |
| echo(); |
| } |
| |
| // |
| // Unit tests |
| // |
| cd(__dirname + '/../test'); |
| ls('*.js').forEach(function(file) { |
| echo('Running test:', file); |
| if (exec('node ' + file).code !== 123) { // 123 avoids false positives (e.g. premature exit) |
| failed = true; |
| echo('*** TEST FAILED! (missing exit code "123")'); |
| echo(); |
| } |
| }); |
| |
| if (failed) { |
| echo(); |
| echo('*******************************************************'); |
| echo('WARNING: Some tests did not pass!'); |
| echo('*******************************************************'); |
| exit(1); |
| } else { |
| echo(); |
| echo('All tests passed.'); |
| } |