51 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| #!/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.');
 | |
| }
 |