Assisted-by: GLM 5.3 Flash
This commit is contained in:
@@ -119,18 +119,6 @@ jobs:
|
|||||||
# regression names the gate that failed instead of hiding inside the suite.
|
# regression names the gate that failed instead of hiding inside the suite.
|
||||||
run: go test -count=1 -timeout 10m -run 'TestGroundTruth' ./verify/...
|
run: go test -count=1 -timeout 10m -run 'TestGroundTruth' ./verify/...
|
||||||
|
|
||||||
- name: Install qemu-user
|
|
||||||
# The GOOBJ link regression runs the arm64 and riscv64 binaries it links
|
|
||||||
# under qemu-user; without the emulator those two degrade to link-only.
|
|
||||||
# The install is a no-op where it is already present.
|
|
||||||
run: dnf install -y qemu-user
|
|
||||||
|
|
||||||
- name: GOOBJ link parity
|
|
||||||
# The cmd/link parity gate: gasm objects substituted into a real go build
|
|
||||||
# must re-link on all four architectures, and the binaries must reproduce
|
|
||||||
# the toolchain baseline's output (native on amd64, qemu-user elsewhere).
|
|
||||||
run: go test -count=1 -timeout 10m -run 'TestGOOBJLinkRegression' ./verify/...
|
|
||||||
|
|
||||||
- name: Coverage floor
|
- name: Coverage floor
|
||||||
run: |
|
run: |
|
||||||
perl -e '
|
perl -e '
|
||||||
|
|||||||
@@ -62,6 +62,10 @@ unit pkgs=packages run=".*":
|
|||||||
fuzz target pkg fuzztime="60s":
|
fuzz target pkg fuzztime="60s":
|
||||||
systemd-run --user --scope -p MemoryMax=4G -p MemorySwapMax=0 go test -run '^$' -fuzz '{{target}}' -fuzztime={{fuzztime}} {{pkg}}
|
systemd-run --user --scope -p MemoryMax=4G -p MemorySwapMax=0 go test -run '^$' -fuzz '{{target}}' -fuzztime={{fuzztime}} {{pkg}}
|
||||||
|
|
||||||
|
# The cmd/link GOOBJ parity gate, opt-in: the per-push pipeline cannot afford it.
|
||||||
|
link-parity:
|
||||||
|
systemd-run --user --scope -p MemoryMax=4G -p MemorySwapMax=0 env GASM_LINK_PARITY=1 go test -count=1 -timeout 10m -run 'TestGOOBJLinkRegression' ./verify/
|
||||||
|
|
||||||
# Benchmarks. On an idle machine only.
|
# Benchmarks. On an idle machine only.
|
||||||
bench pkgs=packages:
|
bench pkgs=packages:
|
||||||
go test -run '^$' -bench=. -benchmem -count=5 {{pkgs}}
|
go test -run '^$' -bench=. -benchmem -count=5 {{pkgs}}
|
||||||
|
|||||||
@@ -111,11 +111,18 @@ func fieldAfterLinkLog(line, flag string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TestGOOBJLinkRegression is the per-architecture end-to-end gate
|
// TestGOOBJLinkRegression is the per-architecture end-to-end gate
|
||||||
// described at the top of this file.
|
// described at the top of this file. It is a deliberate verification,
|
||||||
|
// not a suite member: building the gasm binary and cross-linking a
|
||||||
|
// module per architecture is minutes of work the shared one-core runner
|
||||||
|
// beside the forge cannot afford on every push, so it runs opt-in, the
|
||||||
|
// justfile's link-parity recipe being the intended way.
|
||||||
func TestGOOBJLinkRegression(t *testing.T) {
|
func TestGOOBJLinkRegression(t *testing.T) {
|
||||||
if testing.Short() {
|
if testing.Short() {
|
||||||
t.Skip("builds the gasm binary and links Go programs")
|
t.Skip("builds the gasm binary and links Go programs")
|
||||||
}
|
}
|
||||||
|
if os.Getenv("GASM_LINK_PARITY") == "" {
|
||||||
|
t.Skip("deliberate verification: set GASM_LINK_PARITY=1 (just link-parity)")
|
||||||
|
}
|
||||||
goBin, err := exec.LookPath("go")
|
goBin, err := exec.LookPath("go")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Skip("no Go toolchain available")
|
t.Skip("no Go toolchain available")
|
||||||
|
|||||||
Reference in New Issue
Block a user