53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
/**
|
|
* We skip authenticode cert checks from the service udpates
|
|
* so that we can use updater-xpcshell with the wrong certs for testing.
|
|
* This tests that code path. */
|
|
|
|
function run_test() {
|
|
if (!IS_AUTHENTICODE_CHECK_ENABLED) {
|
|
return;
|
|
}
|
|
|
|
let binDir = getGREBinDir();
|
|
let maintenanceServiceBin = binDir.clone();
|
|
maintenanceServiceBin.append(FILE_MAINTENANCE_SERVICE_BIN);
|
|
|
|
let updaterBin = binDir.clone();
|
|
updaterBin.append(FILE_UPDATER_BIN);
|
|
|
|
debugDump(
|
|
"Launching maintenance service bin: " +
|
|
maintenanceServiceBin.path +
|
|
" to check updater: " +
|
|
updaterBin.path +
|
|
" signature."
|
|
);
|
|
|
|
// Bypass the manifest and run as invoker
|
|
Services.env.set("__COMPAT_LAYER", "RunAsInvoker");
|
|
|
|
let dummyInstallPath = "---";
|
|
let maintenanceServiceBinArgs = [
|
|
"check-cert",
|
|
dummyInstallPath,
|
|
updaterBin.path,
|
|
];
|
|
let maintenanceServiceBinProcess = Cc[
|
|
"@mozilla.org/process/util;1"
|
|
].createInstance(Ci.nsIProcess);
|
|
maintenanceServiceBinProcess.init(maintenanceServiceBin);
|
|
maintenanceServiceBinProcess.run(
|
|
true,
|
|
maintenanceServiceBinArgs,
|
|
maintenanceServiceBinArgs.length
|
|
);
|
|
Assert.equal(
|
|
maintenanceServiceBinProcess.exitValue,
|
|
0,
|
|
"the maintenance service exit value should be 0"
|
|
);
|
|
}
|