diff --git a/test/parallel/test-v8-flags.js b/test/parallel/test-v8-flags.js index cee924d5b13068..50cff9ecefceac 100644 --- a/test/parallel/test-v8-flags.js +++ b/test/parallel/test-v8-flags.js @@ -4,10 +4,13 @@ var assert = require('assert'); var v8 = require('v8'); var vm = require('vm'); +// Note: changing V8 flags after an isolate started is not guaranteed to work. +// Specifically here, V8 may cache compiled scripts between the flip of the +// flag. We use a different script each time to work around this problem. v8.setFlagsFromString('--allow_natives_syntax'); assert(eval('%_IsSmi(42)')); -assert(vm.runInThisContext('%_IsSmi(42)')); +assert(vm.runInThisContext('%_IsSmi(43)')); v8.setFlagsFromString('--noallow_natives_syntax'); -assert.throws(function() { eval('%_IsSmi(42)'); }, SyntaxError); -assert.throws(function() { vm.runInThisContext('%_IsSmi(42)'); }, SyntaxError); +assert.throws(function() { eval('%_IsSmi(44)'); }, SyntaxError); +assert.throws(function() { vm.runInThisContext('%_IsSmi(45)'); }, SyntaxError);