git: f67c76ea6418 - main - devel/electron42: Update to 42.11.15

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Sun, 18 Oct 2026 18:39:20 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f67c76ea64189865e6b6640f0ab86872004a5368

commit f67c76ea64189865e6b6640f0ab86872004a5368
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-10-18 18:38:05 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-10-18 18:39:10 +0000

    devel/electron42: Update to 42.11.15
    
    Changelog: https://github.com/electron/electron/releases/tag/v42.11.15
    
    Reported by:    GitHub (watch releases)
---
 devel/electron42/Makefile                          |   1 -
 devel/electron42/Makefile.version                  |   2 +-
 devel/electron42/distinfo                          |  14 +--
 .../files/packagejsons/spec/package.json           |   7 --
 devel/electron42/files/packagejsons/yarn.lock      | 122 +--------------------
 devel/electron42/files/patch-electron_BUILD.gn     |  14 +--
 .../files/patch-electron_script_spec-runner.js     |   8 +-
 .../files/patch-electron_spec_api-app.spec.ts      |  78 ++++++-------
 .../patch-electron_spec_api-browser-window.spec.ts |  62 +++++------
 .../patch-electron_spec_api-clipboard.spec.ts      |   6 +-
 ...patch-electron_spec_api-content-tracing.spec.ts |  12 +-
 .../patch-electron_spec_api-crash-reporter.spec.ts |  70 ++++++------
 ...atch-electron_spec_api-desktop-capturer.spec.ts |  42 +++----
 .../files/patch-electron_spec_api-menu.spec.ts     |  14 +--
 .../patch-electron_spec_api-native-image.spec.ts   |   4 +-
 .../files/patch-electron_spec_api-net-log.spec.ts  |  10 +-
 .../patch-electron_spec_api-power-monitor.spec.ts  |   4 +-
 .../files/patch-electron_spec_api-process.spec.ts  |  22 ++--
 .../patch-electron_spec_api-safe-storage.spec.ts   |  10 +-
 .../files/patch-electron_spec_api-screen.spec.ts   |  24 ++--
 .../files/patch-electron_spec_api-shell.spec.ts    |   6 +-
 .../files/patch-electron_spec_api-tray.spec.ts     |  16 +--
 ...patch-electron_spec_api-utility-process.spec.ts |   8 +-
 .../patch-electron_spec_api-web-contents.spec.ts   |   6 +-
 .../files/patch-electron_spec_chromium.spec.ts     |  26 ++---
 .../files/patch-electron_spec_lib_spec-helpers.ts  |   6 +-
 .../files/patch-electron_spec_node.spec.ts         |   4 +-
 .../files/patch-electron_spec_spellchecker.spec.ts |   6 +-
 .../patch-electron_spec_visibility-state.spec.ts   |   4 +-
 .../files/patch-electron_spec_webview.spec.ts      |   4 +-
 30 files changed, 244 insertions(+), 368 deletions(-)

diff --git a/devel/electron42/Makefile b/devel/electron42/Makefile
index f6b650c5bab2..aed81da8a03f 100644
--- a/devel/electron42/Makefile
+++ b/devel/electron42/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	electron
 DISTVERSIONPREFIX=	v
 DISTVERSION=	${ELECTRON_VER}
-PORTREVISION=	1
 PULSEMV=	16
 PULSEV=		${PULSEMV}.1
 CATEGORIES=	devel
