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

Run unit tests on an updated version of Modules 4 #4415

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

xdelaruelle
Copy link
Contributor

Environment Modules was updated on EL8 from version 4.1.4 to version 4.5.2+patches which can be assimilated to version 4.5.3.

Seems interesting to update the modules4 version used in unit_tests CI workflow to match Environment Modules version found in EL8.

Environment Modules was updated on EL8 from version 4.1.4 to version
4.5.2+patches which can be assimilated to version 4.5.3.

Seems interesting to update the modules4 version used in unit_tests
CI workflow to match Environment Modules version found in EL8.
test_cray_reset and test_independence tests successively load all Cray*
modules. One Cray* module does not unload other Cray* modules loaded
which give an inconsistent environment.

Environment Modules tool version 4.2 and above does not allow setting up
an inconsistent environment without --force option set.

To fix test_cray_reset and test_independence tests for Environment
Modules tool, environment is purged between each toolchain setup.
@xdelaruelle
Copy link
Contributor Author

I have disabled "test_toy_toy" when Environment Modules tool is used as the test produces an inconsitent environment.

"test_toy_toy" test generates two versions of "toy" module. Both modules express a reflexive conflict (against "toy") and toy/0.0-two loads toy/0.0-one.

As these two modules share the same name (toy) and due to the reflexive conflict they express (conflict toy), environment obtained when loading toy/0.0-two is inconsistent as it tries to load toy/0.0-one.

Environment Modules version 4.2 (and above) detects this inconsistency and raise an error unless --force option is set.

I am not fully satisfied with the solution of disabling this "test_toy_toy" test for EnvironmentModules but it seemed to be the more pragmatic way to solve this. Another solution would be to rename the second software "toy_toy", but it requires some changes on the test and duplication of files in the repository. It may not be worth it.

"test_toy_toy" test generates two versions of "toy" module. Both modules
express a reflexive conflict (against "toy") and toy/0.0-two loads
toy/0.0-one.

As these two modules share the same name ("toy") and due to the
reflexive conflict they express, environment obtained when loading
toy/0.0-two is inconsistent as it tries to load toy/0.0-one.

Environment Modules version 4.2 (and above) detects this inconsistency
and raise an error unless --force option is set.

"test_toy_toy" test is adapted to be skipped when Environment Modules
tool is used, as the environment generated by the test produces an error
with this module tool.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants