| ... | ... | @@ -1040,6 +1040,9 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => { |
| 1040 | 1040 | ), |
| 1041 | 1041 | ); |
| 1042 | 1042 | |
| 1043 | // The fixture's t3code.exe is a text placeholder, not an executable. These |
| 1044 | // cases reach the native-load probe, so pin only that host-platform check to |
| 1045 | // Linux. Host-native paths and the real Windows tar/archive checks still run. |
| 1043 | 1046 | it.effect("validates every ASAR-unpacked native in the packaged Windows payload", () => |
| 1044 | 1047 | Effect.scoped( |
| 1045 | 1048 | Effect.gen(function* () { |
| ... | ... | @@ -1068,7 +1071,7 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => { |
| 1068 | 1071 | assert.isBelow(result.fileCount, WINDOWS_PACKAGED_PAYLOAD_FILE_LIMIT); |
| 1069 | 1072 | assert.deepStrictEqual(secondAsar, firstAsar); |
| 1070 | 1073 | }), |
| 1071 | | ), |
| 1074 | ).pipe(Effect.provideService(HostProcessPlatform, "linux")), |
| 1072 | 1075 | ); |
| 1073 | 1076 | |
| 1074 | 1077 | it.effect("validates the emitted WSL archive and its SHA-256 sidecar", () => |
| ... | ... | @@ -1087,7 +1090,7 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => { |
| 1087 | 1090 | |
| 1088 | 1091 | assert.equal(result.packagedAppDir, fixture.packagedAppDir); |
| 1089 | 1092 | }), |
| 1090 | | ), |
| 1093 | ).pipe(Effect.provideService(HostProcessPlatform, "linux")), |
| 1091 | 1094 | ); |
| 1092 | 1095 | |
| 1093 | 1096 | it.effect("rejects a Windows package missing its expected WSL runtime", () => |
| ... | ... | @@ -1235,11 +1238,12 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => { |
| 1235 | 1238 | command.args.some((arg) => arg.endsWith("build-browser-secret.mjs")), |
| 1236 | 1239 | ); |
| 1237 | 1240 | assert.isDefined(helper); |
| 1241 | const path = yield* Path.Path; |
| 1238 | 1242 | assert.deepStrictEqual(helper.args.slice(-4), [ |
| 1239 | 1243 | "--arch", |
| 1240 | 1244 | "x64", |
| 1241 | 1245 | "--output", |
| 1242 | | "/stage/resources/browser-secret/t3-browser-secret", |
| 1246 | path.join("/stage/resources", "browser-secret", "t3-browser-secret"), |
| 1243 | 1247 | ]); |
| 1244 | 1248 | }).pipe( |
| 1245 | 1249 | Effect.provide( |
| ... | ... | @@ -1461,7 +1465,7 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => { |
| 1461 | 1465 | assert.instanceOf(error, BundleNotSelfContainedError); |
| 1462 | 1466 | assert.include(error.output, "t3code-deliberately-missing-package"); |
| 1463 | 1467 | }), |
| 1464 | | ), |
| 1468 | ).pipe(Effect.provideService(HostProcessPlatform, "linux")), |
| 1465 | 1469 | ); |
| 1466 | 1470 | |
| 1467 | 1471 | it.effect("preserves both Linux icon resize failures with structural context", () => { |
| ... | ... | @@ -1701,7 +1705,7 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => { |
| 1701 | 1705 | assert.equal(config.appId, "com.t3tools.t3code"); |
| 1702 | 1706 | assert.equal(mac.entitlements, "/tmp/entitlements.mac.plist"); |
| 1703 | 1707 | assert.equal(mac.provisioningProfile, "/tmp/t3code.provisionprofile"); |
| 1704 | | assert.match(String(mac.sign), /\/scripts\/sign-macos\.ts$/); |
| 1708 | assert.match(String(mac.sign), /[\\/]scripts[\\/]sign-macos\.ts$/); |
| 1705 | 1709 | assert.deepStrictEqual(mac.protocols, [ |
| 1706 | 1710 | { name: "T3 Code", schemes: ["t3code", "t3code-dev"] }, |
| 1707 | 1711 | ]); |