test(opencode): restore PATH after lifecycle tests (#1210)
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
This commit is contained in:
committed by
GitHub
co-authored by
Isaac Sanchez
parent
f1317d7f71
commit
614e9bbfbf
@@ -11,14 +11,21 @@ vi.mock('node:child_process', () => ({
|
|||||||
const { createOpenCodeLifecycleRuntime } = await import('./lifecycle.js');
|
const { createOpenCodeLifecycleRuntime } = await import('./lifecycle.js');
|
||||||
|
|
||||||
const originalOpencodeBinary = process.env.OPENCODE_BINARY;
|
const originalOpencodeBinary = process.env.OPENCODE_BINARY;
|
||||||
|
const originalPath = process.env.PATH;
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
spawnMock.mockReset();
|
spawnMock.mockReset();
|
||||||
if (typeof originalOpencodeBinary === 'string') {
|
if (typeof originalOpencodeBinary === 'string') {
|
||||||
process.env.OPENCODE_BINARY = originalOpencodeBinary;
|
process.env.OPENCODE_BINARY = originalOpencodeBinary;
|
||||||
return;
|
} else {
|
||||||
|
delete process.env.OPENCODE_BINARY;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof originalPath === 'string') {
|
||||||
|
process.env.PATH = originalPath;
|
||||||
|
} else {
|
||||||
|
delete process.env.PATH;
|
||||||
}
|
}
|
||||||
delete process.env.OPENCODE_BINARY;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const createMockChild = () => {
|
const createMockChild = () => {
|
||||||
@@ -147,7 +154,6 @@ describe('OpenCode lifecycle', () => {
|
|||||||
|
|
||||||
it('falls back to process.env.PATH when neither build function is provided', async () => {
|
it('falls back to process.env.PATH when neither build function is provided', async () => {
|
||||||
delete process.env.OPENCODE_BINARY;
|
delete process.env.OPENCODE_BINARY;
|
||||||
const originalPath = process.env.PATH;
|
|
||||||
process.env.PATH = '/usr/bin:/bin';
|
process.env.PATH = '/usr/bin:/bin';
|
||||||
const child = createMockChild();
|
const child = createMockChild();
|
||||||
spawnMock.mockImplementationOnce(() => {
|
spawnMock.mockImplementationOnce(() => {
|
||||||
@@ -165,7 +171,6 @@ describe('OpenCode lifecycle', () => {
|
|||||||
const [, , options] = spawnMock.mock.calls[0];
|
const [, , options] = spawnMock.mock.calls[0];
|
||||||
|
|
||||||
expect(options.env.PATH).toBe('/usr/bin:/bin');
|
expect(options.env.PATH).toBe('/usr/bin:/bin');
|
||||||
process.env.PATH = originalPath;
|
|
||||||
|
|
||||||
await server.close();
|
await server.close();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user