Skip to content

Commit 5e160e9

Browse files
committed
test: hold Vite input stat through regression check
1 parent 4187908 commit 5e160e9

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

‎integrations/vite/input-dependency-race.test.ts‎

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,17 @@ test(
2828
new Error().stack?.includes('addBuildDependency')
2929
) {
3030
delayed = true
31-
await fs.writeFile('input-stat-delayed', 'yes')
32-
await new Promise((resolve) => setTimeout(resolve, 1500))
31+
let result = await stat(...args)
32+
await fs.writeFile('input-stat-pending', 'yes')
33+
while (
34+
!(await fs.access('release-input-stat').then(
35+
() => true,
36+
() => false,
37+
))
38+
) {
39+
await new Promise((resolve) => setTimeout(resolve, 10))
40+
}
41+
return result
3342
}
3443
return stat(...args)
3544
}
@@ -59,10 +68,18 @@ test(
5968
return Boolean(url)
6069
})
6170

71+
let initialStyles = fetchStyles(url)
6272
await retryAssertion(async () => {
63-
expect(await fetchStyles(url)).toContain('--color-brand: red')
73+
expect(await fs.read('input-stat-pending')).toBe('yes')
6474
})
65-
expect(await fs.read('input-stat-delayed')).toBe('yes')
75+
76+
let returnedBeforeStat = await Promise.race([
77+
initialStyles.then(() => true),
78+
new Promise<false>((resolve) => setTimeout(() => resolve(false), 5000)),
79+
])
80+
await fs.write('release-input-stat', 'yes')
81+
expect(returnedBeforeStat).toBe(false)
82+
expect(await initialStyles).toContain('--color-brand: red')
6683

6784
await fs.write(
6885
'src/index.css',

0 commit comments

Comments
 (0)