pythagora
pythagora copied to clipboard
EXPORTED_TESTS_DIR Error: ENOTDIR: not a directory, mkdir '~/.nvm/versions/node/v18.18.0/bin/pythagora/pythagora_tests'
The test dir is trying to create a directory where file exists:
npm i pythagora
npx pythagora \
--unit-tests \
--path src/controllers/list.js \
--pythagora-api-server http://localhost:3000
Starting generation of unit tests...
node:internal/fs/utils:350
throw err;
^
Error: ENOTDIR: not a directory, mkdir '/Users/gardner/.nvm/versions/node/v18.18.0/bin/pythagora/pythagora_tests'
at Object.mkdirSync (node:fs:1398:3)
at /Users/gardner/.nvm/versions/node/v18.18.0/lib/node_modules/pythagora/src/helpers/starting.js:105:47
at Array.forEach (<anonymous>)
at setUpPythagoraDirs (/Users/gardner/.nvm/versions/node/v18.18.0/lib/node_modules/pythagora/src/helpers/starting.js:103:17)
at Object.<anonymous> (/Users/gardner/.nvm/versions/node/v18.18.0/lib/node_modules/pythagora/src/scripts/unit.js:10:1)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:86:12) {
errno: -20,
syscall: 'mkdir',
code: 'ENOTDIR',
path: '/Users/gardner/.nvm/versions/node/v18.18.0/bin/pythagora/pythagora_tests'
}
Node.js v18.18.0
Bash script exited with code 0
When we inspect the path:
ls -lah /Users/gardner/.nvm/versions/node/v18.18.0/bin/pythagora
lrwxr-xr-x 1 gardner staff 44B 3 Oct 12:13 /Users/gardner/.nvm/versions/node/v18.18.0/bin/pythagora -> ../lib/node_modules/pythagora/src/bin/run.js
These appear to be consts defined in https://github.com/Pythagora-io/js-code-processing
How can we pass a value in for test directory?
To reproduce this issue check out the branch from the PR and run:
docker build -t pythagora .
docker run -v /Volumes/src/jellyfin-web:/data -it pythagora npx pythagora \
--unit-tests \
--path /data/src/controllers/list.js