Skip to content

Adopt MariaDB project test harness#694

Open
brandonpayton wants to merge 37 commits into
mainfrom
integration/kad-qun-mariadb-tests
Open

Adopt MariaDB project test harness#694
brandonpayton wants to merge 37 commits into
mainfrom
integration/kad-qun-mariadb-tests

Conversation

@brandonpayton

@brandonpayton brandonpayton commented Jun 14, 2026

Copy link
Copy Markdown
Member

Summary

Adopts the MariaDB project test harness work from the PR #3 reference branch into Kandelo, with current Node and browser host validation captured on the integration/kad-qun-mariadb-tests branch.

Scope included in this integration branch:

  • MariaDB project test runners for mysql-test/main, including Node and browser entry points.
  • Browser MariaDB test page and VFS image support needed to run the suite in the browser host.
  • Host/runtime fixes uncovered while making the MariaDB suite fail loudly and classify failures instead of hanging or masking broken subprocess paths.
  • Durable status documentation in docs/mariadb-project-tests.md.

Tracking epic: kad-qun.
Reference PR: brandonpayton#3.

MariaDB mysql-test/main final status

Full-suite artifacts now cover all 1183 upstream mysql-test/main tests on both supported hosts. Node used:

scripts/run-mariadb-project-tests.sh --host node --all --chunk-size 10 --timeout-ms 60000

Browser used:

LD_LIBRARY_PATH=/tmp/pwdeps/root/usr/lib/x86_64-linux-gnu${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} MARIADB_BROWSER_RUNNER_RETRIES=3 scripts/run-mariadb-project-tests.sh --host browser --all --chunk-size 10 --timeout-ms 60000
Host Artifact PASS FAIL XFAIL XPASS SKIP TOTAL Exit
Node test-runs/mariadb-project/kad-qun.4-node-20260613T112749Z/ plus focused reruns for chunks 54/55/56/92 608 18 317 0 240 1183 1
Browser test-runs/gastown-mariadb-browser-full-pr3/ 559 371 0 0 253 1183 1

The Node artifact's raw primary-wrapper count of 596 PASS / 27 FAIL / 311 XFAIL / 0 XPASS / 239 SKIP / 1173 TOTAL is superseded by the reconciled total above because chunk 56 hit the known zero-result harness path (kad-lf9) and chunks 54, 55, 56, and 92 have authoritative focused reruns. The browser artifact already folds its pre-rebase chunks 1-49 and post-rebase resumed chunks 50-119 into one final total.

Post-artifact fixes already landed on the integration branch but are not folded into these hard totals without a rerun: kad-qun.14, kad-qun.16, kad-qun.17, and kad-qun.18.

Detailed follow-up inventory is in docs/mariadb-project-tests.md#failure-inventory-for-follow-up-routing: it lists all 18 Node unexpected failures individually and accounts for the 371 browser FAIL rows by clusters whose counts sum to the hard browser total.

Known follow-ups

Remaining tracked follow-ups are intentionally left as narrow beads rather than blocking this PR:

  • kad-lf9: Node wrapper must fail loudly when a child harness run produces zero result rows.
  • kad-qun.9: browser wrapper should run from resolver-fetched artifacts in a fetch-only worktree.
  • kad-qun.10: browser all-suite runner needs stronger isolation after timeouts, page death, or contaminated MariaDB state.
  • kad-qun.20: Node optimizer/range/subselect/window failures need root-cause classification or timeout/resource-envelope treatment.
  • kad-qun.21: Node sp_stress_case still needs isolated memory-envelope classification after the mysql.proc recovery fix.
  • kad-qun.23: browser MariaDB expected-fail classifications need to cover release-build, plugin/event-scheduler, unsupported helper, and SQL-result limitations that currently appear as raw FAIL rows.
  • kad-qun.24: browser VFS fixture coverage needs std_data, timezone, locale, charset, and cross-suite include path gaps fixed or classified.
  • kad-qun.25: browser VFS/storage-state short reads, read-only tables, file descriptor/resource errors, and corrupted table/index rows need focused reproduction and classification.

Verification

Latest kad-qun.22 report-update verification on the integration branch:

  • cargo test -p kandelo --target aarch64-apple-darwin --lib: 883 passed, 0 failed.
  • cd host && npx vitest run: 76 files passed, 24 skipped; 634 tests passed, 109 skipped.
  • scripts/run-libc-tests.sh: PASS=302, FAIL=0, XFAIL=20, XPASS=0, FLAKY=2, BUILD=0, TIMEOUT=0, TOTAL=324.
  • scripts/run-posix-tests.sh: PASS=174, FAIL=0, XFAIL=3, XPASS=0, SKIP=2, BUILD=0, UNRESOLVED=0, TIMEOUT=0, TOTAL=179.
  • scripts/dev-shell.sh bash scripts/check-abi-version.sh: passed; snapshot/header/TS bindings in sync and ABI_VERSION consistent. Direct ambient bash scripts/check-abi-version.sh used stable Cargo on this host and failed before the canonical dev-shell rerun.

This PR is left open for human review. It should not be merged by the final PR handoff agent.

@github-actions

github-actions Bot commented Jun 14, 2026

Copy link
Copy Markdown

Phase B-1 matrix build status — pr-694-staging

ABI v15. 7 built, 0 failed, 7 total.

Package Arch Status Sha
kandelo-sdk wasm32 built 4acc0935
mariadb-test wasm32 built f1ccd75d
rootfs wasm32 built c92afe60
shell wasm32 built 16f0839a
lamp wasm32 built a7a1c0a9
node-vfs wasm32 built 29cae749
wordpress wasm32 built c43a94fe

Auto-generated; replaced on each push. Raw data in the publish-status workflow artifact.

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