test: reproduce stale browser validation result (#4)
This commit is contained in:
1 parent
bc9bb05900
commit
7bd2148243
1 file changed
+20
@@ -0,0 +1,20 @@
|
|||||||
|
// Reproduce an unavailable-browser failure without requiring a browser/server.
|
||||||
|
const assert=require('node:assert/strict');
|
||||||
|
const fs=require('node:fs');
|
||||||
|
const path=require('node:path');
|
||||||
|
const {spawnSync}=require('node:child_process');
|
||||||
|
const folder=path.resolve(__dirname,'../test-results/launch-failure-case');
|
||||||
|
fs.mkdirSync(folder,{recursive:true});
|
||||||
|
const result=path.join(folder,'ui-validation.json');
|
||||||
|
fs.writeFileSync(result,JSON.stringify({status:'passed',previous_run:true}));
|
||||||
|
const run=spawnSync(process.execPath,[path.join(__dirname,'viewer.cjs')],{
|
||||||
|
env:{...process.env,PLAYWRIGHT_CHANNEL:'intentionally-invalid-channel',VIEWER_RESULTS_DIR:folder},
|
||||||
|
encoding:'utf8',timeout:20000
|
||||||
|
});
|
||||||
|
if(run.error)throw run.error;
|
||||||
|
assert.equal(run.status,1,run.stderr||run.stdout);
|
||||||
|
const report=JSON.parse(fs.readFileSync(result,'utf8'));
|
||||||
|
assert.equal(report.status,'failed');
|
||||||
|
assert.match(report.error,/intentionally-invalid-channel/);
|
||||||
|
assert.equal(report.previous_run,undefined);
|
||||||
|
console.log('PASS: browser launch failure returns 1 and overwrites stale success JSON.');
|
||||||
Reference in new issue
Block a user