The bug was seen on this test, but I will try to simplify the scenario. Let's say we have TestA that depends on FixtA and we run reframe with --max-retries=2 and that FixtA failed in the first run while TestA failed in the second run.
- In the first run:
FixtA fails for some reason and as a result TestA fails as well. fixta.stagedir has the expected value (something like stage/cluster/part/env/fixtA_hash). All normal here.
- In the second run:
FixtA succeeds and the fixta.stagedir stagedir will be as expected in the testA (stage/cluster/part/env/fixtA_hash_retry1). But then TestA failed for some other reason so we have to run only TestA in the next "try". All normal here as well.
- In the third run:
FixtA won't run again since it already succeeded. fixta.stagedir stagedir in the testA will not have the expected value this time (with the retry1 suffix). It will be stage/cluster/part/env/fixtA_hash.