Fix fake_module dependencies for ExtensionsEasyblock with --sanity-check-only#5182
Fix fake_module dependencies for ExtensionsEasyblock with --sanity-check-only#5182Crivella wants to merge 2 commits into
fake_module dependencies for ExtensionsEasyblock with --sanity-check-only#5182Conversation
|
The only error I am seeing in the CI is due to We should probably fix this test by also creating a fake module for |
|
IMO the actual error there is using the fake module at all: It should use the "sanity_check_module", which for module-only is the real module. As I can't find the PR I though I made with that change I split up some changes to sanity checks I had and #5185 implements the fix. However this might be relevant for |
|
Still think that we should either use |
|
When I'm not sure we actually ever need |
|
In theory yes but to avoid confusion we should either have a check on This PR also does fix the problem of |
I think we cannot check that: It is an empty list initially which is a valid value for a SYSTEM EC. We could potentially init it with
With So that one place in IIUC the failure though is not clear (enough) so the check mentioned would still be good, but with a clear comment that this is (likely) an internal usage error |
Currently the
sanity_check_stepofExtensionEasyBlockuseseasybuild-framework/easybuild/framework/extensioneasyblock.py
Line 184 in 632d4d2
to run the sanity check on the main bundle before doing the sanity checks for each individual extension
At this point when running with
--sanity-check-onlytheprepare_stepis skipped and hence the call toeasybuild-framework/easybuild/framework/easyblock.py
Line 3054 in 632d4d2
which causes
self.toolcahain.dependenciesto be an empty list.This causes problems when the sanity check commands of the main bundle requires one of the dependencies to be loaded, see for example easybuilders/easybuild-easyblocks#4122 (comment)
As far as i can tell
toolchain.prepare_stepis always called passingEasyconfig.dependencies()(in generalself.cfg) and this only does some checks on the deps passed without modifying them.I think
self.cfg.dependencies()should be used here directly unless there was ever a reason to not load the Bundle dependencies when running the mainsanity_check_stepof a Bundle with extensionsTested this w.r.t. easybuilders/easybuild-easyblocks#4122 (comment) and it fixes the problem