var fs = require('fs');
var exec = require('child_process').exec;

var tests = fs.readdirSync(__dirname).filter(function(file) {
	return !fs.statSync(__dirname+'/'+file).isDirectory();
}).filter(function(file) {
	return file !== 'index.js';
});

var cnt = 0;
var all = tests.length;

var loop = function() {
	var next = tests.shift();

	if (!next) {
		console.log('\033[32m[ok]\033[39m  all ok');
		return;
	}

	exec('node '+__dirname+'/'+next, function(err) {
		cnt++;

		if (err) {
			console.error('\033[31m[err]\033[39m '+cnt+'/'+all+' - '+next);
			console.error('\n      '+(''+err.stack).split('\n').join('\n      ')+'\n');
			process.exit(1);
			return;
		} else {
			console.log('\033[32m[ok]\033[39m  '+cnt+'/'+all+' - '+next);
		}

		setTimeout(loop, 100);
	});
};

loop();