Delegation07 (delegation07)
Status: Final
Purpose
- Compare parent-side and child-side NS name sets and report mismatches.
Preconditions And Inputs
- Preconditions:
- A
zone.Zoneobject is available.
- A
- Required inputs:
- Parent-side NS names from
methods.Method2. - Child-side NS names from
methods.Method3.
- Parent-side NS names from
- Profile/config knobs that affect behavior:
- No direct profile knob in this testcase.
Algorithm And Decision Flow
- Emit
TEST_CASE_START. - Read parent names from
Method2and child names fromMethod3. - Build
nameCountsmap by adding+1per parent name and-1per child name. - Partition names:
sameNamesforcount == 0.extraParentforcount > 0.extraChildforcount < 0.
- Sort
sameNames,extraParent, andextraChild. - Emit
EXTRA_NAME_PARENTwhenextraParentis non-empty. - Emit
EXTRA_NAME_CHILDwhenextraChildis non-empty. - Emit
NAMES_MATCHwithsameNamesonly when both extra lists are empty. - Emit
TOTAL_NAME_MISMATCHwhensameNamesis empty. - Emit
TEST_CASE_END.
Emitted Tags (Possible Set)
| Tag | Emitted when |
|---|---|
EXTRA_NAME_CHILD | One or more NS names are present only on child side (or appear more times on child side). |
EXTRA_NAME_PARENT | One or more NS names are present only on parent side (or appear more times on parent side). |
NAMES_MATCH | Parent and child name collections fully match under current counting logic. |
TEST_CASE_END | Testcase completion marker is emitted. |
TEST_CASE_START | Testcase start marker is emitted. |
TOTAL_NAME_MISMATCH | Parent and child share no names under current counting logic. |
Tag Arguments
| Tag | Argument key | Type | Meaning |
|---|---|---|---|
EXTRA_NAME_CHILD | extra | string | Semicolon-delimited sorted child-only names. |
EXTRA_NAME_PARENT | extra | string | Semicolon-delimited sorted parent-only names. |
NAMES_MATCH | names | string | Semicolon-delimited sorted matched names. |
TEST_CASE_END | testcase | string | Testcase display name (Delegation07). |
TEST_CASE_START | testcase | string | Testcase display name (Delegation07). |
TOTAL_NAME_MISMATCH | glue | string | Semicolon-delimited sorted parent-only names. |
TOTAL_NAME_MISMATCH | child | string | Semicolon-delimited sorted child-only names. |
Severity Levels Per Tag
| Tag | Level | Notes |
|---|---|---|
EXTRA_NAME_CHILD | NOTICE | Default from share/profile.json (test_levels.DELEGATION). |
EXTRA_NAME_PARENT | ERROR | Default from share/profile.json (test_levels.DELEGATION). |
NAMES_MATCH | INFO | Default from share/profile.json (test_levels.DELEGATION). |
TEST_CASE_END | DEBUG | Default from share/profile.json (test_levels.DELEGATION). |
TEST_CASE_START | DEBUG | Default from share/profile.json (test_levels.DELEGATION). |
TOTAL_NAME_MISMATCH | ERROR | Default from share/profile.json (test_levels.DELEGATION). |
Differences From Upstream
- Upstream reference:
delegation07.md - Differences (Upstream vs Gonemaster):
- Upstream: describes a parent-to-child containment check for NS names. Gonemaster: performs two-way comparison and emits both parent-extra and child-extra findings.
- Upstream: describes set comparison semantics. Gonemaster: uses count-based comparison (
+1/-1) so repeated names can affect classification. - Upstream: does not describe testcase boundary debug markers. Gonemaster: emits
TEST_CASE_STARTandTEST_CASE_END.
- Potential upstream report:
yes
- If yes, include:
- Upstream expected behavior: Parent-side NS set membership in child-side NS set is the decisive condition.
- Gonemaster observed behavior: Symmetric, count-aware comparison with additional tags for child extras and total mismatch.
- evidence:
docs/specifications/upstream/tests/Delegation-TP/delegation07.md,engine/test/delegation/delegation.go - report status:
not filed
Edge Cases And Limitations
TOTAL_NAME_MISMATCHcan be emitted together withEXTRA_NAME_PARENTandEXTRA_NAME_CHILD.- When both parent and child name inputs are empty,
NAMES_MATCHis emitted with an emptynamesvalue. - Repeated occurrences of the same name can produce mismatch findings even when unique-set membership appears equal.