Explorar o código

test(windows): vary HMR polling writes

Tianyi Cui hai 1 mes
pai
achega
95eb4bcf40
Modificáronse 1 ficheiros con 6 adicións e 2 borrados
  1. 6 2
      packages/boot/app-boot/tests/hmr-config.spec.ts

+ 6 - 2
packages/boot/app-boot/tests/hmr-config.spec.ts

@@ -48,9 +48,13 @@ describe('HMR exact config paths', () => {
     try {
       const deadline = Date.now() + 20_000
       for (let generation = 1; !observed.includes(expected); generation += 1) {
-        if (Date.now() >= deadline) throw new Error('HMR did not observe a module change through the alias')
+        if (Date.now() >= deadline) {
+          throw new Error(`HMR did not observe ${expected} through the alias; observed ${JSON.stringify(observed)}`)
+        }
         // The watch base, not the writer spelling, is the alias under test.
-        writeFileSync(filename, `export const generation = ${generation}\n`)
+        // Grow the file on every write: polling must not depend on timestamp
+        // precision when several generations land inside one filesystem tick.
+        writeFileSync(filename, `export const generation = ${generation}\n${' '.repeat(generation)}\n`)
         // Leave Chokidar's atomic-write window idle so one coalesced change can publish.
         await new Promise(resolve => setTimeout(resolve, 250))
       }