reframe-hpc / reframe

A powerful Python framework for writing and running portable regression tests and benchmarks for HPC systems.
https://reframe-hpc.readthedocs.org
BSD 3-Clause "New" or "Revised" License
224 stars 104 forks source link

`--keep-stage-files --dont-restage` fails when used together with `sourcesdir` #3305

Open vchuravy opened 3 weeks ago

vchuravy commented 3 weeks ago

Something like

class MPIWrapper(rfm.CompileOnlyRegressionTest):
    sourcesdir = 'https://github.com/eschnett/MPIwrapper'
    build_system = 'CMake'

fails., when used with --keep-stage-files --dont-restage


Valentin Churavy
  Thursday at 4:38 PM
FAILURE INFO for MPIWrapper ~local:default+julia_1.10 (run: 1/1)
  * Description: 
  * System partition: local
  * Environment: julia_1.10
  * Stage directory: /home/vchuravy/src/trixi-parallel-performance/stage/local/default/julia_1.10/MPIWrapper_e9d9ef7f
  * Node list: 
  * Job type: local (id=None)
  * Dependencies (conceptual): []
  * Dependencies (actual): []
  * Maintainers: []
  * Failing phase: compile
  * Reason: spawned process error: command 'git clone  https://github.com/eschnett/MPIwrapper /home/vchuravy/src/trixi-parallel-performance/stage/local/default/julia_1.10/MPIWrapper_e9d9ef7f' failed with exit code 128:
--- stdout ---
--- stdout ---
--- stderr ---
fatal: destination path '/home/vchuravy/src/trixi-parallel-performance/stage/local/default/julia_1.10/MPIWrapper_e9d9ef7f' already exists and is not an empty directory.
vkarak commented 2 days ago

I reproduced this. We should skip the clone in case of --dont-restage.