Nixpkgs: path collision between .pytest_cache

Created on 10 May 2018  路  4Comments  路  Source: NixOS/nixpkgs

Issue description

pytest artifacts cause path collision, which perhaps don't need to be in the store at all such as .pytest_cache
e.g.

collision between `/nix/store/h01wwkl5ljqkj9yh2gjchr82a8ghm6zq-python3.6-traitlets-4.3.2/.pytest_cache/v/cache/nodeids' and `/nix/store/xxzn78g3wcml73zf3y588v4ln51xcz52-python3.6-et_xmlfile-1.0.1/.pytest_cache/v/cache/nodeids'

Steps to reproduce

Technical details

Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.

 - system: `"x86_64-linux"`
 - host os: `Linux 4.16.7, NixOS, 18.09pre139319.1d9330d63a5 (Jellyfish)`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.0.2`
 - channels(root): `"nixos"`
...
bug python

All 4 comments

Interesting, I did not know about the .pytest_cache files. It seems they are created when we use pytest $out.

I've fixed the build of traitlets on master and the issue specifically to that package in 3390592cfc5d5406f7316a31661e6b0eeb2d352b.

I wonder if they aren't needed any more?

These are needed because the default checkPhase does python setup.py test which fewer and fewer packages use.

Just adding for searchability/reference: et_xmlfile still includes this, and pytest could alternatively be called like py.test -p no:cacheprovider $out if we don't want this cache dir created at all.

pytest could alternatively be called like py.test -p no:cacheprovider $out if we don't want this cache dir created at all.

This approach was attempted as well, however, it would break tests that require the cache.

Was this page helpful?
0 / 5 - 0 ratings