diff --git a/test/simple/test-crypto-domains.js b/test/simple/test-crypto-domains.js index 0562fe45b0..1393f6da12 100644 --- a/test/simple/test-crypto-domains.js +++ b/test/simple/test-crypto-domains.js @@ -24,21 +24,37 @@ var domain = require('domain'); var assert = require('assert'); var d = domain.create(); var expect = ['pbkdf2', 'randomBytes', 'pseudoRandomBytes'] +var errors = 0; + +process.on('exit', function() { + assert.equal(errors, 3); +}); d.on('error', function (e) { assert.equal(e.message, expect.shift()); + errors += 1; }); d.run(function () { - crypto.pbkdf2('a', 'b', 1, 8, function () { - throw new Error('pbkdf2'); - }); - - crypto.randomBytes(4, function () { - throw new Error('randomBytes'); - }); - - crypto.pseudoRandomBytes(4, function () { - throw new Error('pseudoRandomBytes'); - }); + one(); + + function one() { + crypto.pbkdf2('a', 'b', 1, 8, function () { + two(); + throw new Error('pbkdf2'); + }); + } + + function two() { + crypto.randomBytes(4, function () { + three(); + throw new Error('randomBytes'); + }); + } + + function three() { + crypto.pseudoRandomBytes(4, function () { + throw new Error('pseudoRandomBytes'); + }); + } });