You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit b558039
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: conformance/README.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,6 +91,32 @@ To add a new test, create a new ".py" file in the `tests` directory. Its name mu
91
91
92
92
If a test is updated (augmented or fixed), the process is similar to when adding a new test. Run the conformance test tool to generate new results and manually examine the output of each supported type checker. Then update the conformance status accordingly. Once the conformance status has been updated, rerun the conformance test tool to regenerate the summary report.
93
93
94
+
## Version and Platform Checking Tests
95
+
96
+
The version and implementation checks use the suite's Python 3.12 CPython target,
97
+
with no implementation override. Tests cover both reachable and unreachable
98
+
branches: intentional errors in reachable branches must be reported, errors in
99
+
unreachable branches must be suppressed, and `assert_type` checks verify branch
100
+
selection. Existing three-element version comparisons and `os.name` checks remain
101
+
optional; tuple, set, and list membership checks are required.
102
+
103
+
Platform tests use nonexistent platform names for portable nonmatches and guard
104
+
positive Linux membership checks with `sys.platform == "linux"`. Tagged errors in
105
+
the outer `else` branch keep the expectations valid on non-Linux targets. Run on a
106
+
Linux target to exercise the positive membership cases. Prefix checks include the
107
+
empty prefix (always a match) and a nonexistent prefix (never a match). A guarded
108
+
`freebsd13` scenario tests a matching `freebsd` prefix and a nonmatching `linux`
109
+
prefix; run with a `freebsd13` target to exercise these branches.
110
+
111
+
The ordinary suite does not validate all target configuration mechanisms. Separate
112
+
targeted runs are needed for Windows/Linux selection, the versioned FreeBSD
113
+
scenario, and non-CPython implementation versions distinct from the language version.
114
+
The current runner has no target-scenario matrix, and the checker CLIs examined
115
+
for this change expose language-version/platform options but no implementation-name
116
+
or implementation-version options. Non-CPython configuration coverage is therefore
117
+
deferred until suitable checker support is available; missing implementation-check
118
+
support is still recorded in the ordinary conformance results.
0 commit comments