mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-21 04:10:47 +02:00
fix(gstack2): harden integrated runtime verification
This commit is contained in:
@@ -8,7 +8,12 @@ import {
|
||||
} from '../../runtime/install.js';
|
||||
|
||||
const ROOT = path.resolve(import.meta.dir, '../..');
|
||||
const REQUIRED_CAPABILITIES = ['browse', 'gstack-design', 'make-pdf'] as const;
|
||||
const REQUIRED_CAPABILITIES = [
|
||||
'browse',
|
||||
'gstack-design',
|
||||
'make-pdf',
|
||||
...(process.platform === 'darwin' ? ['gstack-ios-qa-daemon', 'gstack-ios-qa-mint'] : []),
|
||||
] as const;
|
||||
|
||||
export interface RuntimePayloadEntry {
|
||||
path: string;
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bun
|
||||
|
||||
import { collectFreeTestFiles } from '../test-free-shards';
|
||||
import { runStrictTestShard } from '../test-free-strict';
|
||||
|
||||
const GSTACK2_TEST_TIMEOUT_MS = 30_000;
|
||||
const files = collectFreeTestFiles().filter((file) => /^test\/gstack2-.*\.test\.ts$/.test(file));
|
||||
|
||||
if (files.length === 0) {
|
||||
throw new Error('No GStack 2 test files were discovered.');
|
||||
}
|
||||
|
||||
console.log(`[test:gstack2] ${files.length} files across ${files.length} isolated processes`);
|
||||
for (let index = 0; index < files.length; index += 1) {
|
||||
const file = files[index];
|
||||
console.log(`[test:gstack2] file ${index + 1}/${files.length}: ${file}`);
|
||||
const exitCode = await runStrictTestShard([file], GSTACK2_TEST_TIMEOUT_MS);
|
||||
if (exitCode !== 0) {
|
||||
process.exitCode = exitCode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user