Skip to content

Reframe skips tests when a library test is used in multiple files #2759

@ekouts

Description

@ekouts

Tests that are coming from the same library have to come from the same file in order to not be skipped.
This will work:

import reframe as rfm
from hpctestlib.microbenchmarks.gpu.gpu_burn import gpu_burn_check

@rfm.simple_test
class gpu_burn_check_benchmark(gpu_burn_check):
    use_dp = True
    duration = 40
    exclusive_access = True
    valid_systems = ['*']
    valid_prog_environs = ['*']
    reference = {
        'dom:gpu': {
            'gpu_perf_min': (4115, -0.10, None, 'Gflop/s'),
        },
    }

    tags = {'benchmark'}

@rfm.simple_test
class gpu_burn_check_diagnostic(gpu_burn_check):
    use_dp = True
    duration = 5
    exclusive_access = True
    valid_systems = ['*']
    valid_prog_environs = ['*']
    reference = {
        'dom:gpu': {
            'gpu_perf_min': (4115, -0.10, None, 'Gflop/s'),
        },
    }

    tags = {'diagnostic'}

We get two tests:

[List of matched checks]
- gpu_burn_check_diagnostic /6edf14bd
    ^gpu_burn_build ~generic:default+builtin /9cd86ed5
- gpu_burn_check_benchmark /77499166
    ^gpu_burn_build ~generic:default+builtin /9cd86ed5
Found 2 check(s)

But splitting it in two files we get this error:

WARNING: skipping test file '/Users/ekoutsaniti/repos/reframe/checks/gpu_burn_conflict_2.py': name conflict error: test 'gpu_burn_build_6698ebea' from '/Users/ekoutsaniti/repos/reframe/checks/gpu_burn_conflict_2.py' is already defined in '/Users/ekoutsaniti/repos/reframe/checks/gpu_burn_conflict_1.py' (rerun with '-v' for more information)
[List of matched checks]
- gpu_burn_check_diagnostic /6edf14bd
    ^gpu_burn_build ~generic:default+builtin /9cd86ed5
Found 1 check(s)

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions