diff options
author | Mischa Untaga <99098079+MischaU8@users.noreply.github.com> | 2025-01-13 13:49:51 +0100 |
---|---|---|
committer | Mischa Untaga <99098079+MischaU8@users.noreply.github.com> | 2025-01-13 13:49:51 +0100 |
commit | 8327e31dd8aa7c44df65b441f8dea49ffd897d50 (patch) | |
tree | 6d7da35bc306e506ffa00e808fdbb55a9f6c63ad | |
parent | 9e9912deef0146f4c4cd7275e331b8dec1da9610 (diff) | |
download | fuzzer-8327e31dd8aa7c44df65b441f8dea49ffd897d50.tar.gz |
option to disable immutable view state check
-rwxr-xr-x | rtt-module.js | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/rtt-module.js b/rtt-module.js index b8f1d56..c10f25d 100755 --- a/rtt-module.js +++ b/rtt-module.js @@ -11,6 +11,7 @@ const RULES_JS_FILE = process.env.RTT_RULES || "rules.js" const NO_ASSERT = process.env.NO_ASSERT === 'true' const NO_CRASH = process.env.NO_CRASH === 'true' const NO_SCHEMA = process.env.NO_SCHEMA === 'true' +const NO_IMMUTABLE_VIEWSTATE = process.env.NO_IMMUTABLE_VIEWSTATE === 'true' const NO_UNDO = process.env.NO_UNDO === 'true' const MAX_STEPS = parseInt(process.env.MAX_STEPS || 10000) const TIMEOUT = parseInt(process.env.TIMEOUT || 250) @@ -81,7 +82,7 @@ module.exports.fuzz = function(fuzzerInputData) { ctx.active = data.pickValue(roles) } - const state_freeze = JSON.stringify(ctx.state) + const state_freeze = !NO_IMMUTABLE_VIEWSTATE ? JSON.stringify(ctx.state) : {} ctx.view = {} try { @@ -102,7 +103,7 @@ module.exports.fuzz = function(fuzzerInputData) { return log_crash(new SchemaValidationError("View data fails schema validation: " + rules_view_schema.errors), ctx) } - if (state_freeze !== JSON.stringify(ctx.state)) { + if (!NO_IMMUTABLE_VIEWSTATE && state_freeze !== JSON.stringify(ctx.state)) { try { RULES.view(deep_freeze(JSON.parse(state_freeze)), ctx.active) } catch (e) { |