diff --git a/package.json b/package.json index 088d878..2ac0e00 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "license": "MIT", "devDependencies": { "is-async-supported": "^1.2.0", + "run-series": "^1.1.4", "tape": "^4.9.0" }, "browser": { diff --git a/test/node/index.js b/test/node/index.js index 470b809..a3a807f 100644 --- a/test/node/index.js +++ b/test/node/index.js @@ -1,8 +1,21 @@ -var spawn = require('child_process').spawnSync; +var spawn = require('child_process').spawn; +var path = require('path'); +var series = require('run-series'); -spawn(process.argv[0], [ require.resolve('./debug') ], { stdio: 'inherit' }); -spawn(process.argv[0], [ require.resolve('./format') ], { stdio: 'inherit' }); -spawn(process.argv[0], [ require.resolve('./inspect') ], { stdio: 'inherit' }); -spawn(process.argv[0], [ require.resolve('./log') ], { stdio: 'inherit' }); -spawn(process.argv[0], [ require.resolve('./promisify') ], { stdio: 'inherit' }); -spawn(process.argv[0], [ require.resolve('./callbackify') ], { stdio: 'inherit' }); +function test(filename) { + return function(cb) { + var proc = spawn(process.argv[0], [ filename ], { stdio: 'inherit' }); + proc.on('close', function (code) { + cb(code !== 0 ? new Error('test ' + path.basename(filename) + ' failed') : null); + }); + }; +} + +series([ + test(require.resolve('./debug')), + test(require.resolve('./format')), + test(require.resolve('./inspect')), + test(require.resolve('./log')), + test(require.resolve('./promisify')), + test(require.resolve('./callbackify')) +]);