test: prove platform filename selection
This commit is contained in:
@@ -224,6 +224,19 @@ run always executes from the temp root. Without `-c`, it removes the
|
||||
temporary binary and scratch with its workspace. The language runtime
|
||||
owns individual `@test` functions.
|
||||
|
||||
Before package grouping, both directory drivers and the shared recursive
|
||||
coordinator apply Go 1.26.5's filename OS/architecture rule for WW's fixed
|
||||
`linux/amd64` target. The basename stem ends at its first dot; a final `_test`
|
||||
token is removed for matching; a recognized OS/architecture pair takes
|
||||
precedence over a recognized final single token; and unknown or misplaced
|
||||
tokens remain ordinary. Wrong-target production, same-package test, and
|
||||
external-test files therefore create no imports, variants, generated-main
|
||||
inputs, runtime tests, artifacts, or persistent invalidation. Names are
|
||||
byte-sorted before selected-source validation, so diagnostics do not depend on
|
||||
directory entry order. A recursive pattern omits a directory with no eligible
|
||||
source, while an explicit wrong-target-only build rejects it as having no WW
|
||||
package source. There is no source-level build-expression or user-tag mode.
|
||||
|
||||
Separate compilation is the only driver build path; no compatibility mode
|
||||
switch remains.
|
||||
|
||||
@@ -255,6 +268,19 @@ exact-argv, command, and persistent-workdir observers, the package suite proves
|
||||
archive-only link argv and exact warm/rejection-state behavior without
|
||||
duplicating those broader mechanisms in this observer.
|
||||
|
||||
The same package owner contains the focused
|
||||
`platform_filename_source_selection` observer. It independently generates the
|
||||
suffix matrix, production/internal/external sources, wrong-target import and
|
||||
malformed sentinels, wrong-target-only directories, and reverse-created
|
||||
diagnostic files. Across cold and persistent Cstage/WWstage roots it compares
|
||||
normalized compiler/assembler/linker argv, units, `.wwi`, assembly, objects,
|
||||
archives, generated-main archives, binaries, runtime/test output, direct and
|
||||
recursive behavior, reversed roots, ignored-edit reuse, selected private-change
|
||||
propagation, and request rollback after a dependency has staged and the root
|
||||
compiler fails. The existing bounded-memory package-initialization observer
|
||||
continues to own allocation-failure parity for the shared dynamically grown
|
||||
action universe.
|
||||
|
||||
`test/sep/sepinit_test.ww` is the single focused package-initialization owner.
|
||||
It generates all source trees temporarily and runs independent cold/persistent
|
||||
Cstage and WWstage legs. Its matrix covers blank-only reachability; dependency,
|
||||
|
||||
Reference in New Issue
Block a user