eeschema simulator: lazy ngspice_service worker — static sharedspice (XSPICE registry + CIDER), init_dll ifdef, e2e both engines

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2026-07-19 15:59:21 +02:00
commit 703cb010b7
30 changed files with 2872 additions and 82 deletions

View file

@ -1,6 +1,7 @@
import { test as base } from '@playwright/test';
import * as path from 'path';
import { setupTestLogger, writeTestLogs, TestLogger, MAIN_CANVAS, waitForApp, tryLoadApp, getCanvasBox, KICAD_LOGS_DIR, getTestFileName } from '../e2e/utils/test-utils';
import { installNgspiceServiceStub } from './utils/ngspice-service';
import { installOccServiceStub } from './utils/occ-service';
// Extend base test with automatic logging
@ -14,6 +15,10 @@ export const test = base.extend<{
// the lazy-load boundary.
page: async ({ page }, use) => {
await installOccServiceStub(page);
// The ngspice_service provider follows the same ambient pattern (the
// standalone installs it for every kicad_editor boot); the worker is only
// fetched on the first simulator request.
await installNgspiceServiceStub(page);
await use(page);
},