diff --git a/devel/electron42/Makefile.version b/devel/electron42/Makefile.version
index b5cab8c0d082..15b411e4425a 100644
--- a/devel/electron42/Makefile.version
+++ b/devel/electron42/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER=		42.11.14
+ELECTRON_VER=		42.11.15
 ELECTRON_VER_MAJOR=	${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron42/distinfo b/devel/electron42/distinfo
index 4a8aa609dc20..19e5fa9f6052 100644
--- a/devel/electron42/distinfo
+++ b/devel/electron42/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1791948319
+TIMESTAMP = 1792323935
 SHA256 (electron/chromium-148.0.7778.280.tar.xz.0) = cddbfeba5a50d950693590399df8df3a8ef5910eee367c76aec2541444c59dea
 SIZE (electron/chromium-148.0.7778.280.tar.xz.0) = 2000000000
 SHA256 (electron/chromium-148.0.7778.280.tar.xz.1) = cd2f2c3740c05eb549878ab6c6571f7858456c2c56cf798e60ffbaf7e651429f
@@ -345,12 +345,12 @@ SHA256 (electron/rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4
 SIZE (electron/rust/crates/zerocopy-derive-0.7.35.crate) = 37829
 SHA256 (electron/yarn-4.18.0.tgz) = 1a1bc8f7767d284517803535e296f0bbac005274f9c85eeb20e7803220e4d50a
 SIZE (electron/yarn-4.18.0.tgz) = 1331218
-SHA256 (electron/electron42-42.11.14-node-modules-arm64.tar.xz) = 74089d77d0d5fab7df697e3a7227158df1b29b408d50152b47d0983182e0fac0
-SIZE (electron/electron42-42.11.14-node-modules-arm64.tar.xz) = 60940150
-SHA256 (electron/electron42-42.11.14-node-modules-x64.tar.xz) = 190332036cd61e14ac254b0df45e9e6b7ef46fd3502c4d0f271a1381ec07a447
-SIZE (electron/electron42-42.11.14-node-modules-x64.tar.xz) = 81691246
-SHA256 (electron/electron-electron-v42.11.14_GH0.tar.gz) = de4b5735d40e0c57be687771573535be077af4e2069b4896b68c81d024883f6c
-SIZE (electron/electron-electron-v42.11.14_GH0.tar.gz) = 21063059
+SHA256 (electron/electron42-42.11.15-node-modules-arm64.tar.xz) = ff77fa7f27e7f5f681204d7772c5ec3592da78d0e7b821750d2995ac32c0a1d9
+SIZE (electron/electron42-42.11.15-node-modules-arm64.tar.xz) = 60742652
+SHA256 (electron/electron42-42.11.15-node-modules-x64.tar.xz) = e64feafcbccb3c2fb4c47e747bfed4bf1dd587da2c9088d275ad0075aa3180ea
+SIZE (electron/electron42-42.11.15-node-modules-x64.tar.xz) = 81488246
+SHA256 (electron/electron-electron-v42.11.15_GH0.tar.gz) = da0acd93894237545470524a17ce1734e19223e11c85631b3db34085c1e6701b
+SIZE (electron/electron-electron-v42.11.15_GH0.tar.gz) = 21094203
 SHA256 (electron/nodejs-node-v24.19.0_GH0.tar.gz) = f06a13587eab05e24972f39628559a942a495f7140b702ce87d79454e2925bb3
 SIZE (electron/nodejs-node-v24.19.0_GH0.tar.gz) = 127452601
 SHA256 (electron/nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2_GH0.tar.gz) = 3983c68f19ed75dd37dc228eab385093ae2533132730f253f0c3d19ff10788e3
diff --git a/devel/electron42/files/packagejsons/spec/package.json b/devel/electron42/files/packagejsons/spec/package.json
index 4181e6732231..7af1b3da189d 100644
--- a/devel/electron42/files/packagejsons/spec/package.json
+++ b/devel/electron42/files/packagejsons/spec/package.json
@@ -19,11 +19,7 @@
     "@electron/packager": "^18.3.2",
     "@types/basic-auth": "^1.1.8",
     "@types/busboy": "^1.5.4",
-    "@types/chai": "^4.3.19",
-    "@types/chai-as-promised": "^7.1.3",
-    "@types/dirty-chai": "^2.0.5",
     "@types/express": "^4.17.13",
-    "@types/mocha": "^7.0.2",
     "@types/send": "^0.14.5",
     "@types/sinon": "^9.0.4",
     "@types/uuid": "^3.4.6",
@@ -32,11 +28,8 @@
     "abstract-socket": "github:deepak1556/node-abstractsocket#928cc591decd12aff7dad96449da8afc29832c19",
     "basic-auth": "^2.0.1",
     "busboy": "^1.6.0",
-    "chai": "^4.2.0",
-    "chai-as-promised": "^7.1.1",
     "coffeescript": "^2.4.1",
     "dbus-native": "^0.4.0",
-    "dirty-chai": "^2.0.1",
     "express": "^4.20.0",
     "graceful-fs": "^4.1.15",
     "mkdirp": "^0.5.1",
diff --git a/devel/electron42/files/packagejsons/yarn.lock b/devel/electron42/files/packagejsons/yarn.lock
index 660d70116eaf..b4f7905a2b12 100644
--- a/devel/electron42/files/packagejsons/yarn.lock
+++ b/devel/electron42/files/packagejsons/yarn.lock
@@ -2111,16 +2111,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/chai-as-promised@npm:^7, @types/chai-as-promised@npm:^7.1.3":
-  version: 7.1.8
-  resolution: "@types/chai-as-promised@npm:7.1.8"
-  dependencies:
-    "@types/chai": "npm:*"
-  checksum: 10c0/c0a19cffe8d3f406b2cb9ba17f5f0efe318b14f27896d807b3199cc2231c16a4b5b6c464fdf2a939214de481de58cffd46c240539d3d4ece18659277d71ccc23
-  languageName: node
-  linkType: hard
-
-"@types/chai@npm:*, @types/chai@npm:^5.2.2":
+"@types/chai@npm:^5.2.2":
   version: 5.2.3
   resolution: "@types/chai@npm:5.2.3"
   dependencies:
@@ -2130,13 +2121,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/chai@npm:^4.3.19":
-  version: 4.3.20
-  resolution: "@types/chai@npm:4.3.20"
-  checksum: 10c0/4601189d611752e65018f1ecadac82e94eed29f348e1d5430e5681a60b01e1ecf855d9bcc74ae43b07394751f184f6970fac2b5561fc57a1f36e93a0f5ffb6e8
-  languageName: node
-  linkType: hard
-
 "@types/color-name@npm:^1.1.1":
   version: 1.1.1
   resolution: "@types/color-name@npm:1.1.1"
@@ -2176,16 +2160,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/dirty-chai@npm:^2.0.5":
-  version: 2.0.5
-  resolution: "@types/dirty-chai@npm:2.0.5"
-  dependencies:
-    "@types/chai": "npm:*"
-    "@types/chai-as-promised": "npm:^7"
-  checksum: 10c0/26b206305e63dce3feb5307ee05d40d20810621cd802279f04cb1719158eac9a842dae3f384ede4abdece6ff90d2e2168acf1c7dc99a4b0d509087d5f49feb4e
-  languageName: node
-  linkType: hard
-
 "@types/eslint-scope@npm:^3.7.7":
   version: 3.7.7
   resolution: "@types/eslint-scope@npm:3.7.7"
@@ -2375,13 +2349,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/mocha@npm:^7.0.2":
-  version: 7.0.2
-  resolution: "@types/mocha@npm:7.0.2"
-  checksum: 10c0/52b4e6a461214ed9e880659dd49d59107e06bdda5b0d5ebf62ee2d052a08cead04bb0ba041be3dd0ce17dee04ff414b638ba4a3068cc4d2ace980fefe3412e2a
-  languageName: node
-  linkType: hard
-
 "@types/ms@npm:*":
   version: 0.7.31
   resolution: "@types/ms@npm:0.7.31"
@@ -3139,13 +3106,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"assertion-error@npm:^1.1.0":
-  version: 1.1.0
-  resolution: "assertion-error@npm:1.1.0"
-  checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b
-  languageName: node
-  linkType: hard
-
 "assertion-error@npm:^2.0.1":
   version: 2.0.1
   resolution: "assertion-error@npm:2.0.1"
@@ -3569,32 +3529,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"chai-as-promised@npm:^7.1.1":
-  version: 7.1.2
-  resolution: "chai-as-promised@npm:7.1.2"
-  dependencies:
-    check-error: "npm:^1.0.2"
-  peerDependencies:
-    chai: ">= 2.1.2 < 6"
-  checksum: 10c0/ee20ed75296d8cbf828b2f3c9ad64627cee67b1a38b8e906ca59fe788fb6965ddb10f702ae66645ed88f15a905ade4f2d9f8540029e92e2d59b229c9f912273f
-  languageName: node
-  linkType: hard
-
-"chai@npm:^4.2.0":
-  version: 4.5.0
-  resolution: "chai@npm:4.5.0"
-  dependencies:
-    assertion-error: "npm:^1.1.0"
-    check-error: "npm:^1.0.3"
-    deep-eql: "npm:^4.1.3"
-    get-func-name: "npm:^2.0.2"
-    loupe: "npm:^2.3.6"
-    pathval: "npm:^1.1.1"
-    type-detect: "npm:^4.1.0"
-  checksum: 10c0/b8cb596bd1aece1aec659e41a6e479290c7d9bee5b3ad63d2898ad230064e5b47889a3bc367b20100a0853b62e026e2dc514acf25a3c9385f936aa3614d4ab4d
-  languageName: node
-  linkType: hard
-
 "chai@npm:^5.1.1":
   version: 5.1.1
   resolution: "chai@npm:5.1.1"
@@ -3688,15 +3622,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"check-error@npm:^1.0.2, check-error@npm:^1.0.3":
-  version: 1.0.3
-  resolution: "check-error@npm:1.0.3"
-  dependencies:
-    get-func-name: "npm:^2.0.2"
-  checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841
-  languageName: node
-  linkType: hard
-
 "check-error@npm:^2.1.1":
   version: 2.1.1
   resolution: "check-error@npm:2.1.1"
@@ -4203,15 +4128,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"deep-eql@npm:^4.1.3":
-  version: 4.1.4
-  resolution: "deep-eql@npm:4.1.4"
-  dependencies:
-    type-detect: "npm:^4.0.0"
-  checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517
-  languageName: node
-  linkType: hard
-
 "deep-eql@npm:^5.0.1":
   version: 5.0.2
   resolution: "deep-eql@npm:5.0.2"
@@ -4345,15 +4261,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"dirty-chai@npm:^2.0.1":
-  version: 2.0.1
-  resolution: "dirty-chai@npm:2.0.1"
-  peerDependencies:
-    chai: ">=2.2.1 <5"
-  checksum: 10c0/0fe24a077e7c7e9ce069ee95ffef913d600e32cc3277af9aeaa69a57c1f4ac365b04aa06b2cdba5dc4c1cf712fa8550898c3dce239735e32310b655f143f1856
-  languageName: node
-  linkType: hard
-
 "dogapi@npm:2.8.4":
   version: 2.8.4
   resolution: "dogapi@npm:2.8.4"
@@ -4433,11 +4340,7 @@ __metadata:
     "@electron/packager": "npm:^18.3.2"
     "@types/basic-auth": "npm:^1.1.8"
     "@types/busboy": "npm:^1.5.4"
-    "@types/chai": "npm:^4.3.19"
-    "@types/chai-as-promised": "npm:^7.1.3"
-    "@types/dirty-chai": "npm:^2.0.5"
     "@types/express": "npm:^4.17.13"
-    "@types/mocha": "npm:^7.0.2"
     "@types/send": "npm:^0.14.5"
     "@types/sinon": "npm:^9.0.4"
     "@types/uuid": "npm:^3.4.6"
@@ -4446,11 +4349,8 @@ __metadata:
     abstract-socket: "github:deepak1556/node-abstractsocket#928cc591decd12aff7dad96449da8afc29832c19"
     basic-auth: "npm:^2.0.1"
     busboy: "npm:^1.6.0"
-    chai: "npm:^4.2.0"
-    chai-as-promised: "npm:^7.1.1"
     coffeescript: "npm:^2.4.1"
     dbus-native: "npm:^0.4.0"
-    dirty-chai: "npm:^2.0.1"
     express: "npm:^4.20.0"
     graceful-fs: "npm:^4.1.15"
     mkdirp: "npm:^0.5.1"
@@ -5377,7 +5277,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2":
+"get-func-name@npm:^2.0.1":
   version: 2.0.2
   resolution: "get-func-name@npm:2.0.2"
   checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df
@@ -6762,15 +6662,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"loupe@npm:^2.3.6":
-  version: 2.3.7
-  resolution: "loupe@npm:2.3.7"
-  dependencies:
-    get-func-name: "npm:^2.0.1"
-  checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4
-  languageName: node
-  linkType: hard
-
 "loupe@npm:^3.1.0":
   version: 3.1.1
   resolution: "loupe@npm:3.1.1"
@@ -8431,13 +8322,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"pathval@npm:^1.1.1":
-  version: 1.1.1
-  resolution: "pathval@npm:1.1.1"
-  checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc
-  languageName: node
-  linkType: hard
-
 "pathval@npm:^2.0.0":
   version: 2.0.0
   resolution: "pathval@npm:2.0.0"
@@ -10271,7 +10155,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8, type-detect@npm:^4.1.0":
+"type-detect@npm:^4.0.8":
   version: 4.1.0
   resolution: "type-detect@npm:4.1.0"
   checksum: 10c0/df8157ca3f5d311edc22885abc134e18ff8ffbc93d6a9848af5b682730ca6a5a44499259750197250479c5331a8a75b5537529df5ec410622041650a7f293e2a
diff --git a/devel/electron42/files/patch-electron_BUILD.gn b/devel/electron42/files/patch-electron_BUILD.gn
index b5afe493740d..996332ea9d13 100644
--- a/devel/electron42/files/patch-electron_BUILD.gn
+++ b/devel/electron42/files/patch-electron_BUILD.gn
@@ -1,4 +1,4 @@
---- electron/BUILD.gn.orig	2026-09-08 07:41:45 UTC
+--- electron/BUILD.gn.orig	2026-10-15 23:46:52 UTC
 +++ electron/BUILD.gn
 @@ -610,7 +610,7 @@ source_set("electron_lib") {
      defines += [ "GDK_DISABLE_DEPRECATION_WARNINGS" ]
@@ -9,7 +9,7 @@
      deps += [
        "//components/crash/core/app",
        "//components/crash/core/browser",
-@@ -724,6 +724,12 @@ source_set("electron_lib") {
+@@ -717,6 +717,12 @@ source_set("electron_lib") {
        cflags_objcc = [ "-fobjc-weak" ]
      }
    }
@@ -22,7 +22,7 @@
    if (is_linux) {
      libs = [ "xshmfence" ]
      deps += [
-@@ -1533,7 +1539,7 @@ if (is_mac) {
+@@ -1526,7 +1532,7 @@ if (is_mac) {
      } else if (is_linux) {
        sources = [
          "shell/app/electron_main_linux.cc",
@@ -31,7 +31,7 @@
          "shell/app/uv_stdio_fix.cc",
          "shell/app/uv_stdio_fix.h",
        ]
-@@ -1545,7 +1551,7 @@ if (is_mac) {
+@@ -1538,7 +1544,7 @@ if (is_mac) {
        ":electron_lib",
        ":electron_win32_resources",
        ":packed_resources",
@@ -40,7 +40,7 @@
        "//content:sandbox_helper_win",
        "//electron/buildflags",
        "//third_party/electron_node:libnode",
-@@ -1572,7 +1578,7 @@ if (is_mac) {
+@@ -1565,7 +1571,7 @@ if (is_mac) {
        public_deps = [ "//tools/v8_context_snapshot" ]
      }
  
@@ -49,7 +49,7 @@
        data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ]
      }
  
-@@ -1639,7 +1645,7 @@ if (is_mac) {
+@@ -1632,7 +1638,7 @@ if (is_mac) {
          configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
        }
  
@@ -58,7 +58,7 @@
          deps += [ "//sandbox/linux:chrome_sandbox" ]
        }
      }
-@@ -1760,7 +1766,9 @@ dist_zip("electron_dist_zip") {
+@@ -1753,7 +1759,9 @@ dist_zip("electron_dist_zip") {
        ]
      }
  
diff --git a/devel/electron42/files/patch-electron_script_spec-runner.js b/devel/electron42/files/patch-electron_script_spec-runner.js
index 69cc3d9ef142..c04033a0540d 100644
--- a/devel/electron42/files/patch-electron_script_spec-runner.js
+++ b/devel/electron42/files/patch-electron_script_spec-runner.js
@@ -1,6 +1,6 @@
---- electron/script/spec-runner.js.orig	2026-09-30 08:48:04 UTC
+--- electron/script/spec-runner.js.orig	2026-10-15 23:46:52 UTC
 +++ electron/script/spec-runner.js
-@@ -399,7 +399,7 @@ function toVitestInvocation(exe, specDir, runnerArgs) 
+@@ -397,7 +397,7 @@ function toVitestInvocation(exe, specDir, runnerArgs) 
    };
    let command = process.execPath;
    let commandArgs = vitestArgs;
@@ -9,7 +9,7 @@
      // The mock D-Bus services are started once around the whole run; every
      // Electron worker inherits the bus addresses from the CLI's environment.
      commandArgs = [path.resolve(__dirname, 'dbus_mock.py'), command, ...commandArgs];
-@@ -503,7 +503,7 @@ async function installSpecModules(dir) {
+@@ -501,7 +501,7 @@ async function installSpecModules(dir) {
      process.exit(1);
    }
  
@@ -18,7 +18,7 @@
      const { status: rebuildStatus } = childProcess.spawnSync('npm', ['rebuild', 'abstract-socket'], {
        env,
        cwd: dir,
-@@ -581,7 +581,7 @@ function getNativeAddonToolchainEnv() {
+@@ -579,7 +579,7 @@ function getNativeAddonToolchainEnv() {
  // the same GCC that rejects the headers, so nothing on that host can build
  // the fixtures.
  function getNativeAddonToolchainEnv() {
diff --git a/devel/electron42/files/patch-electron_spec_api-app.spec.ts b/devel/electron42/files/patch-electron_spec_api-app.spec.ts
index dc527dee854f..709ca1589b78 100644
--- a/devel/electron42/files/patch-electron_spec_api-app.spec.ts
+++ b/devel/electron42/files/patch-electron_spec_api-app.spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-app.spec.ts.orig	2026-10-14 00:49:29 UTC
+--- electron/spec/api-app.spec.ts.orig	2026-10-15 23:46:52 UTC
 +++ electron/spec/api-app.spec.ts
-@@ -128,7 +128,7 @@ describe('app module', () => {
+@@ -131,7 +131,7 @@ describe('app module', () => {
      });
    });
  
@@ -9,21 +9,21 @@
      it('sets the desktop name to the CHROME_DESKTOP environment variable', () => {
        const original = process.env.CHROME_DESKTOP;
        defer(() => {
-@@ -157,11 +157,11 @@ describe('app module', () => {
+@@ -160,11 +160,11 @@ describe('app module', () => {
    });
  
    describe('app.getPreferredSystemLanguages()', () => {
 -    ifit(process.platform !== 'linux')('should not be empty', () => {
 +    ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should not be empty', () => {
-       expect(app.getPreferredSystemLanguages().length).to.not.equal(0);
+       expect(app.getPreferredSystemLanguages().length).not.toBe(0);
      });
  
 -    ifit(process.platform === 'linux')('should be empty or contain C entry', () => {
 +    ifit(process.platform === 'linux' || process.platform === 'freebsd')('should be empty or contain C entry', () => {
        const languages = app.getPreferredSystemLanguages();
        if (languages.length) {
-         expect(languages).to.not.include('C');
-@@ -203,7 +203,7 @@ describe('app module', () => {
+         expect(languages).not.toContain('C');
+@@ -206,7 +206,7 @@ describe('app module', () => {
      });
    });
  
@@ -32,7 +32,7 @@
      'when a D-Bus bus goes away',
      () => {
        it('exits cleanly instead of crashing', async () => {
-@@ -297,7 +297,7 @@ describe('app module', () => {
+@@ -300,7 +300,7 @@ describe('app module', () => {
      // A missing display makes toolkit initialisation fail before the main loop
      // runs; that early return must still tear the JS environment down cleanly.
      // Skipped under ASan for the same reason as the test above.
@@ -41,16 +41,16 @@
        'exits with code 1 when no display is available',
        async () => {
          const appPath = path.join(fixturesPath, 'api', 'no-display');
-@@ -318,7 +318,7 @@ describe('app module', () => {
+@@ -321,7 +321,7 @@ describe('app module', () => {
        }
      );
  
--    ifit(['darwin', 'linux'].includes(process.platform))('exits gracefully', async function () {
-+    ifit(['darwin', 'linux', 'freebsd'].includes(process.platform))('exits gracefully', async function () {
+-    ifit(['darwin', 'linux'].includes(process.platform))('exits gracefully', async () => {
++    ifit(['darwin', 'linux', 'freebsd'].includes(process.platform))('exits gracefully', async () => {
        const electronPath = process.execPath;
        const appPath = path.join(fixturesPath, 'api', 'singleton');
        appProcess = cp.spawn(electronPath, [appPath]);
-@@ -538,7 +538,7 @@ describe('app module', () => {
+@@ -554,7 +554,7 @@ describe('app module', () => {
    });
  
    // GitHub Actions macOS-13 runners used for x64 seem to have a problem with this test.
@@ -59,7 +59,7 @@
      const tempFiles = [
        path.join(fixturesPath, 'foo.txt'),
        path.join(fixturesPath, 'bar.txt'),
-@@ -667,7 +667,7 @@ describe('app module', () => {
+@@ -691,7 +691,7 @@ describe('app module', () => {
    //   let w = null
  
    //   before(function () {
@@ -68,7 +68,7 @@
    //       this.skip()
    //     }
    //   })
-@@ -780,7 +780,7 @@ describe('app module', () => {
+@@ -804,7 +804,7 @@ describe('app module', () => {
  
    describe('app.badgeCount', () => {
      const platformIsNotSupported =
@@ -77,16 +77,16 @@
  
      const expectedBadgeCount = 42;
  
-@@ -827,7 +827,7 @@ describe('app module', () => {
+@@ -851,7 +851,7 @@ describe('app module', () => {
    });
  
    ifdescribe(
 -    process.platform !== 'linux' && !process.mas && (process.platform !== 'darwin' || process.arch === 'arm64')
 +    process.platform !== 'linux' && process.platform !== 'freebsd' && !process.mas && (process.platform !== 'darwin' || process.arch === 'arm64')
-   )('app.get/setLoginItemSettings API', function () {
+   )('app.get/setLoginItemSettings API', () => {
      const isMac = process.platform === 'darwin';
      const isWin = process.platform === 'win32';
-@@ -1254,7 +1254,7 @@ describe('app module', () => {
+@@ -1278,7 +1278,7 @@ describe('app module', () => {
      });
    });
  
@@ -95,7 +95,7 @@
      // These tests toggle a process-wide AXMode. Turn it back off so the rest of
      // the suite doesn't run with renderer accessibility enabled.
      afterEach(() => {
-@@ -1530,7 +1530,7 @@ describe('app module', () => {
+@@ -1555,7 +1555,7 @@ describe('app module', () => {
      });
    });
  
@@ -103,18 +103,18 @@
 +  ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('select-client-certificate event', () => {
      let w: BrowserWindow;
  
-     before(function () {
-@@ -1673,7 +1673,7 @@ describe('app module', () => {
+     beforeAll(() => {
+@@ -1701,7 +1701,7 @@ describe('app module', () => {
  
    describe('getApplicationNameForProtocol()', () => {
      // TODO: Linux CI doesn't have registered http & https handlers
 -    ifit(!(process.env.CI && process.platform === 'linux') && !isWayland)(
 +    ifit(!(process.env.CI && (process.platform === 'linux' || process.platform === 'freebsd')) && !isWayland)(
        'returns application names for common protocols',
-       function () {
+       () => {
          // We can't expect particular app names here, but these protocols should
-@@ -1690,7 +1690,7 @@ describe('app module', () => {
-       expect(app.getApplicationNameForProtocol('bogus-protocol://')).to.equal('');
+@@ -1718,7 +1718,7 @@ describe('app module', () => {
+       expect(app.getApplicationNameForProtocol('bogus-protocol://')).toBe('');
      });
  
 -    ifdescribe(process.platform === 'linux')('on Linux with mocked XDG dirs', () => {
@@ -122,35 +122,35 @@
        const desktopFileId = 'mock-browser.desktop';
        const mockDisplayName = 'Mock Browser';
        const mockScheme = 'mockproto';
-@@ -1740,7 +1740,7 @@ describe('app module', () => {
+@@ -1768,7 +1768,7 @@ describe('app module', () => {
      let xdgBinDir: string;
  
-     before(() => {
+     beforeAll(() => {
 -      if (process.platform !== 'linux') {
 +      if (process.platform !== 'linux' && process.platform !== 'freebsd') {
          return;
        }
  
-@@ -1757,7 +1757,7 @@ describe('app module', () => {
+@@ -1785,7 +1785,7 @@ describe('app module', () => {
      });
  
-     after(() => {
+     afterAll(() => {
 -      if (process.platform === 'linux') {
 +      if (process.platform === 'linux' || process.platform === 'freebsd') {
          fs.rmSync(xdgDir, { recursive: true, force: true });
        }
      });
-@@ -1769,7 +1769,7 @@ describe('app module', () => {
+@@ -1797,7 +1797,7 @@ describe('app module', () => {
      });
  
-     it('returns resolved promise with appPath, displayName and icon', async function () {
+     it('returns resolved promise with appPath, displayName and icon', async () => {
 -      if (process.platform === 'linux') {
 +      if (process.platform === 'linux' || process.platform === 'freebsd') {
          const appInfo = await spawnProtocolInfoWithXdgMock(`${mockScheme}://`, xdgDataHome, xdgConfigHome);
-         expect(appInfo.name).to.equal(mockDisplayName);
-         expect(appInfo.path).to.equal('/usr/bin/true');
-@@ -1783,7 +1783,7 @@ describe('app module', () => {
-       expect(appInfo.icon).not.to.be.undefined();
+         expect(appInfo.name).toBe(mockDisplayName);
+         expect(appInfo.path).toBe('/usr/bin/true');
+@@ -1811,7 +1811,7 @@ describe('app module', () => {
+       expect(appInfo.icon).not.toBeUndefined();
      });
  
 -    ifit(process.platform === 'linux')('resolves an executable name via PATH', async () => {
@@ -158,7 +158,7 @@
        const pathLookupExecutable = 'mock-browser';
        const pathLookupExecutablePath = path.join(xdgBinDir, pathLookupExecutable);
        const pathLookupDisplayName = 'Mock Browser PATH';
-@@ -1817,7 +1817,7 @@ describe('app module', () => {
+@@ -1845,7 +1845,7 @@ describe('app module', () => {
      });
    });
  
@@ -167,7 +167,7 @@
      const protocol = 'electron-test-linux';
      const desktopFileId = 'electron-test.desktop';
      const protocolMimeType = `x-scheme-handler/${protocol}`;
-@@ -1934,7 +1934,7 @@ describe('app module', () => {
+@@ -1962,7 +1962,7 @@ describe('app module', () => {
    });
  
    // FIXME Get these specs running on Linux CI
@@ -176,16 +176,16 @@
      const iconPath = path.join(import.meta.dirname, 'fixtures/assets/icon.ico');
      const sizes = {
        small: 16,
-@@ -2016,7 +2016,7 @@ describe('app module', () => {
-           expect(entry.memory).to.have.property('privateBytes').that.is.greaterThan(0);
+@@ -2051,7 +2051,7 @@ describe('app module', () => {
+           expect(entry.memory.privateBytes).toBeGreaterThan(0);
          }
  
 -        if (process.platform !== 'linux') {
 +        if (process.platform !== 'linux' && process.platform !== 'freebsd') {
-           expect(entry.sandboxed).to.be.a('boolean');
+           expect(entry.sandboxed).toBeTypeOf('boolean');
          }
  
-@@ -2085,7 +2085,7 @@ describe('app module', () => {
+@@ -2125,7 +2125,7 @@ describe('app module', () => {
  
      it('succeeds with complete GPUInfo', async () => {
        const completeInfo = await getGPUInfo('complete');
@@ -194,7 +194,7 @@
          // For linux and macOS complete info is same as basic info
          await verifyBasicGPUInfo(completeInfo);
          const basicInfo = await getGPUInfo('basic');
-@@ -2109,7 +2109,7 @@ describe('app module', () => {
+@@ -2148,7 +2148,7 @@ describe('app module', () => {
      });
    });
  
diff --git a/devel/electron42/files/patch-electron_spec_api-browser-window.spec.ts b/devel/electron42/files/patch-electron_spec_api-browser-window.spec.ts
index c195418df9fc..3b96b7a4ffe4 100644
--- a/devel/electron42/files/patch-electron_spec_api-browser-window.spec.ts
+++ b/devel/electron42/files/patch-electron_spec_api-browser-window.spec.ts
@@ -1,7 +1,7 @@
---- electron/spec/api-browser-window.spec.ts.orig	2026-10-14 00:49:29 UTC
+--- electron/spec/api-browser-window.spec.ts.orig	2026-10-15 23:46:52 UTC
 +++ electron/spec/api-browser-window.spec.ts
 @@ -104,7 +104,7 @@ describe('BrowserWindow module', () => {
-       }).not.to.throw();
+       }).not.toThrow();
      });
  
 -    ifit(process.platform === 'linux')('does not crash when setting large window icons', async () => {
@@ -18,7 +18,7 @@
      afterEach(closeAllWindows);
      it('can set content protection', async () => {
        const w = new BrowserWindow({ show: false });
-@@ -1396,7 +1396,7 @@ describe('BrowserWindow module', () => {
+@@ -1405,7 +1405,7 @@ describe('BrowserWindow module', () => {
  
      describe('BrowserWindow.minimize()', () => {
        // TODO(codebytere): Enable for Linux once maximize/minimize events work in CI.
@@ -27,7 +27,7 @@
          const minimize = once(w, 'minimize');
          w.minimize();
          await minimize;
-@@ -1413,7 +1413,7 @@ describe('BrowserWindow module', () => {
+@@ -1422,7 +1422,7 @@ describe('BrowserWindow module', () => {
        });
  
        // TODO(dsanders11): Enable for Linux once CI plays nice with these kinds of tests
@@ -36,8 +36,8 @@
          const maximize = once(w, 'maximize');
          const shown = once(w, 'show');
          w.maximize();
-@@ -1481,7 +1481,7 @@ describe('BrowserWindow module', () => {
-         expect(w.isFocused()).to.equal(true);
+@@ -1490,7 +1490,7 @@ describe('BrowserWindow module', () => {
+         expect(w.isFocused()).toBe(true);
        });
  
 -      ifit(process.platform !== 'linux')('acquires focus status from the other windows', async () => {
@@ -45,8 +45,8 @@
          const w1 = new BrowserWindow({ show: false });
          const w2 = new BrowserWindow({ show: false });
          const w3 = new BrowserWindow({ show: false });
-@@ -1586,7 +1586,7 @@ describe('BrowserWindow module', () => {
-         expect(w.isFocused()).to.equal(false);
+@@ -1595,7 +1595,7 @@ describe('BrowserWindow module', () => {
+         expect(w.isFocused()).toBe(false);
        });
  
 -      ifit(process.platform !== 'linux')('transfers focus status to the next window', async () => {
@@ -54,7 +54,7 @@
          const w1 = new BrowserWindow({ show: false });
          const w2 = new BrowserWindow({ show: false });
          const w3 = new BrowserWindow({ show: false });
-@@ -2140,7 +2140,7 @@ describe('BrowserWindow module', () => {
+@@ -2149,7 +2149,7 @@ describe('BrowserWindow module', () => {
          });
        });
  
@@ -63,7 +63,7 @@
          it('checks normal bounds when maximized', async () => {
            const bounds = w.getBounds();
            const maximize = once(w, 'maximize');
-@@ -2358,7 +2358,7 @@ describe('BrowserWindow module', () => {
+@@ -2368,7 +2368,7 @@ describe('BrowserWindow module', () => {
          });
        });
  
@@ -72,7 +72,7 @@
          it('checks normal bounds when minimized', async () => {
            const bounds = w.getBounds();
            const minimize = once(w, 'minimize');
-@@ -3466,7 +3466,7 @@ describe('BrowserWindow module', () => {
+@@ -3476,7 +3476,7 @@ describe('BrowserWindow module', () => {
    describe('BrowserWindow.setOpacity(opacity)', () => {
      afterEach(closeAllWindows);
  
@@ -80,8 +80,8 @@
 +    ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('Windows and Mac', () => {
        it('make window with initial opacity', () => {
          const w = new BrowserWindow({ show: false, opacity: 0.5 });
-         expect(w.getOpacity()).to.equal(0.5);
-@@ -3492,7 +3492,7 @@ describe('BrowserWindow module', () => {
+         expect(w.getOpacity()).toBe(0.5);
+@@ -3502,7 +3502,7 @@ describe('BrowserWindow module', () => {
        });
      });
  
@@ -90,8 +90,8 @@
        it('sets 1 regardless of parameter', () => {
          const w = new BrowserWindow({ show: false });
          w.setOpacity(0);
-@@ -3732,7 +3732,7 @@ describe('BrowserWindow module', () => {
-       expect(overlayRectPreMax.height).to.equal(size);
+@@ -3742,7 +3742,7 @@ describe('BrowserWindow module', () => {
+       expect(overlayRectPreMax.height).toBe(size);
  
        // 'maximize' event is not emitted on Linux in CI.
 -      if (process.platform !== 'linux' && !w.isMaximized()) {
@@ -99,8 +99,8 @@
          const maximize = once(w, 'maximize');
          w.show();
          w.maximize();
-@@ -3799,7 +3799,7 @@ describe('BrowserWindow module', () => {
-         expect(preMaxHeight).to.equal(size);
+@@ -3809,7 +3809,7 @@ describe('BrowserWindow module', () => {
+         expect(preMaxHeight).toBe(size);
  
          // 'maximize' event is not emitted on Linux in CI.
 -        if (process.platform !== 'linux' && !w.isMaximized()) {
@@ -108,16 +108,16 @@
            const maximize = once(w, 'maximize');
            w.show();
            w.maximize();
-@@ -4926,7 +4926,7 @@ describe('BrowserWindow module', () => {
-         expect(test.nodeTimers).to.equal(true);
-         expect(test.nodeUrl).to.equal(true);
+@@ -4947,7 +4947,7 @@ describe('BrowserWindow module', () => {
+         expect(test.nodeTimers).toBe(true);
+         expect(test.nodeUrl).toBe(true);
  
 -        if (process.platform === 'linux' && test.osSandbox) {
 +        if ((process.platform === 'linux' || process.platform === 'freebsd') && test.osSandbox) {
-           expect(test.creationTime).to.be.null('creation time');
-           expect(test.systemMemoryInfo).to.be.null('system memory info');
+           expect(test.creationTime, 'creation time').toBeNull();
+           expect(test.systemMemoryInfo, 'system memory info').toBeNull();
          } else {
-@@ -5442,7 +5442,7 @@ describe('BrowserWindow module', () => {
+@@ -5465,7 +5465,7 @@ describe('BrowserWindow module', () => {
      });
    });
  
@@ -126,7 +126,7 @@
      afterEach(closeAllWindows);
      it('emits an event when window is maximized', async () => {
        const w = new BrowserWindow({ show: false });
-@@ -5718,7 +5718,7 @@ describe('BrowserWindow module', () => {
+@@ -5741,7 +5741,7 @@ describe('BrowserWindow module', () => {
      // TODO(zcbenz):
      // This test does not run on Linux CI. See:
      // https://github.com/electron/electron/issues/28699
@@ -135,7 +135,7 @@
        'should bring a minimized maximized window back to maximized state',
        async () => {
          const w = new BrowserWindow({});
-@@ -5736,7 +5736,7 @@ describe('BrowserWindow module', () => {
+@@ -5759,7 +5759,7 @@ describe('BrowserWindow module', () => {
        }
      );
  
@@ -144,7 +144,7 @@
        const w = new BrowserWindow({ show: false });
        w.show();
  
-@@ -5759,7 +5759,7 @@ describe('BrowserWindow module', () => {
+@@ -5782,7 +5782,7 @@ describe('BrowserWindow module', () => {
    });
  
    // TODO(dsanders11): Enable once maximize event works on Linux again on CI
@@ -153,7 +153,7 @@
      afterEach(closeAllWindows);
      it('should show the window if it is not currently shown', async () => {
        const w = new BrowserWindow({ show: false });
-@@ -5796,7 +5796,7 @@ describe('BrowserWindow module', () => {
+@@ -5819,7 +5819,7 @@ describe('BrowserWindow module', () => {
  
      // TODO(dsanders11): Enable once minimize event works on Linux again.
      //                   See https://github.com/electron/electron/issues/28699
@@ -162,16 +162,16 @@
        const w = new BrowserWindow();
        const minimize = once(w, 'minimize');
        w.minimize();
-@@ -6300,7 +6300,7 @@ describe('BrowserWindow module', () => {
+@@ -6324,7 +6324,7 @@ describe('BrowserWindow module', () => {
        });
  
        // On Linux there is no "resizable" property of a window.
 -      ifit(process.platform !== 'linux')('does affect maximizability when disabled and enabled', () => {
 +      ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('does affect maximizability when disabled and enabled', () => {
          const w = new BrowserWindow({ show: false });
-         expect(w.resizable).to.be.true('resizable');
+         expect(w.resizable, 'resizable').toBe(true);
  
-@@ -6541,7 +6541,7 @@ describe('BrowserWindow module', () => {
+@@ -6565,7 +6565,7 @@ describe('BrowserWindow module', () => {
      });
    });
  
@@ -180,7 +180,7 @@
      // Not implemented on Linux.
      afterEach(closeAllWindows);
  
-@@ -7873,7 +7873,7 @@ describe('BrowserWindow module', () => {
+@@ -7897,7 +7897,7 @@ describe('BrowserWindow module', () => {
    describe('"transparent" option', { tags: ['serial'] }, () => {
      afterEach(closeAllWindows);
  
diff --git a/devel/electron42/files/patch-electron_spec_api-clipboard.spec.ts b/devel/electron42/files/patch-electron_spec_api-clipboard.spec.ts
index fa7383b0964c..3b4121b092a2 100644
--- a/devel/electron42/files/patch-electron_spec_api-clipboard.spec.ts
+++ b/devel/electron42/files/patch-electron_spec_api-clipboard.spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/api-clipboard.spec.ts.orig	2026-09-30 08:48:04 UTC
+--- electron/spec/api-clipboard.spec.ts.orig	2026-10-15 23:46:52 UTC
 +++ electron/spec/api-clipboard.spec.ts
 @@ -54,7 +54,7 @@ ifdescribe(process.platform !== 'win32' || process.arc
      });
@@ -20,10 +20,10 @@
        expect(() => {
 @@ -114,7 +114,7 @@ ifdescribe(process.platform !== 'win32' || process.arc
        const readImage = clipboard.readImage();
-       expect(readImage.toDataURL()).to.equal(i.toDataURL());
+       expect(readImage.toDataURL()).toBe(i.toDataURL());
  
 -      if (process.platform !== 'linux') {
 +      if (process.platform !== 'linux' && process.platform !== 'freebsd') {
          if (process.platform !== 'win32') {
-           expect(clipboard.readBookmark()).to.deep.equal(bookmark);
+           expect(clipboard.readBookmark()).toEqual(bookmark);
          } else {
diff --git a/devel/electron42/files/patch-electron_spec_api-content-tracing.spec.ts b/devel/electron42/files/patch-electron_spec_api-content-tracing.spec.ts
index 699ecab6f83d..ab08b71e6a5d 100644
--- a/devel/electron42/files/patch-electron_spec_api-content-tracing.spec.ts
+++ b/devel/electron42/files/patch-electron_spec_api-content-tracing.spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/api-content-tracing.spec.ts.orig	2026-10-14 00:49:29 UTC
+--- electron/spec/api-content-tracing.spec.ts.orig	2026-10-15 23:46:52 UTC
 +++ electron/spec/api-content-tracing.spec.ts
 @@ -23,7 +23,7 @@ const fixturesPath = path.resolve(import.meta.dirname,
  const fixturesPath = path.resolve(import.meta.dirname, 'fixtures');
@@ -9,12 +9,12 @@
    let pendingRecording: Promise<string> | undefined;
    const record = (
      options: TraceConfig | TraceCategoriesAndOptions,
-@@ -120,7 +120,7 @@ ifdescribe(!['arm', 'arm64'].includes(process.arch) ||
+@@ -118,7 +118,7 @@ ifdescribe(!['arm', 'arm64'].includes(process.arch) ||
      });
    });
  
--  ifdescribe(process.platform !== 'linux')('stopRecording', function () {
-+  ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('stopRecording', function () {
-     this.timeout(recordingTimeout);
- 
+-  ifdescribe(process.platform !== 'linux')('stopRecording', { timeout: recordingTimeout }, () => {
++  ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('stopRecording', { timeout: recordingTimeout }, () => {
      // FIXME(samuelmaddock): this test regularly flakes
+     it.skip('does not crash on empty string', async () => {
+       const options = {
diff --git a/devel/electron42/files/patch-electron_spec_api-crash-reporter.spec.ts b/devel/electron42/files/patch-electron_spec_api-crash-reporter.spec.ts
index 71772cb519ab..afda07b05906 100644
--- a/devel/electron42/files/patch-electron_spec_api-crash-reporter.spec.ts
+++ b/devel/electron42/files/patch-electron_spec_api-crash-reporter.spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/api-crash-reporter.spec.ts.orig	2026-09-30 08:48:04 UTC
+--- electron/spec/api-crash-reporter.spec.ts.orig	2026-10-15 23:46:52 UTC
 +++ electron/spec/api-crash-reporter.spec.ts
 @@ -14,7 +14,7 @@ const isWindowsOnArm = process.platform === 'win32' &&
  import { ifdescribe, ifit, defer, startRemoteControlApp, repeatedly, listen } from './lib/spec-helpers.ts';
@@ -15,42 +15,42 @@
    // 32-bit Linux.  Figure out why.
 -  if (!(process.platform === 'linux' && process.arch === 'ia32')) {
 +  if (!((process.platform === 'linux' || process.platform === 'freebsd') && process.arch === 'ia32')) {
-     expect(fields.upload_file_minidump.length).to.be.greaterThan(0);
+     expect(fields.upload_file_minidump.length).toBeGreaterThan(0);
    }
  }
-@@ -193,7 +193,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
+@@ -191,7 +191,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
  
-       // Ensures that passing in crashpadHandlerPID flag for Linx child processes
-       // does not affect child process args.
--      ifit(process.platform === 'linux')('ensure linux child process args are not modified', async () => {
-+      ifit(process.platform === 'linux' || process.platform === 'freebsd')('ensure linux child process args are not modified', async () => {
-         const { port, waitForCrash } = await startServer();
-         let exitCode: number | null = null;
-         const appPath = path.join(import.meta.dirname, 'fixtures', 'apps', 'crash');
-@@ -660,7 +660,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
-       }
+     // Ensures that passing in crashpadHandlerPID flag for Linx child processes
+     // does not affect child process args.
+-    ifit(process.platform === 'linux')('ensure linux child process args are not modified', async () => {
++    ifit(process.platform === 'linux' || process.platform === 'freebsd')('ensure linux child process args are not modified', async () => {
+       const { port, waitForCrash } = await startServer();
+       let exitCode: number | null = null;
+       const appPath = path.join(import.meta.dirname, 'fixtures', 'apps', 'crash');
+@@ -653,7 +653,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
+     }
  
-       const processList =
--        process.platform === 'linux'
-+        (process.platform === 'linux' || process.platform === 'freebsd')
-           ? ['main', 'renderer', 'sandboxed-renderer']
-           : ['main', 'renderer', 'sandboxed-renderer', 'node'];
-       for (const crashingProcess of processList) {
*** 572 LINES SKIPPED ***