Skip to content

Qualify exclusions by revision, so one configuration serves every revision - #88

Merged
jadamcrain merged 2 commits into
mainfrom
exclusions-by-revision
Oct 15, 2026
Merged

jadamcrain merged 2 commits into
mainfrom
exclusions-by-revision

Conversation

@jadamcrain

Copy link
Copy Markdown
Member

Exclusions now name the revision they're for:

test.exclude.3.1r1/8.26.2 = Assign Class isn't supported yet (stepfunc/dnp3#480)

Checking every exclusion against the revision being run meant a configuration that excluded a 3.1r1 procedure couldn't run 2.7. Unqualified ids were also ambiguous across revisions: 8.23 is Device Attributes in 2.7 and Specific Point Ranges in 3.1r1.

  • A run excludes only its own revision's procedures, so one configuration can carry exclusions for several revisions.
  • Every run, -disabled and -describe check every exclusion, whichever revision runs. The key splits at the first /. A key without one is an error giving the syntax and the revisions. An unknown revision is an error worded as for -rev. An id the named revision doesn't have, a section, or all is an error.
  • The unqualified form is gone; exclusions haven't been released.
  • Everything else is unchanged: the Excluded outcome, RunSummary.exclusions, the report and the CLI output.

The -write/-options example, README, docs/manual-testing.md and docs/automation.md use the new form.

Closes #87

…ision

An exclusion is now test.exclude.<revision id>.<procedure id> = <reason>,
e.g. test.exclude.3.1r1.8.26.2. A run excludes only its own revision's
procedures, and every run, -disabled and -describe check every exclusion
against the revision it names, whichever revision runs. An unqualified key,
an unknown revision, an id the named revision doesn't have, a section or
`all` is a configuration error.

Closes #87
Both ids have dots, so test.exclude.<revision id>/<procedure id> splits at
the first "/". A key without one is an error giving the syntax and the
revisions; an unknown revision is worded as for -rev.
@jadamcrain
jadamcrain added this pull request to the merge queue Oct 15, 2026
Merged via the queue into main with commit 25c3385 Oct 15, 2026
5 checks passed
@jadamcrain
jadamcrain deleted the exclusions-by-revision branch October 15, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Qualify exclusions by revision, so one configuration serves every revision

1 participant