ci(windows-smoke): shell-only commands are n/a without a desktop
Without Explorer the tray icon, taskbar overlay badge and thumbnail toolbar can't exist (E_FAIL / E_NOTIMPL). On a runner without an interactive desktop only those calls may fail, and the app must still respond. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
31363e601c
commit
fbb24dfce7
@@ -360,10 +360,19 @@ for (const [cmd, args] of calls) {
|
|||||||
if (err) failures.push(`${cmd}(${JSON.stringify(args)}): ${err}`);
|
if (err) failures.push(`${cmd}(${JSON.stringify(args)}): ${err}`);
|
||||||
}
|
}
|
||||||
const alive = await page.evaluate(() => document.title !== undefined).catch(() => false);
|
const alive = await page.evaluate(() => document.title !== undefined).catch(() => false);
|
||||||
|
// Without a desktop there is no Explorer shell: the tray icon, the taskbar
|
||||||
|
// overlay badge and the thumbnail toolbar can't exist, and Windows answers
|
||||||
|
// E_FAIL / E_NOTIMPL. cinny ignores those errors; the app must just survive.
|
||||||
|
const SHELL_ONLY = /^(set_badge_count|set_tray_unread|set_tray_call_state|set_tray_update_ready|set_thumbbar)\(/;
|
||||||
|
const real = interactive ? failures : failures.filter((f) => !SHELL_ONLY.test(f));
|
||||||
record(
|
record(
|
||||||
'tray, badge, taskbar, thumbbar and media-control commands',
|
'tray, badge, taskbar, thumbbar and media-control commands',
|
||||||
failures.length === 0 && alive ? 'pass' : 'fail',
|
real.length === 0 && alive ? 'pass' : 'fail',
|
||||||
failures.length ? failures.join(' | ') : `${calls.length} calls ok, app still responsive: ${alive}`,
|
real.length
|
||||||
|
? real.join(' | ')
|
||||||
|
: `${calls.length - failures.length}/${calls.length} calls ok${
|
||||||
|
failures.length ? `, ${failures.length} shell-only calls n/a without a desktop` : ''
|
||||||
|
}; app still responsive: ${alive}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
await page.screenshot({ path: `${OUT}/02-end.png` }).catch(() => undefined);
|
await page.screenshot({ path: `${OUT}/02-end.png` }).catch(() => undefined);
|
||||||
|
|||||||
Reference in New Issue
Block a user