From aaa4620ec58ceec6ae77e4c024662f088a67739f Mon Sep 17 00:00:00 2001 From: alexlamsl Date: Tue, 9 Jan 2018 03:40:28 +0800 Subject: [PATCH] improve `ufuzz` reproducibility --- test/exports.js | 13 +++++++------ test/node.js | 4 +++- test/ufuzz.js | 3 ++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/test/exports.js b/test/exports.js index 997ad513..f2c1bbcf 100644 --- a/test/exports.js +++ b/test/exports.js @@ -1,14 +1,15 @@ -exports["Compressor"] = Compressor; -exports["JS_Parse_Error"] = JS_Parse_Error; -exports["OutputStream"] = OutputStream; -exports["SourceMap"] = SourceMap; -exports["TreeWalker"] = TreeWalker; exports["base54"] = base54; +exports["Compressor"] = Compressor; exports["defaults"] = defaults; +exports["is_identifier"] = is_identifier; +exports["JS_Parse_Error"] = JS_Parse_Error; exports["mangle_properties"] = mangle_properties; exports["minify"] = minify; +exports["OutputStream"] = OutputStream; exports["parse"] = parse; exports["reserve_quoted_keys"] = reserve_quoted_keys; +exports["SourceMap"] = SourceMap; exports["string_template"] = string_template; +exports["SymbolDef"] = SymbolDef; exports["tokenizer"] = tokenizer; -exports["is_identifier"] = is_identifier; +exports["TreeWalker"] = TreeWalker; diff --git a/test/node.js b/test/node.js index 22bf325d..e64c8d6a 100644 --- a/test/node.js +++ b/test/node.js @@ -1,6 +1,8 @@ var fs = require("fs"); +var UglifyJS = require("../tools/node"); -new Function("MOZ_SourceMap", "exports", require("../tools/node").FILES.map(function(file) { +new Function("MOZ_SourceMap", "exports", UglifyJS.FILES.map(function(file) { if (/exports\.js$/.test(file)) file = require.resolve("./exports"); return fs.readFileSync(file, "utf8"); }).join("\n\n"))(require("source-map"), exports); +exports.default_options = UglifyJS.default_options; diff --git a/test/ufuzz.js b/test/ufuzz.js index d02e9f76..e6d7ccba 100644 --- a/test/ufuzz.js +++ b/test/ufuzz.js @@ -8,7 +8,7 @@ require("../tools/exit"); -var UglifyJS = require(".."); +var UglifyJS = require("./node"); var randomBytes = require("crypto").randomBytes; var sandbox = require("./sandbox"); @@ -1003,6 +1003,7 @@ function log_suspects(minify_options, component) { var o = JSON.parse(JSON.stringify(options)); o[name] = false; m[component] = o; + UglifyJS.SymbolDef.next_id = 1; var result = UglifyJS.minify(original_code, m); if (result.error) { errorln("Error testing options." + component + "." + name);