diff --git a/js/src/jit-test/tests/ion/bug913749.js b/js/src/jit-test/tests/ion/bug913749.js --- a/js/src/jit-test/tests/ion/bug913749.js +++ b/js/src/jit-test/tests/ion/bug913749.js @@ -8,14 +8,25 @@ }); this.toSource(); y = undefined; +// The exact error message varies nondeterministically. Accept several +// variations on the theme. +var variations = [ + `y is undefined`, + `can't access property "length" of undefined` , + `undefined has no properties`, +]; + +var hits = 0; for (var i = 0; i < 3; i++) { try { - x.toString(); - assertEq(0, 1); + x.toString(); } catch (e) { - assertEq(e.message === "y is undefined" || - e.message === `can't access property "length" of undefined`, true); + assertEq(e.constructor.name, 'TypeError'); + if (!variations.includes(e.message)) + throw new Error(`expected one of ${uneval(variations)}; got ${uneval(e.message)}`); + hits++; } } +assertEq(hits, 3);