test: add PI release proof harness
This commit is contained in:
@@ -16,6 +16,11 @@ import {
|
||||
const scratchRoots: string[] = [];
|
||||
const packagedRuntimeRoot = process.env.MAKELORE_PI_STAGED_RUNTIME_ROOT;
|
||||
|
||||
function electronExecutableFromEnvironment(): string {
|
||||
const requireFromProject = createRequire(resolve('package.json'));
|
||||
return process.env.MAKELORE_PI_ELECTRON_EXECUTABLE ?? requireFromProject('electron') as string;
|
||||
}
|
||||
|
||||
async function materializeActiveToolsProbe(root: string): Promise<{
|
||||
extensionPath: string;
|
||||
resultPath: string;
|
||||
@@ -56,8 +61,7 @@ afterEach(async () => {
|
||||
|
||||
describe('locked Pi worker process smoke', () => {
|
||||
it('loads the real Pi 0.84.2 entry through Electron Node and exits by closing stdin', async () => {
|
||||
const requireFromProject = createRequire(resolve('package.json'));
|
||||
const electronExecutable = requireFromProject('electron') as string;
|
||||
const electronExecutable = electronExecutableFromEnvironment();
|
||||
const packageRoot = realpathSync(resolve(
|
||||
'node_modules',
|
||||
'@earendil-works',
|
||||
@@ -124,8 +128,7 @@ describe('locked Pi worker process smoke', () => {
|
||||
}, 15_000);
|
||||
|
||||
it('starts a real ephemeral read-only child with the child extension role', async () => {
|
||||
const requireFromProject = createRequire(resolve('package.json'));
|
||||
const electronExecutable = requireFromProject('electron') as string;
|
||||
const electronExecutable = electronExecutableFromEnvironment();
|
||||
const packageRoot = realpathSync(resolve(
|
||||
'node_modules',
|
||||
'@earendil-works',
|
||||
@@ -181,8 +184,7 @@ describe('locked Pi worker process smoke', () => {
|
||||
it.skipIf(!packagedRuntimeRoot)(
|
||||
'starts the staged production-closure runtime as an ephemeral read-only child',
|
||||
async () => {
|
||||
const requireFromProject = createRequire(resolve('package.json'));
|
||||
const electronExecutable = requireFromProject('electron') as string;
|
||||
const electronExecutable = electronExecutableFromEnvironment();
|
||||
const packageRoot = realpathSync(packagedRuntimeRoot as string);
|
||||
const manifest = JSON.parse(await readFile(join(packageRoot, PI_RUNTIME_MANIFEST), 'utf8')) as {
|
||||
runtime?: { version?: string; cliEntry?: string };
|
||||
@@ -246,8 +248,7 @@ describe('locked Pi worker process smoke', () => {
|
||||
it.skipIf(!packagedRuntimeRoot)(
|
||||
'loads product tools in the staged production-closure parent runtime',
|
||||
async () => {
|
||||
const requireFromProject = createRequire(resolve('package.json'));
|
||||
const electronExecutable = requireFromProject('electron') as string;
|
||||
const electronExecutable = electronExecutableFromEnvironment();
|
||||
const packageRoot = realpathSync(packagedRuntimeRoot as string);
|
||||
const root = await mkdtemp(join(tmpdir(), 'makelore-pi-staged-product-tools-'));
|
||||
scratchRoots.push(root);
|
||||
|
||||
Reference in New Issue
Block a user