EESSI / test-suite

A portable test suite for software installations, using ReFrame
GNU General Public License v2.0
3 stars 11 forks source link

Handle duplicate modules #132

Open laraPPr opened 3 months ago

laraPPr commented 3 months ago

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.

satishskamath commented 3 months ago

This problem occurs, when the module system can access 2 different installations of the same module but with the same module name.