diff --git a/scripts/config.ts b/scripts/config.ts index 5acd6f11f..b8171167e 100644 --- a/scripts/config.ts +++ b/scripts/config.ts @@ -19,6 +19,7 @@ import { IChainConfig } from './types'; const defaultJestOpts = { proc: 'jest', resolver: 'PASS', + resolverJestErr: 'FAIL', }; export const defaultSasStartOpts = { diff --git a/scripts/sidecarScriptApi.ts b/scripts/sidecarScriptApi.ts index 8d7a87f36..1d7217902 100644 --- a/scripts/sidecarScriptApi.ts +++ b/scripts/sidecarScriptApi.ts @@ -83,12 +83,12 @@ export const killAll = (procs: ProcsType): void => { export const launchProcess = ( cmd: string, procs: ProcsType, - { proc, resolver, resolverStartupErr, args }: IProcOpts + { proc, resolver, resolverJestErr, resolverStartupErr, args }: IProcOpts ): Promise => { return new Promise((resolve, reject) => { const { Success, Failed } = StatusCode; - const command = cmd || 'yarn'; + let jestStatus = Success; procs[proc] = spawn(command, args, { detached: true }); @@ -103,12 +103,17 @@ export const launchProcess = ( procs[proc].stderr.on('data', (data: Buffer) => { console.error(data.toString().trim()); - if (resolverStartupErr && data.toString().includes(resolverStartupErr)) { + if (resolverJestErr && data.toString().trim().includes(resolverJestErr)) { + jestStatus = Failed; + } + + if (resolverStartupErr && data.toString().trim().includes(resolverStartupErr)) { resolve(Failed); } }); procs[proc].on('close', () => { + if (jestStatus === Failed) resolve(Failed); resolve(Success); }); diff --git a/scripts/types.ts b/scripts/types.ts index 65a46a50b..a49dabf61 100644 --- a/scripts/types.ts +++ b/scripts/types.ts @@ -34,5 +34,6 @@ export interface IProcOpts { proc: string; resolver: string; resolverStartupErr?: string; + resolverJestErr?: string; args: string[]; }