-
Notifications
You must be signed in to change notification settings - Fork 80
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
Fix/988/pdosworkchain #993
Fix/988/pdosworkchain #993
Conversation
8bb81e0
to
1c6aa3d
Compare
1c6aa3d
to
68bd925
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @AndresOrtegaGuerrero!
query = QueryBuilder().append( | ||
InstalledCode, | ||
filters={'label': label}, | ||
) | ||
try: | ||
return load_code(label=label) | ||
except exceptions.NotExistent: | ||
return query.first()[0] | ||
except TypeError: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why was this changed? @mbercx I don't understand this nor do I think it is correct. I would revert this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not 100% what was happening under the pytest
hood, but when using pytest.mark.parametrize
to test the two possible NSCF output parameters, it seems to somehow have created two instances of the quantumespresso.pw
code, and the second test fails with:
aiida.common.exceptions.MultipleObjectsError: multiple Code entries found with LABEL<test.quantumespresso.pw>
My solution is a bit of a late-night hack, I'll admit. ^^
Looking into this further, it actually seems that VSCode running the test in parallel causes the issue. After reverting reverting the change here, the tests still pass fine. Running pytest
manually locally also works without issue.
Happy to open a PR to revert, but maybe there is also a more elegant solution to have the tests run properly in parallel?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, the tests are not designed to be run in parallel, especially not if they use the same storage backend. Even if you "fix" this case, there is bound to be a shitload of other problems lying in wait when you have multiple tests run against the same database. So I really think you just shouldn't run them in parallel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Opened #995 to revert.
Fixes #988