Skip to content

Conformance tests failing on BSC MareNostrum5 due to home directories being symlinks to GPFS #281

@kinow

Description

@kinow

Hi,

I tried to run the CWL Conformance Tests with StreamFlow on BSC MareNostrum5, and nearly all tests failed with the same error.

FileNotFoundError: [Errno 2] No such file or directory: '/gpfs/home/bsc/<USER>/cwl/streamflow/file:/home/bsc/<USER>/cwl/streamflow/common-workflow-language-1c1f122f780075d910fdfdea7e15e46eef3c078d/v1.0/v1.0/no-inputs-wf.cwl'

@GlassOfWhiskey helped me troubleshoot it, and apparently cwltest has some code that fails to resolve symlinks, and instead concatenates two directories. Iacopo shared this code with me on Element, so copying it here in case it helps:

def prepare_test_paths(
test: dict[str, str],
cwd: str,
) -> tuple[str, str | None]:
"""Determine the test path and the tool path."""
cwd = schema_salad.ref_resolver.file_uri(cwd)
processfile = test["tool"]
if processfile.startswith(cwd):
processfile = processfile[len(cwd) + 1 :]
jobfile = test.get("job")
if jobfile:
if jobfile.startswith(cwd):
jobfile = jobfile[len(cwd) + 1 :]
return processfile, jobfile

Some context: kinow/cwl-mpi#20 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions