From e6eccfcc4bf41ba4d7fe95aef4a18b8f78597d04 Mon Sep 17 00:00:00 2001 From: Daniel Kennedy Date: Tue, 24 Feb 2026 15:14:38 -0500 Subject: [PATCH] Fix Windows tests --- packages/artifact/__tests__/stream.test.ts | 35 ++++++++++------------ 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/packages/artifact/__tests__/stream.test.ts b/packages/artifact/__tests__/stream.test.ts index 719512a9..48b19770 100644 --- a/packages/artifact/__tests__/stream.test.ts +++ b/packages/artifact/__tests__/stream.test.ts @@ -39,26 +39,23 @@ describe('createRawFileUploadStream', () => { }) it('should propagate file read errors through the upload stream', async () => { - const unreadableFile = path.join(fixtures.testDirectory, 'unreadable.txt') - fs.writeFileSync(unreadableFile, 'secret') - fs.chmodSync(unreadableFile, 0o000) + // Use a directory path — createReadStream on a directory fails cross-platform + // Mock lstat to return a non-symlink result so we reach createReadStream + const dirPath = fixtures.testDirectory + jest + .spyOn(fs.promises, 'lstat') + .mockResolvedValue({isSymbolicLink: () => false} as fs.Stats) - const uploadStream = await createRawFileUploadStream(unreadableFile) + const uploadStream = await createRawFileUploadStream(dirPath) - try { - await expect( - new Promise((resolve, reject) => { - uploadStream.on('data', resolve) - uploadStream.on('end', resolve) - uploadStream.on('error', reject) - }) - ).rejects.toThrow( - 'An error has occurred during file read for the artifact' - ) - } finally { - // Restore permissions so cleanup can delete the file - fs.chmodSync(unreadableFile, 0o644) - fs.unlinkSync(unreadableFile) - } + await expect( + new Promise((resolve, reject) => { + uploadStream.on('data', resolve) + uploadStream.on('end', resolve) + uploadStream.on('error', reject) + }) + ).rejects.toThrow( + 'An error has occurred during file read for the artifact' + ) }) })