Skip to content

More detailed information about dependencies #1521

@victorusu

Description

@victorusu

In one of my tests, reframe reports the -L reports

- BTest:
    Dependencies:
      ATest
...
    Valid environments:
      builtin, PrgEnv-gnu

    Valid systems:
      daint:gpu, dom:gpu, daint:mc, dom:mc

But my BTest only depends on ATest when

  • The ATest has partition login and programming environment PrgEnv-gnu; and
  • The BTest has partition gpu and programming environment builtin or PrgEnv-gnu

I have the following seam in my BTest class

        self.valid_systems = ['daint:gpu','dom:gpu', 'daint:mc','dom:mc']
        self.valid_prog_environs = ['builtin', 'PrgEnv-gnu', 'PrgEnv-intel']
...
        subdeps = {('gpu', 'builtin'): [('login', environment)]}
        subdeps[('gpu', 'PrgEnv-gnu')] = [('login', environment)]
        self.depends_on('ATest', how=rfm.DEPEND_EXACT, subdeps=subdeps)
...

Note: My test is based on PR #1481.

I wanted to know in which conditions BTest depends on the ATest test. I would love to see something like the following (or better)

- BTest:
    Dependencies:
      ATest('login', 'PrgEnv-gnu') when ('gpu', 'builtin')
      ATest('login', 'PrgEnv-gnu') when ('gpu', 'PrgEnv-gnu')
...
    Valid environments:
      builtin, PrgEnv-gnu, PrgEnv-intel

    Valid systems:
      daint:gpu, dom:gpu, daint:mc, dom:mc

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions