Skip to content
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

Merged
merged 3 commits into from
Dec 12, 2023

Conversation

AndresOrtegaGuerrero
Copy link
Contributor

@AndresOrtegaGuerrero AndresOrtegaGuerrero commented Dec 12, 2023

Fixes #988

Copy link
Member

@mbercx mbercx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mbercx mbercx merged commit a68e1e1 into aiidateam:main Dec 12, 2023
7 checks passed
Comment on lines +58 to +64
query = QueryBuilder().append(
InstalledCode,
filters={'label': label},
)
try:
return load_code(label=label)
except exceptions.NotExistent:
return query.first()[0]
except TypeError:
Copy link
Contributor

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

Copy link
Member

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?

Copy link
Contributor

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opened #995 to revert.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PdosWorkChain except when tot_magnetization is used
3 participants