Cylc-flow: Invalid runtime (only) namespaces pass validation

Created on 9 May 2019  路  1Comment  路  Source: cylc/cylc-flow

Invalid task (or generic family) name strings can be set in a suite.rc runtime section & the corresponding suite will still pass validation, as long as they are not set to run.

As noted upon observation of this (copying in from the comment):

We don't run that task, of course, but shouldn't we still flag the runtime task definition as invalid by validate? Presumably if a user adds some task runtime they eventually intend to add-in that task to the scheduling & this would warn them sooner rather than later.

Classifying as a 'bug?' with a '?' because the tasks don't run, so arguably this isn't an issue. Notably, however, this includes task names breaking the suite.rc nested-INI-like syntax (see the example 'bad' task names in the suite below).

Illustrative (minimal) example

The following suite.rc, whereby the final three tasks listed under runtime are clearly invalid as task names, passes cylc validate, even with the --strict option appended:

[scheduling]
    [[dependencies]]
        graph = """
        nice_task #=> [[runtime [[bad]] ]] => @[scheduling++++++ => _[[
        """
[runtime]
    [[ nice_task ]]

    # Should be picked as bad by validate:
    [[ [[runtime [[bad]] ]] ]]
        script = True
    [[@[scheduling++++++]]
        script = True
    [[_[[]]
        script = True
    [[ nice_task #not nice anymore ]]
        script = True

However, by removing the comment # in the graph string line, so that those invalid tasks are scheduled to run, the suite fails validation.

bug small

Most helpful comment

Sounds like a proper bug 馃悰 to me.

>All comments

Sounds like a proper bug 馃悰 to me.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hjoliver picture hjoliver  路  5Comments

oliver-sanders picture oliver-sanders  路  5Comments

oliver-sanders picture oliver-sanders  路  3Comments

kinow picture kinow  路  4Comments

dwsutherland picture dwsutherland  路  3Comments