Skip to content

sort/argsort/topk ties: libstdc++ order on Linux (#81, stacked on #82) - #92

Merged
b-re-w merged 3 commits into
developfrom
feat/sort-libstdcxx
Oct 16, 2026
Merged

b-re-w merged 3 commits into
developfrom
feat/sort-libstdcxx

Conversation

@b-re-w

@b-re-w b-re-w commented Oct 15, 2026

Copy link
Copy Markdown
Member

Refs #81 (Linux half; MSVC/Windows remains). Stacked on #82 (#33): merge it first.

Feature added: libstdcxx_sort.rs, a transcription of GCC 13.3 libstdc++ std::sort / partial_sort / nth_element (upstream's manylinux wheel: GCC 13.3.1 per libtorch_cpu.so .comment), selected on linux-gnu.

Test added: Linux oracle tests/ops/sortties_oracle_linux.json measured from upstream torch 2.13.0 in Docker on linux/arm64 and linux/amd64 (byte-identical; 8542 of 22728 cells differ from libc++). test_sortties.py uses it on Linux instead of skipping; golden strict tie check back on Linux; 5 Rust unit tests.

Evidence: transcription agrees 22168/22168 non-error cells (Python reference and the Rust compiled alone). Nullified: threshold 16 -> 15 gives 18445/22168. macOS unchanged: test_sortties 14/14, golden self-test PASS. The Linux shim path is proven only by this PR's Linux CI.

…inux wheel does (#81)

Upstream's manylinux torch 2.13.0 is built with GCC 13.3.1 (the .comment of
libtorch_cpu.so, same on aarch64 and x86_64), so its unstable sort, partial
sort and nth_element are libstdc++'s introsort (threshold 16), heap select
and introselect, not libc++'s. libstdcxx_sort.rs transcribes GCC 13.3's
stl_algo.h / stl_heap.h with libcxx_sort.rs's API; UPSTREAMS_STD selects
libc++ on Apple/Android, libstdc++ on linux-gnu, and the stable order
elsewhere (Windows/MSVC stays the other half of #81).

Oracle: gen_sortties_oracle.py run in Docker on linux/arm64 and
linux/amd64 gave byte-identical files -> tests/ops/sortties_oracle_linux.json
(22728 cells, 8542 differ from the libc++ oracle). The transcription agrees
on 22168 of 22168 non-error cells (Python reference and the Rust compiled
alone). test_sortties.py compares against it on Linux instead of skipping;
the golden strict tie check applies on Linux again.

Nullified: S_THRESHOLD 16 -> 15 drops agreement to 18445 of 22168 and
fails all_equal_17_is_libstdcxx_order. Here (macOS): test_sortties 14/14,
cargo test libstdcxx 5/5, golden self-test PASS. The Linux shim side is
proven only by Linux CI.
PR #92's x86_64 CI: argsort of eighty ties now answers [50, 59, ...] like
upstream, because the shim runs libstdc++'s introsort there. The test
compared it with upstream's *stable* order whenever upstream's default was
not index order; it now compares default with default wherever a runtime is
transcribed (darwin, linux) and keeps the stable reference elsewhere.
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Gate on CI (issue #24)

Full gate: 132 suites = 124 run on at least one CI runner + 8 local-only. The local gate (tests/run.sh on the Mac) is still the only run that covers all 132.

runner exit ran not run here PASS PARTIAL UNVERIFIED (all skipped) FAIL missing/empty ledger
linux 0 124 8 87 33 4 0 0 suites=132/132 ok=1788 FAIL=0 SKIP=282 (printed and re-read
macos 0 124 8 109 13 2 0 0 suites=132/132 ok=1898 FAIL=0 SKIP=172 (printed and re-read
  • linux CI PLAN: runner=linux ran=124/132 not-run=8 (UNVERIFIED on this runner, local-only here): devices/coreml/test_ane_subgraph_components.py, devices/coreml/test_anedecode.py, devices/coreml/test_anesubgraph.py, devices/coreml/test_anetracer.py, devices/coreml/test_coremlops.py, gate/test_toolguard_run_preflight.py, release/test_toolguard_wheel_staging.py, release/test_wheelmatrix.py
  • linux VULKAN COVERAGE: UNVERIFIED -- no Vulkan test executed in this run. A green gate here says nothing about any Vulkan kernel.
  • linux DOCWATCH: PASS -- 1508/1508 evaluated marker(s) hold, 30 skipped
  • macos CI PLAN: runner=macos ran=124/132 not-run=8 (UNVERIFIED on this runner, local-only here): devices/coreml/test_ane_subgraph_components.py, devices/coreml/test_anedecode.py, devices/coreml/test_anesubgraph.py, devices/coreml/test_anetracer.py, devices/coreml/test_coremlops.py, gate/test_toolguard_run_preflight.py, release/test_toolguard_wheel_staging.py, release/test_wheelmatrix.py
  • macos VULKAN COVERAGE: UNVERIFIED -- no Vulkan test executed in this run. A green gate here says nothing about any Vulkan kernel.
  • macos DOCWATCH: PASS -- 1508/1508 evaluated marker(s) hold, 30 skipped

Local-only: verified by no CI runner (8)

  • devices/coreml/test_ane_subgraph_components.py -- imports coremltools at module scope, so without it the suite dies at import, and what it measures is subgraph placement on the Apple Neural Engine, which no hosted runner has. It also has no _skip runner of its own.
  • devices/coreml/test_anedecode.py -- needs CoreML's MLComputePlan answering for the Apple Neural Engine (AGENTS.md §13.3), which no hosted runner has; and its fixture reports a missing coremltools with a hand-rolled print followed by ok, so on a runner it would print ok having run nothing. Local-only until its skips go through _skip, and even then it would only skip.
  • devices/coreml/test_anesubgraph.py -- needs CoreML's MLComputePlan answering for the Apple Neural Engine (AGENTS.md §13.3), which no hosted runner has; and its fixture reports a missing coremltools with a hand-rolled print followed by ok, so on a runner it would print ok having run nothing. Local-only until its skips go through _skip, and even then it would only skip.
  • devices/coreml/test_anetracer.py -- needs CoreML's MLComputePlan answering for the Apple Neural Engine (AGENTS.md §13.3), which no hosted runner has; and its fixture reports a missing coremltools with a hand-rolled print followed by ok, so on a runner it would print ok having run nothing. Local-only until its skips go through _skip, and even then it would only skip.
  • devices/coreml/test_coremlops.py -- needs CoreML's MLComputePlan answering for the Apple Neural Engine (AGENTS.md §13.3), which no hosted runner has; and its fixture reports a missing coremltools with a hand-rolled print followed by ok, so on a runner it would print ok having run nothing. Local-only until its skips go through _skip, and even then it would only skip.
  • gate/test_toolguard_run_preflight.py -- needs the release machine's toolchain, which a hosted runner does not have: the pinned interpreter at .caches/spike-venv (transformers 5.15.1, AGENTS.md §15.2), the rust cross targets and the target CPython distributions under tools/wheel. Measured on run 37078300696 (macos): 3 of 3 tests FAIL with known-good interpreter missing: .../.caches/spike-venv/bin/python.
  • release/test_toolguard_wheel_staging.py -- needs the release machine's toolchain, which a hosted runner does not have: the pinned interpreter at .caches/spike-venv (transformers 5.15.1, AGENTS.md §15.2), the rust cross targets and the target CPython distributions under tools/wheel. Measured on run 37078300696 (macos): its one test FAILs with FileNotFoundError on the same interpreter.
  • release/test_wheelmatrix.py -- needs the release machine's toolchain, which a hosted runner does not have: the pinned interpreter at .caches/spike-venv (transformers 5.15.1, AGENTS.md §15.2), the rust cross targets and the target CPython distributions under tools/wheel. Measured on run 37078300696 (macos): 20 of 22 ok; test_every_target_names_a_rust_target_that_is_installed needs the nine cross targets the release machine has, and test_build_pys_own_self_test_passes asserts LINUX SELF-TEST: PASS, which build.py prints only where the target CPython distribution exists (it skips loudly otherwise). The 20 lose CI coverage until those two take the runner's toolchain into account; follow-up.

Suites that verified nothing, or failed, on a runner

suite runner verdict ok FAIL SKIP
api/test_freethreaded.py linux UNVERIFIED 0 0 5
devices/coreml/test_anepath.py linux UNVERIFIED 0 0 6
devices/mps/test_mpsextreme.py linux UNVERIFIED 0 0 3
devices/mps/test_mpsnarrow.py linux UNVERIFIED 0 0 4
api/test_freethreaded.py macos UNVERIFIED 0 0 5
devices/coreml/test_anepath.py macos UNVERIFIED 0 0 6
Every suite, every runner
suite linux macos
_support/test_shim.py PARTIAL (462 ok / 0 FAIL / 18 SKIP) PARTIAL (472 ok / 0 FAIL / 8 SKIP)
api/test_freethreaded.py UNVERIFIED (0 ok / 0 FAIL / 5 SKIP) UNVERIFIED (0 ok / 0 FAIL / 5 SKIP)
api/test_import.py PASS (3 ok / 0 FAIL / 0 SKIP) PASS (3 ok / 0 FAIL / 0 SKIP)
api/test_threadstate.py PASS (7 ok / 0 FAIL / 0 SKIP) PASS (7 ok / 0 FAIL / 0 SKIP)
api/test_tnnamespace.py PASS (4 ok / 0 FAIL / 0 SKIP) PASS (4 ok / 0 FAIL / 0 SKIP)
api/test_tntransformers.py PASS (14 ok / 0 FAIL / 0 SKIP) PASS (14 ok / 0 FAIL / 0 SKIP)
bindings/test_aliasinc.py PASS (8 ok / 0 FAIL / 0 SKIP) PASS (8 ok / 0 FAIL / 0 SKIP)
bindings/test_argform.py PASS (13 ok / 0 FAIL / 0 SKIP) PASS (13 ok / 0 FAIL / 0 SKIP)
bindings/test_bfallback.py PASS (9 ok / 0 FAIL / 0 SKIP) PASS (9 ok / 0 FAIL / 0 SKIP)
bindings/test_bind2.py PASS (6 ok / 0 FAIL / 0 SKIP) PASS (6 ok / 0 FAIL / 0 SKIP)
bindings/test_bind3.py PASS (17 ok / 0 FAIL / 0 SKIP) PASS (17 ok / 0 FAIL / 0 SKIP)
bindings/test_bind4.py PASS (19 ok / 0 FAIL / 0 SKIP) PASS (19 ok / 0 FAIL / 0 SKIP)
bindings/test_bind5.py PASS (27 ok / 0 FAIL / 0 SKIP) PASS (27 ok / 0 FAIL / 0 SKIP)
bindings/test_bindings.py PASS (14 ok / 0 FAIL / 0 SKIP) PASS (14 ok / 0 FAIL / 0 SKIP)
bindings/test_bkeyset.py PASS (9 ok / 0 FAIL / 0 SKIP) PASS (9 ok / 0 FAIL / 0 SKIP)
bindings/test_convbackend.py PASS (3 ok / 0 FAIL / 0 SKIP) PASS (3 ok / 0 FAIL / 0 SKIP)
bindings/test_dispatch.py PASS (12 ok / 0 FAIL / 0 SKIP) PASS (12 ok / 0 FAIL / 0 SKIP)
bindings/test_metakey.py PASS (5 ok / 0 FAIL / 0 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
bindings/test_methodspell.py PASS (5 ok / 0 FAIL / 0 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
bindings/test_setitem.py PASS (11 ok / 0 FAIL / 0 SKIP) PASS (11 ok / 0 FAIL / 0 SKIP)
devices/coreml/test_ane_subgraph_components.py NOT RUN (0 ok / 0 FAIL / 1 SKIP) NOT RUN (0 ok / 0 FAIL / 1 SKIP)
devices/coreml/test_anedecode.py NOT RUN (0 ok / 0 FAIL / 1 SKIP) NOT RUN (0 ok / 0 FAIL / 1 SKIP)
devices/coreml/test_anepath.py UNVERIFIED (0 ok / 0 FAIL / 6 SKIP) UNVERIFIED (0 ok / 0 FAIL / 6 SKIP)
devices/coreml/test_anesubgraph.py NOT RUN (0 ok / 0 FAIL / 1 SKIP) NOT RUN (0 ok / 0 FAIL / 1 SKIP)
devices/coreml/test_anetracer.py NOT RUN (0 ok / 0 FAIL / 1 SKIP) NOT RUN (0 ok / 0 FAIL / 1 SKIP)
devices/coreml/test_bf16ane.py PARTIAL (1 ok / 0 FAIL / 20 SKIP) PARTIAL (1 ok / 0 FAIL / 20 SKIP)
devices/coreml/test_coremlops.py NOT RUN (0 ok / 0 FAIL / 1 SKIP) NOT RUN (0 ok / 0 FAIL / 1 SKIP)
devices/coreml/test_emptyplan.py PASS (17 ok / 0 FAIL / 0 SKIP) PASS (17 ok / 0 FAIL / 0 SKIP)
devices/coreml/test_npmarshal.py PARTIAL (6 ok / 0 FAIL / 1 SKIP) PARTIAL (6 ok / 0 FAIL / 1 SKIP)
devices/coreml/test_npu2.py PARTIAL (3 ok / 0 FAIL / 12 SKIP) PARTIAL (3 ok / 0 FAIL / 12 SKIP)
devices/cuda/test_cuda.py PARTIAL (18 ok / 0 FAIL / 1 SKIP) PARTIAL (18 ok / 0 FAIL / 1 SKIP)
devices/mps/test_absmps.py PARTIAL (2 ok / 0 FAIL / 2 SKIP) PASS (4 ok / 0 FAIL / 0 SKIP)
devices/mps/test_constset.py PARTIAL (3 ok / 0 FAIL / 7 SKIP) PASS (10 ok / 0 FAIL / 0 SKIP)
devices/mps/test_gemmint.py PARTIAL (4 ok / 0 FAIL / 2 SKIP) PASS (6 ok / 0 FAIL / 0 SKIP)
devices/mps/test_i8mps.py PARTIAL (1 ok / 0 FAIL / 4 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
devices/mps/test_intmps.py PARTIAL (3 ok / 0 FAIL / 5 SKIP) PASS (8 ok / 0 FAIL / 0 SKIP)
devices/mps/test_metalcount.py PARTIAL (1 ok / 0 FAIL / 3 SKIP) PASS (4 ok / 0 FAIL / 0 SKIP)
devices/mps/test_metalplace.py PARTIAL (1 ok / 0 FAIL / 4 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
devices/mps/test_mpsattn.py PARTIAL (4 ok / 0 FAIL / 6 SKIP) PASS (10 ok / 0 FAIL / 0 SKIP)
devices/mps/test_mpsconst.py PARTIAL (3 ok / 0 FAIL / 10 SKIP) PASS (13 ok / 0 FAIL / 0 SKIP)
devices/mps/test_mpsextreme.py UNVERIFIED (0 ok / 0 FAIL / 3 SKIP) PASS (3 ok / 0 FAIL / 0 SKIP)
devices/mps/test_mpsfwd.py PARTIAL (2 ok / 0 FAIL / 7 SKIP) PASS (9 ok / 0 FAIL / 0 SKIP)
devices/mps/test_mpsgen.py PARTIAL (2 ok / 0 FAIL / 5 SKIP) PASS (7 ok / 0 FAIL / 0 SKIP)
devices/mps/test_mpsinplace.py PARTIAL (1 ok / 0 FAIL / 8 SKIP) PASS (9 ok / 0 FAIL / 0 SKIP)
devices/mps/test_mpsnarrow.py UNVERIFIED (0 ok / 0 FAIL / 4 SKIP) PASS (4 ok / 0 FAIL / 0 SKIP)
devices/mps/test_mpsrefuse.py PARTIAL (4 ok / 0 FAIL / 2 SKIP) PASS (6 ok / 0 FAIL / 0 SKIP)
devices/mps/test_mpsresidency.py PARTIAL (1 ok / 0 FAIL / 2 SKIP) PASS (3 ok / 0 FAIL / 0 SKIP)
devices/mps/test_viewdtype.py PARTIAL (5 ok / 0 FAIL / 1 SKIP) PASS (6 ok / 0 FAIL / 0 SKIP)
devices/npu/test_intelnpu.py PARTIAL (44 ok / 0 FAIL / 7 SKIP) PARTIAL (44 ok / 0 FAIL / 7 SKIP)
devices/npu/test_npublob.py PASS (13 ok / 0 FAIL / 0 SKIP) PASS (13 ok / 0 FAIL / 0 SKIP)
devices/npu/test_npudim.py PASS (8 ok / 0 FAIL / 0 SKIP) PASS (8 ok / 0 FAIL / 0 SKIP)
devices/npu/test_npufuse.py PARTIAL (11 ok / 0 FAIL / 3 SKIP) PARTIAL (11 ok / 0 FAIL / 3 SKIP)
devices/npu/test_npuvendor.py PASS (17 ok / 0 FAIL / 0 SKIP) PASS (17 ok / 0 FAIL / 0 SKIP)
devices/npu/test_npuwire.py PASS (12 ok / 0 FAIL / 0 SKIP) PASS (12 ok / 0 FAIL / 0 SKIP)
devices/npu/test_ovcache.py PASS (12 ok / 0 FAIL / 0 SKIP) PASS (12 ok / 0 FAIL / 0 SKIP)
devices/npu/test_ovpar.py PASS (14 ok / 0 FAIL / 0 SKIP) PASS (14 ok / 0 FAIL / 0 SKIP)
devices/qnn/test_qnn.py PARTIAL (15 ok / 0 FAIL / 12 SKIP) PARTIAL (16 ok / 0 FAIL / 11 SKIP)
devices/qnn/test_qnn_ops.py PASS (10 ok / 0 FAIL / 0 SKIP) PASS (10 ok / 0 FAIL / 0 SKIP)
devices/qnn/test_qnn_plan.py PASS (12 ok / 0 FAIL / 0 SKIP) PASS (12 ok / 0 FAIL / 0 SKIP)
devices/qnn/test_qnnci.py PASS (30 ok / 0 FAIL / 0 SKIP) PASS (30 ok / 0 FAIL / 0 SKIP)
devices/qnn/test_qnnprobe.py PASS (4 ok / 0 FAIL / 0 SKIP) PASS (4 ok / 0 FAIL / 0 SKIP)
devices/test_devicens.py PASS (25 ok / 0 FAIL / 0 SKIP) PASS (25 ok / 0 FAIL / 0 SKIP)
devices/test_dtmdev.py PARTIAL (1 ok / 0 FAIL / 4 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
devices/test_dtypedev.py PARTIAL (6 ok / 0 FAIL / 5 SKIP) PASS (11 ok / 0 FAIL / 0 SKIP)
devices/vulkan/test_vulkan4.py PARTIAL (5 ok / 0 FAIL / 71 SKIP) PARTIAL (5 ok / 0 FAIL / 71 SKIP)
devices/vulkan/test_vulkancov.py PASS (8 ok / 0 FAIL / 0 SKIP) PASS (8 ok / 0 FAIL / 0 SKIP)
distributed/test_asyncwork.py PASS (9 ok / 0 FAIL / 0 SKIP) PASS (9 ok / 0 FAIL / 0 SKIP)
distributed/test_collect2.py PASS (16 ok / 0 FAIL / 0 SKIP) PASS (16 ok / 0 FAIL / 0 SKIP)
distributed/test_gloopin.py PASS (6 ok / 0 FAIL / 0 SKIP) PASS (6 ok / 0 FAIL / 0 SKIP)
export/test_export.py PASS (15 ok / 0 FAIL / 0 SKIP) PASS (15 ok / 0 FAIL / 0 SKIP)
export/test_export4.py PASS (18 ok / 0 FAIL / 0 SKIP) PASS (18 ok / 0 FAIL / 0 SKIP)
export/test_export5.py PASS (21 ok / 0 FAIL / 0 SKIP) PASS (21 ok / 0 FAIL / 0 SKIP)
export/test_export6.py PASS (11 ok / 0 FAIL / 0 SKIP) PASS (11 ok / 0 FAIL / 0 SKIP)
export/test_liftfresh.py PASS (9 ok / 0 FAIL / 0 SKIP) PASS (9 ok / 0 FAIL / 0 SKIP)
export/test_structseq.py PASS (7 ok / 0 FAIL / 0 SKIP) PASS (7 ok / 0 FAIL / 0 SKIP)
export/test_varmean.py PASS (7 ok / 0 FAIL / 0 SKIP) PASS (7 ok / 0 FAIL / 0 SKIP)
gate/test_benchguard_ab_upstream.py PASS (6 ok / 0 FAIL / 0 SKIP) PASS (6 ok / 0 FAIL / 0 SKIP)
gate/test_gatelock.py PASS (10 ok / 0 FAIL / 0 SKIP) PASS (10 ok / 0 FAIL / 0 SKIP)
gate/test_skipvis.py PASS (4 ok / 0 FAIL / 0 SKIP) PASS (4 ok / 0 FAIL / 0 SKIP)
gate/test_split_probe.py PASS (2 ok / 0 FAIL / 0 SKIP) PASS (2 ok / 0 FAIL / 0 SKIP)
gate/test_tmpleak.py PASS (3 ok / 0 FAIL / 0 SKIP) PASS (3 ok / 0 FAIL / 0 SKIP)
gate/test_toolguard_run_preflight.py NOT RUN (0 ok / 0 FAIL / 1 SKIP) NOT RUN (0 ok / 0 FAIL / 1 SKIP)
golden/test_x86pins.py PASS (5 ok / 0 FAIL / 0 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
models/test_cbpath.py PASS (5 ok / 0 FAIL / 0 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
models/test_cbwalls.py PARTIAL (9 ok / 0 FAIL / 6 SKIP) PARTIAL (14 ok / 0 FAIL / 1 SKIP)
models/test_higgs.py PASS (23 ok / 0 FAIL / 0 SKIP) PASS (23 ok / 0 FAIL / 0 SKIP)
models/test_qwen3.py PARTIAL (9 ok / 0 FAIL / 13 SKIP) PARTIAL (12 ok / 0 FAIL / 10 SKIP)
models/test_stream.py PARTIAL (6 ok / 0 FAIL / 9 SKIP) PARTIAL (9 ok / 0 FAIL / 6 SKIP)
models/test_voice3.py PARTIAL (37 ok / 0 FAIL / 2 SKIP) PASS (39 ok / 0 FAIL / 0 SKIP)
models/test_voice4.py PARTIAL (12 ok / 0 FAIL / 2 SKIP) PARTIAL (12 ok / 0 FAIL / 2 SKIP)
numerics/test_agree.py PASS (16 ok / 0 FAIL / 0 SKIP) PASS (16 ok / 0 FAIL / 0 SKIP)
numerics/test_agree2.py PASS (13 ok / 0 FAIL / 0 SKIP) PASS (13 ok / 0 FAIL / 0 SKIP)
numerics/test_int8.py PASS (19 ok / 0 FAIL / 0 SKIP) PASS (19 ok / 0 FAIL / 0 SKIP)
numerics/test_remeasure2.py PASS (4 ok / 0 FAIL / 0 SKIP) PASS (4 ok / 0 FAIL / 0 SKIP)
ops/test_canine.py PASS (4 ok / 0 FAIL / 0 SKIP) PASS (4 ok / 0 FAIL / 0 SKIP)
ops/test_cmpscalar.py PASS (5 ok / 0 FAIL / 0 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
ops/test_complex.py PASS (12 ok / 0 FAIL / 0 SKIP) PASS (12 ok / 0 FAIL / 0 SKIP)
ops/test_cplx2.py PASS (10 ok / 0 FAIL / 0 SKIP) PASS (10 ok / 0 FAIL / 0 SKIP)
ops/test_equal_allclose.py PASS (21 ok / 0 FAIL / 0 SKIP) PASS (21 ok / 0 FAIL / 0 SKIP)
ops/test_fft.py PASS (16 ok / 0 FAIL / 0 SKIP) PASS (16 ok / 0 FAIL / 0 SKIP)
ops/test_glu.py PASS (5 ok / 0 FAIL / 0 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
ops/test_indexsel.py PASS (3 ok / 0 FAIL / 0 SKIP) PASS (3 ok / 0 FAIL / 0 SKIP)
ops/test_last7.py PASS (17 ok / 0 FAIL / 0 SKIP) PASS (17 ok / 0 FAIL / 0 SKIP)
ops/test_metaemb.py PASS (20 ok / 0 FAIL / 0 SKIP) PASS (20 ok / 0 FAIL / 0 SKIP)
ops/test_metafam.py PASS (15 ok / 0 FAIL / 0 SKIP) PASS (15 ok / 0 FAIL / 0 SKIP)
ops/test_metastride.py PASS (13 ok / 0 FAIL / 0 SKIP) PASS (13 ok / 0 FAIL / 0 SKIP)
ops/test_pad.py PASS (23 ok / 0 FAIL / 0 SKIP) PASS (23 ok / 0 FAIL / 0 SKIP)
ops/test_repeat.py PASS (18 ok / 0 FAIL / 0 SKIP) PASS (18 ok / 0 FAIL / 0 SKIP)
ops/test_rnn.py PASS (26 ok / 0 FAIL / 0 SKIP) PASS (26 ok / 0 FAIL / 0 SKIP)
ops/test_scatter.py PASS (23 ok / 0 FAIL / 0 SKIP) PASS (23 ok / 0 FAIL / 0 SKIP)
ops/test_signedzero.py PARTIAL (2 ok / 0 FAIL / 1 SKIP) PASS (3 ok / 0 FAIL / 0 SKIP)
ops/test_sortties.py PASS (14 ok / 0 FAIL / 0 SKIP) PASS (14 ok / 0 FAIL / 0 SKIP)
ops/test_strided.py PASS (12 ok / 0 FAIL / 0 SKIP) PASS (12 ok / 0 FAIL / 0 SKIP)
ops/test_tail1.py PASS (32 ok / 0 FAIL / 0 SKIP) PASS (32 ok / 0 FAIL / 0 SKIP)
ops/test_tail2.py PASS (11 ok / 0 FAIL / 0 SKIP) PASS (11 ok / 0 FAIL / 0 SKIP)
ops/test_tail3.py PASS (17 ok / 0 FAIL / 0 SKIP) PASS (17 ok / 0 FAIL / 0 SKIP)
ops/test_tail4.py PASS (25 ok / 0 FAIL / 0 SKIP) PASS (25 ok / 0 FAIL / 0 SKIP)
ops/test_vmap.py PASS (8 ok / 0 FAIL / 0 SKIP) PASS (8 ok / 0 FAIL / 0 SKIP)
release/test_cigate.py PASS (19 ok / 0 FAIL / 0 SKIP) PASS (19 ok / 0 FAIL / 0 SKIP)
release/test_cipub.py PASS (38 ok / 0 FAIL / 0 SKIP) PASS (38 ok / 0 FAIL / 0 SKIP)
release/test_docrefs.py PASS (11 ok / 0 FAIL / 0 SKIP) PASS (11 ok / 0 FAIL / 0 SKIP)
release/test_ftwheel.py PASS (26 ok / 0 FAIL / 0 SKIP) PASS (26 ok / 0 FAIL / 0 SKIP)
release/test_layout.py PASS (6 ok / 0 FAIL / 0 SKIP) PASS (6 ok / 0 FAIL / 0 SKIP)
release/test_platver_harnesses.py PASS (9 ok / 0 FAIL / 0 SKIP) PASS (9 ok / 0 FAIL / 0 SKIP)
release/test_publish.py PASS (4 ok / 0 FAIL / 0 SKIP) PASS (4 ok / 0 FAIL / 0 SKIP)
release/test_release.py PARTIAL (10 ok / 0 FAIL / 1 SKIP) PASS (11 ok / 0 FAIL / 0 SKIP)
release/test_style.py PASS (5 ok / 0 FAIL / 0 SKIP) PASS (5 ok / 0 FAIL / 0 SKIP)
release/test_toolguard_wheel_staging.py NOT RUN (0 ok / 0 FAIL / 1 SKIP) NOT RUN (0 ok / 0 FAIL / 1 SKIP)
release/test_wheelmatrix.py NOT RUN (0 ok / 0 FAIL / 1 SKIP) NOT RUN (0 ok / 0 FAIL / 1 SKIP)
training/test_stage0.py PASS (12 ok / 0 FAIL / 0 SKIP) PASS (12 ok / 0 FAIL / 0 SKIP)
training/test_stagetype.py PASS (6 ok / 0 FAIL / 0 SKIP) PASS (6 ok / 0 FAIL / 0 SKIP)
training/test_train.py PASS (11 ok / 0 FAIL / 0 SKIP) PASS (11 ok / 0 FAIL / 0 SKIP)

A SKIP is unverified on that runner, never passed. UNVERIFIED means the suite ran and every one of its tests skipped by name.

@b-re-w
b-re-w merged commit 1709227 into develop Oct 16, 2026
6 checks passed
@b-re-w
b-re-w deleted the feat/sort-libstdcxx branch October 16, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant