-
Notifications
You must be signed in to change notification settings - Fork 105
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
[enhancement] Skip modules system sanity checking when module conflict resolution is off #3054
Conversation
Hello @ekouts, Thank you for updating! Cheers! There are no PEP8 issues in this Pull Request!Do see the ReFrame Coding Style Guide Comment last updated at 2023-12-07 23:33:03 UTC |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #3054 +/- ##
===========================================
- Coverage 86.70% 86.61% -0.09%
===========================================
Files 61 61
Lines 12002 12035 +33
===========================================
+ Hits 10406 10424 +18
- Misses 1596 1611 +15 ☔ View full report in Codecov by Sentry. |
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.
We'd need to document this behaviour in the resolve_module_conflicts
docs. Also what is the behaviour in the following scenario:
- Define a system with a modules system that is not present
- Run reframe with
RFM_RESOLVE_MODULE_CONFLICTS=0 reframe -m module -l
Or with -u
option to unload a module or --purge-env
. We should not crash in this case. Maybe we need to add a cli unit test for these cases now.
I made he changes that you proposed and added a note about the change in the docs. About:
You mean with |
For the docs I would not add this explanation in the environment variable or configuration option, but rather in the system's As for the unit tests, we'd need a unit test to verify that no exception is thrown whenever we try to initialize a backend with As for the failure scenario that I mentioned, here it is: RFM_RESOLVE_MODULE_CONFLICTS=0 ./bin/reframe -C config/machines.py --module foo -c unittests/resources/checks/hellocheck.py -r [ReFrame Setup]
version: 4.5.0-dev.1+b62838cc
command: './bin/reframe -C config/machines.py --module foo -c unittests/resources/checks/hellocheck.py -r'
launched by: [email protected]
working directory: '/Users/karakasv/Repositories/reframe'
settings files: '<builtin>', 'config/machines.py'
check search path: '/Users/karakasv/Repositories/reframe/unittests/resources/checks/hellocheck.py'
stage directory: '/Users/karakasv/Repositories/reframe/stage'
output directory: '/Users/karakasv/Repositories/reframe/output'
log files: '/Users/karakasv/Repositories/reframe/reframe.log'
WARNING: skipping test 'SkipTest': unsupported
ERROR: run session stopped: file not found error: [Errno 2] No such file or directory: 'modulecmd'
Log file(s) saved in '/Users/karakasv/Repositories/reframe/reframe.log' In the |
Ok, I moved the validation in the execute function of the module system. We still want Reframe to "crash" but with a more understandable error, right? |
Not sure if this PR is more suitable for
master
ordevelop
. I can change it in any case.