-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test_datalad_credential_helper - AttributeError: 'NoneType' object has no attribute 'credential' #7347
Comments
situation is more fun -- it fails again when I run all tests (in parallel) now paired with another failure
|
This rings a bell, I saw this when I looked into #6733 on Windows |
Happened (pretty regularly actually) in #7344 as well, today |
so it is some interaction with other tests. Unfortunately I have not got the ultimate minimal but here is one which does trigger it:
|
Thx, @yarikoptic - reproduced. Looking into it. I suspect the lazy loading of providers gets in the way here. In any case, the delivered providers are not up-to-date. |
Ok, so that is the problem indeed. I suspect, that |
I think, I got the problem. Not sure, why it only shows now, but since there's no recent change in the code involved, I suppose it's a change in tests. |
Providers.from_config_files() stores the result of `get_dataset_root("")` and delivers the previous resut, if not called with `reload` and the dataset root is the same. However, what effectively is stored when CWD is a dataset's root is the empty string - so, effectively `.`. But this would be the same for any dataset root we are in, therefore this lazy loading would not recognize, that the dataset changed. This lead to side-effects of the order of test execution, when a test provided new config files. Those files would be ignored, when providers were read from within a different dataset before. Hence, use the absolute path to store and compare. Closes datalad#7347
Issue fixed in |
@adswa summarized observing it on #7340 (comment)
I have ran into it on a fresh (woohoo -- a new laptop) box in a sample run of
pytest -n10 -v datalad
(done in 2 minutes)details
previously we had possibly related #7165 which was addressed by #7209
WTF on that box (shows that I do not even have git user configured)
It is highly recommended to configure Git before using DataLad. Set both 'user.name' and 'user.email' configuration variables.
WTF
configuration <SENSITIVE, report disabled by configuration>
credentials
datalad
dataset
dependencies
environment
extensions
git-annex
location
python
system
but an annoying part is that rerunning the failed tests -- ie this only one -- passes it after!
so likely it is some annoying interplay with having plain keyring just established or smth?
The text was updated successfully, but these errors were encountered: