When running the test-suite on the local software stack and the EESSI software stack at the same time it is possible to come across duplicate modules.
For example on the Doduo cluster at the UGent we have the module TensorFlow/2.13.0-foss-2023a which is also available in the EESSI software stack.
When running the test-suite ReFrame will generate two tests with the same rfm_hash:
[ RUN ] EESSI_TensorFlow %scale=4_cores %module_name=TensorFlow/2.13.0-foss-2023a %device_type=cpu /179d37ae @doduo:doduo+default
[ RUN ] EESSI_TensorFlow %scale=4_cores %module_name=TensorFlow/2.13.0-foss-2023a %device_type=cpu /179d37ae @doduo:doduo+default
Because of this the test-case is run twice and the results are added to the same output and error files.
This causes the sanity check to fail with sanity error: 2 != 1
The tests will also use the same module twice (The module that is first in the MODULEPATH) and not testing first the local one and than the EESSI one or the other way around.
A possible solution is to deduplicate identical module name in find_modules and give a warning to the user that this is done and specify which module on their respective MODULEPATH will get tested.
When running the test-suite on the local software stack and the EESSI software stack at the same time it is possible to come across duplicate modules.
For example on the Doduo cluster at the UGent we have the module
TensorFlow/2.13.0-foss-2023a
which is also available in the EESSI software stack.When running the test-suite ReFrame will generate two tests with the same rfm_hash:
Because of this the test-case is run twice and the results are added to the same output and error files. This causes the sanity check to fail with
sanity error: 2 != 1
The tests will also use the same module twice (The module that is first in the MODULEPATH) and not testing first the local one and than the EESSI one or the other way around.
A possible solution is to deduplicate identical module name in
find_modules
and give a warning to the user that this is done and specify which module on their respectiveMODULEPATH
will get tested.