diff --git a/.eslintrc.js b/.eslintrc.js index a27ce44e51af..da3bcdac05f7 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -45,7 +45,6 @@ module.exports = { "overrides": [{ "files": [ "devtools/**", - "memory/**", "mfbt/**", "mobile/**", "modules/**", diff --git a/.prettierignore b/.prettierignore index bc8296606e4f..d512a48c9c7f 100644 --- a/.prettierignore +++ b/.prettierignore @@ -40,7 +40,6 @@ toolkit/components/telemetry/datareporting-prefs.js toolkit/components/telemetry/healthreport-prefs.js # Ignore all top-level directories for now. -memory/** mfbt/** mobile/** modules/** diff --git a/memory/replace/dmd/test/test_dmd.js b/memory/replace/dmd/test/test_dmd.js index efb0f4dad15f..ec7ee49bfa4f 100644 --- a/memory/replace/dmd/test/test_dmd.js +++ b/memory/replace/dmd/test/test_dmd.js @@ -6,12 +6,15 @@ "use strict"; -const {FileUtils} = ChromeUtils.import("resource://gre/modules/FileUtils.jsm"); -const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm"); +const { FileUtils } = ChromeUtils.import( + "resource://gre/modules/FileUtils.jsm" +); +const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); // The xpcshell test harness sets PYTHON so we can read it here. -var gEnv = Cc["@mozilla.org/process/environment;1"] - .getService(Ci.nsIEnvironment); +var gEnv = Cc["@mozilla.org/process/environment;1"].getService( + Ci.nsIEnvironment +); var gPythonName = gEnv.get("PYTHON"); // If we're testing locally, the executable file is in "CurProcD". Otherwise, @@ -37,10 +40,12 @@ var gDmdScriptFile = getExecutable("dmd.py"); var gScanTestFile = FileUtils.getFile("CurWorkD", ["scan-test.py"]); function readFile(aFile) { - let fstream = Cc["@mozilla.org/network/file-input-stream;1"] - .createInstance(Ci.nsIFileInputStream); - let cstream = Cc["@mozilla.org/intl/converter-input-stream;1"] - .createInstance(Ci.nsIConverterInputStream); + let fstream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance( + Ci.nsIFileInputStream + ); + let cstream = Cc["@mozilla.org/intl/converter-input-stream;1"].createInstance( + Ci.nsIConverterInputStream + ); fstream.init(aFile, -1, 0, 0); cstream.init(fstream, "UTF-8", 0, 0); @@ -58,10 +63,9 @@ function readFile(aFile) { } function runProcess(aExeFile, aArgs) { - let process = Cc["@mozilla.org/process/util;1"] - .createInstance(Ci.nsIProcess); + let process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(aExeFile); - process.run(/* blocking = */true, aArgs, aArgs.length); + process.run(/* blocking = */ true, aArgs, aArgs.length); return process.exitValue; } @@ -69,14 +73,15 @@ function test(aPrefix, aArgs) { // DMD writes the JSON files to CurWorkD, so we do likewise here with // |actualFile| for consistency. It is removed once we've finished. let expectedFile = FileUtils.getFile("CurWorkD", [aPrefix + "-expected.txt"]); - let actualFile = FileUtils.getFile("CurWorkD", [aPrefix + "-actual.txt"]); + let actualFile = FileUtils.getFile("CurWorkD", [aPrefix + "-actual.txt"]); // Run dmd.py on the JSON file, producing |actualFile|. let args = [ gDmdScriptFile.path, "--filter-stacks-for-testing", - "-o", actualFile.path, + "-o", + actualFile.path, ].concat(aArgs); runProcess(new FileUtils.File(gPythonName), args); @@ -88,12 +93,15 @@ function test(aPrefix, aArgs) { let success; try { - let rv = runProcess(new FileUtils.File("/usr/bin/diff"), - ["-u", expectedFile.path, actualFile.path]); + let rv = runProcess(new FileUtils.File("/usr/bin/diff"), [ + "-u", + expectedFile.path, + actualFile.path, + ]); success = rv == 0; } catch (e) { let expectedData = readFile(expectedFile); - let actualData = readFile(actualFile); + let actualData = readFile(actualFile); success = expectedData === actualData; if (!success) { expectedData = expectedData.split("\n"); @@ -114,10 +122,7 @@ function test(aPrefix, aArgs) { // Run scan-test.py on the JSON file and see if it succeeds. function scanTest(aJsonFilePath, aExtraArgs) { - let args = [ - gScanTestFile.path, - aJsonFilePath, - ].concat(aExtraArgs); + let args = [gScanTestFile.path, aJsonFilePath].concat(aExtraArgs); return runProcess(new FileUtils.File(gPythonName), args) == 0; } @@ -165,7 +170,10 @@ function run_test() { let is64Bit = Services.appinfo.is64Bit; let basicScanFileName = "basic-scan-" + (is64Bit ? "64" : "32"); test(basicScanFileName, ["--clamp-contents", jsonFile.path]); - ok(scanTest(jsonFile.path, ["--clamp-contents"]), "Scan with address clamping"); + ok( + scanTest(jsonFile.path, ["--clamp-contents"]), + "Scan with address clamping" + ); // Run the generic test a second time to ensure that the first time produced // valid JSON output. "--clamp-contents" is passed in so we don't have to have @@ -182,41 +190,39 @@ function run_test() { // appropriately. The number of records in the output is different for each // of the tested values. jsonFile = FileUtils.getFile("CurWorkD", ["script-max-frames.json"]); - test("script-max-frames-8", - [jsonFile.path]); // --max-frames=8 is the default - test("script-max-frames-3", - ["--max-frames=3", "--no-fix-stacks", jsonFile.path]); - test("script-max-frames-1", - ["--max-frames=1", jsonFile.path]); + test("script-max-frames-8", [jsonFile.path]); // --max-frames=8 is the default + test("script-max-frames-3", [ + "--max-frames=3", + "--no-fix-stacks", + jsonFile.path, + ]); + test("script-max-frames-1", ["--max-frames=1", jsonFile.path]); // This file has three records that are shown in a different order for each // of the different sort values. It also tests the handling of gzipped JSON // files. jsonFile = FileUtils.getFile("CurWorkD", ["script-sort-by.json.gz"]); - test("script-sort-by-usable", - ["--sort-by=usable", jsonFile.path]); - test("script-sort-by-req", - ["--sort-by=req", "--no-fix-stacks", jsonFile.path]); - test("script-sort-by-slop", - ["--sort-by=slop", jsonFile.path]); - test("script-sort-by-num-blocks", - ["--sort-by=num-blocks", jsonFile.path]); + test("script-sort-by-usable", ["--sort-by=usable", jsonFile.path]); + test("script-sort-by-req", [ + "--sort-by=req", + "--no-fix-stacks", + jsonFile.path, + ]); + test("script-sort-by-slop", ["--sort-by=slop", jsonFile.path]); + test("script-sort-by-num-blocks", ["--sort-by=num-blocks", jsonFile.path]); // This file has several real stack traces taken from Firefox execution, each // of which tests a different allocator function (or functions). jsonFile = FileUtils.getFile("CurWorkD", ["script-ignore-alloc-fns.json"]); - test("script-ignore-alloc-fns", - ["--ignore-alloc-fns", jsonFile.path]); + test("script-ignore-alloc-fns", ["--ignore-alloc-fns", jsonFile.path]); // This tests "live"-mode diffs. - jsonFile = FileUtils.getFile("CurWorkD", ["script-diff-live1.json"]); + jsonFile = FileUtils.getFile("CurWorkD", ["script-diff-live1.json"]); jsonFile2 = FileUtils.getFile("CurWorkD", ["script-diff-live2.json"]); - test("script-diff-live", - [jsonFile.path, jsonFile2.path]); + test("script-diff-live", [jsonFile.path, jsonFile2.path]); // This tests "dark-matter"-mode diffs. - jsonFile = FileUtils.getFile("CurWorkD", ["script-diff-dark-matter1.json"]); + jsonFile = FileUtils.getFile("CurWorkD", ["script-diff-dark-matter1.json"]); jsonFile2 = FileUtils.getFile("CurWorkD", ["script-diff-dark-matter2.json"]); - test("script-diff-dark-matter", - [jsonFile.path, jsonFile2.path]); + test("script-diff-dark-matter", [jsonFile.path, jsonFile2.path]); }