diff options
Diffstat (limited to 'toolkit/crashreporter/test/unit')
4 files changed, 61 insertions, 19 deletions
diff --git a/toolkit/crashreporter/test/unit/head_crashreporter.js b/toolkit/crashreporter/test/unit/head_crashreporter.js index c37c8acf8c..34602e2107 100644 --- a/toolkit/crashreporter/test/unit/head_crashreporter.js +++ b/toolkit/crashreporter/test/unit/head_crashreporter.js @@ -156,6 +156,9 @@ async function handleMinidump(callback) { registerCleanupFunction(cleanup); Assert.ok(extrafile.exists()); + let data = await IOUtils.read(extrafile.path); + let decoder = new TextDecoder("ascii"); + console.log("data = " + decoder.decode(data)); let extra = await IOUtils.readJSON(extrafile.path); if (callback) { diff --git a/toolkit/crashreporter/test/unit/test_crash_modules_linux.js b/toolkit/crashreporter/test/unit/test_crash_modules_linux.js new file mode 100644 index 0000000000..9fcf587308 --- /dev/null +++ b/toolkit/crashreporter/test/unit/test_crash_modules_linux.js @@ -0,0 +1,33 @@ +add_task(async function run_test() { + if (!("@mozilla.org/toolkit/crash-reporter;1" in Cc)) { + dump( + "INFO | test_crash_modules.js | Can't test crashreporter in a non-libxul build.\n" + ); + return; + } + + await do_crash( + function () { + crashType = CrashTestUtils.CRASH_ABORT; + }, + async function (mdump, extra, extraFile) { + runMinidumpAnalyzer(mdump); + + // Refresh updated extra data + extra = await IOUtils.readJSON(extraFile.path); + + // Check modules' versions + const modules = extra.StackTraces.modules; + const version_regexp = /^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/; + + for (let module of modules) { + console.debug("module", module); + console.debug("version => ", module.version); + console.debug("version regex => ", version_regexp.exec(module.version)); + Assert.notEqual(version_regexp.exec(module.version), null); + } + }, + // process will exit with a zero exit status + true + ); +}); diff --git a/toolkit/crashreporter/test/unit/xpcshell-phc.toml b/toolkit/crashreporter/test/unit/xpcshell-phc.toml index 278cf28193..1bb182d852 100644 --- a/toolkit/crashreporter/test/unit/xpcshell-phc.toml +++ b/toolkit/crashreporter/test/unit/xpcshell-phc.toml @@ -1,8 +1,8 @@ [DEFAULT] head = "head_crashreporter.js" skip-if = [ - "toolkit == 'android'", # 1536217 - "os == 'win' && msix", # https://bugzilla.mozilla.org/show_bug.cgi?id=1807922 + "os == 'android'", # 1536217 + "win11_2009 && msix", # https://bugzilla.mozilla.org/show_bug.cgi?id=1807922 ] support-files = [ "crasher_subprocess_head.js", diff --git a/toolkit/crashreporter/test/unit/xpcshell.toml b/toolkit/crashreporter/test/unit/xpcshell.toml index ffa631d0a1..6b1676ac32 100644 --- a/toolkit/crashreporter/test/unit/xpcshell.toml +++ b/toolkit/crashreporter/test/unit/xpcshell.toml @@ -40,6 +40,10 @@ run-if = ["os == 'win'"] reason = "Test covering Windows-specific module handling" run-sequentially = "very high failure rate in parallel" +["test_crash_modules_linux.js"] +run-if = ["os == 'linux'"] +reason = "Test covering Linux-specific module handling" + ["test_crash_moz_crash.js"] ["test_crash_oom.js"] @@ -51,7 +55,7 @@ run-sequentially = "very high failure rate in parallel" ["test_crash_rust_panic_multiline.js"] ["test_crash_stack_overflow.js"] -skip-if = ["os != 'linux'"] +run-if = ["os == 'linux'"] reason = "Still broken on macOS and not yet supported on Windows" ["test_crash_terminator.js"] @@ -60,71 +64,71 @@ reason = "Still broken on macOS and not yet supported on Windows" ["test_crash_win64cfi_alloc_large.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" ["test_crash_win64cfi_alloc_small.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" ["test_crash_win64cfi_epilog.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" ["test_crash_win64cfi_infinite_code_chain.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" support-files = ["test_crash_win64cfi_infinite_code_chain.exe"] ["test_crash_win64cfi_infinite_entry_chain.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" support-files = ["test_crash_win64cfi_infinite_entry_chain.exe"] ["test_crash_win64cfi_invalid_exception_rva.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" support-files = ["test_crash_win64cfi_invalid_exception_rva.exe"] ["test_crash_win64cfi_not_a_pe.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" support-files = ["test_crash_win64cfi_not_a_pe.exe"] ["test_crash_win64cfi_push_nonvol.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" ["test_crash_win64cfi_save_nonvol.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" ["test_crash_win64cfi_save_nonvol_far.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" ["test_crash_win64cfi_save_xmm128.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" ["test_crash_win64cfi_save_xmm128_far.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" ["test_crash_win64cfi_unknown_op.js"] head = "head_crashreporter.js head_win64cfi.js" -run-if = ["os == 'win' && bits == 64 && processor == 'x86_64'"] +run-if = ["os == 'win' && bits == 64"] reason = "Windows test specific to the x86-64 architecture" ["test_crash_with_memory_report.js"] @@ -134,8 +138,10 @@ reason = "Windows test specific to the x86-64 architecture" ["test_crashreporter_appmem.js"] # we need to skip this due to bug 838613 skip-if = [ - "os != 'win' && os != 'linux'", - "os=='linux' && bits==32", + "os == 'android'", + "apple_silicon", + "apple_catalina", + "os == 'linux' && os_version == '18.04' && bits == 32", ] ["test_crashreporter_crash.js"] @@ -149,4 +155,4 @@ run-sequentially = "very high failure rate in parallel" run-sequentially = "very high failure rate in parallel" ["test_override_exception_handler.js"] -skip-if = ["os != 'win'"] +run-if = ["os == 'win'"] |