Skip to content

Sanity function hangs when using wrong arg  #1646

@jgphpc

Description

@jgphpc
import reframe as rfm
import reframe.utility.sanity as sn
# Not sure this is a problem of ReFrame but I would like your feedback.
# By mistake, I added the wrong arg in the sanity function: `1` instead of `self.stdout`:

@rfm.simple_test
class ATest(rfm.RunOnlyRegressionTest):
    def __init__(self):
        self.valid_systems = ['dom:login']
        self.valid_prog_environs = ['PrgEnv-gnu']
        self.executable = "echo 0"
        self.sanity_patterns = sn.assert_found(r'0', 1)
        # self.sanity_patterns = sn.assert_found(r'0', self.stdout)

Instead of crashing, the test will hang forever:

[----------] started processing ATest (ATest)
[ RUN      ] ATest on dom:login using PrgEnv-gnu

I am attaching the log when I type Ctrl-C.
eff.log.gz

I now understand the error message OSError: [Errno 9] Bad file descriptor but
would it be possible to make ReFrame check that the arguments are valid ?
Or is there a tool like pycodestyle that can help ?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions