Open TheChymera opened 1 year ago
so the actual failed test:
assert set(ds.repo.get_indexed_files()) == target_files
# and all are under git
for f in target_files:
> assert not ds.repo.is_under_annex(f)
Dataset = <class 'datalad.distribution.dataset.Dataset'>
ds = Dataset('/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0/PI/study')
ds_path = 'PI/study'
f = '.bidsignore'
studydir = PosixPath('/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0/PI/study')
studydir_ = '/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0/PI/study'
subdss = ['PI', 'PI/study']
superds = Dataset('/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0')
target_files = {'.bidsignore',
'.datalad/.gitattributes',
'.datalad/config',
'.gitattributes',
'CHANGES',
'README',
'dataset_description.json',
'scans.json'}
tmp_path = PosixPath('/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0')
heudiconv/tests/test_main.py:152:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.11/site-packages/datalad/support/gitrepo.py:322: in _wrap_normalize_paths
result = func(self, files_new, *args, **kwargs)
args = ()
files = '.bidsignore'
files_new = ['.bidsignore']
func = <function AnnexRepo.is_under_annex at 0x7fc42a1d5d00>
kwargs = {}
map_filenames_back = False
match_return_type = True
normalize = <function _normalize_path at 0x7fc42bda84a0>
remap_filenames = <function normalize_paths.<locals>._wrap_normalize_paths.<locals>.<lambda> at 0x7fc41a499a80>
self = AnnexRepo('/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0/PI/study')
serialize = False
single_file = True
/usr/lib/python3.11/site-packages/datalad/support/annexrepo.py:2006: in is_under_annex
return self._check_files(check, files, batch)
allow_quick = False
batch = False
check = <function AnnexRepo.is_under_annex.<locals>.check at 0x7fc41a4999e0>
files = ['./.bidsignore']
self = AnnexRepo('/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0/PI/study')
/usr/lib/python3.11/site-packages/datalad/support/annexrepo.py:1951: in _check_files
annex_res = fn(files, normalize_paths=False, batch=batch)
batch = False
files = ['./.bidsignore']
fn = <function AnnexRepo.is_under_annex.<locals>.check at 0x7fc41a4999e0>
modified = []
pointers = True
self = AnnexRepo('/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0/PI/study')
/usr/lib/python3.11/site-packages/datalad/support/annexrepo.py:2003: in check
return self.info([f for f in files if not isdir(f)],
files = ['./.bidsignore']
kwargs = {'batch': False, 'normalize_paths': False}
self = AnnexRepo('/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0/PI/study')
/usr/lib/python3.11/site-packages/datalad/support/gitrepo.py:330: in _wrap_normalize_paths
return remap_filenames(result)
args = ()
files = ['./.bidsignore']
files_new = ['./.bidsignore']
func = <function AnnexRepo.info at 0x7fc42a1d6a20>
kwargs = {'batch': False, 'fast': True}
map_filenames_back = True
match_return_type = True
normalize = <function normalize_paths.<locals>._wrap_normalize_paths.<locals>.<lambda> at 0x7fc41a36db20>
remap_filenames = <function normalize_paths.<locals>._wrap_normalize_paths.<locals>.remap_filenames at 0x7fc41a36f060>
result = {}
self = AnnexRepo('/var/tmp/portage/dev-python/heudiconv-0.13.0/temp/pytest-of-portage/pytest-0/test_prepare_for_datalad0/PI/study')
serialize = False
single_file = False
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
out = {}
def remap_filenames(out):
"""Helper to map files back to non-normalized paths"""
if isinstance(out, dict):
> assert(len(out) == len(files_new))
E AssertionError
files = ['./.bidsignore']
files_new = ['./.bidsignore']
out = {}
single_file = False
/usr/lib/python3.11/site-packages/datalad/support/gitrepo.py:305: AssertionError
what version of git-annex is there? (do not see in the log)
@yarikoptic =git-annex-10.20230214
@TheChymera Is this outstanding? then let's tackle during some next interactive coworking session.
Summary
Tests fail, full build log → https://ppb.chymera.eu/0a66d8.log
Platform details:
Choose one:
[x] Local environment Gentoo Linux
Heudiconv version:
=heudiconv-0.13.0
and=heudiconv-0.11.6
confirmed. Probably affects everything in between as well. The log is from0.13.0
.Any ideas what's up? I have
=datalad-0.18.3
installed, all other tests pass fine :/