diff --git a/lib/sandbox/pmapi-setup-runner.js b/lib/sandbox/pmapi-setup-runner.js index e5ed7186..3fdd2100 100644 --- a/lib/sandbox/pmapi-setup-runner.js +++ b/lib/sandbox/pmapi-setup-runner.js @@ -104,12 +104,16 @@ module.exports = function (pm, onAssertionComplete) { } // if the assertion function does not expect a callback, we synchronously execute the same else { - try { assert(); } + try { + Promise.resolve(assert()) + .catch(e => markAssertionAsFailure(assertionData, e)) + .finally(() => onAssertionComplete(assertionData)); + } catch (e) { markAssertionAsFailure(assertionData, e); + onAssertionComplete(assertionData); } - onAssertionComplete(assertionData); } return pm; // make it chainable