Syntax03 (syntax03)
Status: Final
Purpose
- Validate that domain labels do not contain a double hyphen in positions 3 and 4, except ACE labels (
xn--...).
Preconditions And Inputs
- Preconditions:
- A
zone.Zoneobject is available.
- A
- Required inputs:
- Child zone name (
z.Name).
- Child zone name (
- Profile/config knobs that affect behavior:
- None inside this testcase.
Algorithm And Decision Flow
- Emit
TEST_CASE_START. - For each label in the tested domain, evaluate
labelNotACEHasDoubleHyphen. - Emit
DISCOURAGED_DOUBLE_DASHfor each label that matches. - If at least one label exists and no issues were emitted, emit
NO_DOUBLE_DASH. - Emit
TEST_CASE_END.
Emitted Tags (Possible Set)
| Tag | Emitted when |
|---|---|
DISCOURAGED_DOUBLE_DASH | A non-ACE label has -- in positions 3 and 4. |
NO_DOUBLE_DASH | Domain labels exist and no discouraged double dash is found. |
TEST_CASE_END | Testcase completion marker is emitted. |
TEST_CASE_START | Testcase start marker is emitted. |
Tag Arguments
| Tag | Argument key | Type | Meaning |
|---|---|---|---|
DISCOURAGED_DOUBLE_DASH | label | string | Label with discouraged double dash pattern. |
DISCOURAGED_DOUBLE_DASH | domain | string | Tested domain name. |
NO_DOUBLE_DASH | domain | string | Tested domain name. |
TEST_CASE_END | testcase | string | Testcase display name (Syntax03). |
TEST_CASE_START | testcase | string | Testcase display name (Syntax03). |
Severity Levels Per Tag
| Tag | Level | Notes |
|---|---|---|
DISCOURAGED_DOUBLE_DASH | WARNING | Default from share/profile.json (test_levels.SYNTAX). |
NO_DOUBLE_DASH | INFO | Default from share/profile.json (test_levels.SYNTAX). |
TEST_CASE_END | DEBUG | Default from share/profile.json (test_levels.SYNTAX). |
TEST_CASE_START | DEBUG | Default from share/profile.json (test_levels.SYNTAX). |
Differences From Upstream
- Upstream reference:
syntax03.md - Differences (Upstream vs Gonemaster):
- Upstream file has a textual typo in “Test case identifier” (
SYNTAX02instead ofSYNTAX03). - Upstream: does not explicitly define this detail. Gonemaster: Runtime behavior matches
SYNTAX03semantics.
- Upstream file has a textual typo in “Test case identifier” (
- Potential upstream report:
yes
- If yes, include:
- Upstream expected behavior: Identifier should match testcase ID
SYNTAX03. - Gonemaster observed behavior: Testcase executes as
syntax03and emitsSyntax03markers. - evidence:
docs/specifications/upstream/tests/Syntax-TP/syntax03.md,engine/test/syntax/syntax.go. - report status:
not filed
- Upstream expected behavior: Identifier should match testcase ID
Edge Cases And Limitations
- ACE labels beginning with
xnare excluded from this warning, includingxn--...labels. - If the tested name has zero labels,
NO_DOUBLE_DASHis not emitted.