You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When making the test data, tabix -p bed empty.bed.gz has failed because empty.bed.gz.tbi already exists. The subsequent errors are because other test data files do not exist due to this make failure.
You do not say what you have done to investigate why empty.bed.gz.tbi already exists or why the Makefile rules do not avoid rebuilding it. This code has not changed substantially for the last several releases, and it works for me on FreeBSD 14.
You do not say whether you have run these tests successfully previously or whether this is a newly encountered problem.
The main scenario I can think of in which this file could exist when tabix is run but not exist when make evaluates dependencies is if you are running the Python tests in parallel and multiple makes are trying to create the test data at once. You do not say whether you are running tests in parallel.
43c1066 adds --force to avoid this particular problem, but there are surely also other race conditions in these makefiles. While it would be possible to recode test data creation to create the final outputs atomically or to prevent parallel makes by using a file system mutex, IMHO that's not really worthwhile — really each subdirectory's test data creation is just not parallelisable.
If the Python tests are to be run in parallel, the recommended approach would be to pre-create the test data beforehand by running make once for each directory:
make -C tests/pysam_data # or gmake as appropriate
make -C tests/cbcf_data
make -C tests/tabix_data
Version: 0.22.1
Python-3.9
FreeBSD 14.0
The text was updated successfully, but these errors were encountered: