Skip to content

Jest cache file use not allowed characters in windows  #6306

@tobwiens

Description

@tobwiens

🐛 Bug Report

Having meteor edgee:slingshot breaks tests on Windows (even tests which are not related to edgee:slingshot). Because cache files contain following pattern edgee:slingshot.

I run with jest --runInBand --no-cache and with a filename limit longer than 260 characters on Windows; to exclude most common issues.

Note: I also use "jest-meteor-stubs": "^1.5.1",.

I get following error:

jest: failed to cache transform results in: C:/Users/Toby/AppData/Local/Temp/jest/jest-transform-cache-3b355e43267006a961f775eebe35ec8b-23cb965d9de5fb025f1c47abdd17736c/52/edgee:slingshot_5227fcb291f4ad4f1bd2925a381ec5c7
    Failure message: EINVAL: invalid argument, rename 'C:\Users\Toby\AppData\Local\Temp\jest\jest-transform-cache-3b355e43267006a961f775eebe35ec8b-23cb965d9de5fb025f1c47abdd17736c\52\edgee:slingshot_5227fcb291f4ad4f1bd2925a381ec5c7.2378049970' -> 'C:\Users\Toby\Ap
pData\Local\Temp\jest\jest-transform-cache-3b355e43267006a961f775eebe35ec8b-23cb965d9de5fb025f1c47abdd17736c\52\edgee:slingshot_5227fcb291f4ad4f1bd2925a381ec5c7'
        at Error (native)

      at Function.writeFileSync [as sync] (node_modules/write-file-atomic/index.js:192:8)

To Reproduce

  1. Windows and package with : in it's name (like edgee:slingshot package).
  2. Run jest tests.

Sometimes a tests succeeds; not sure when those cache files are written or renamed.
I assume that writing the files works, because the file edgee exists, but then renaming it will probably fail.

Expected behavior

Jest tests to work even though the package name has a : in its name.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions