Skip to content

mtest 0.7.2 (mcpplibs.mtest, .capi, .gtest, .manifest) - #772

Merged
Sunrisepeak merged 4 commits into
mainfrom
add/mtest-0.7.2
Nov 13, 2026
Merged

Sunrisepeak merged 4 commits into
mainfrom
add/mtest-0.7.2

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

mtest v0.7.2: mcpplibs.mtest.bench gains bench::each — every call measured by itself, reported as name, .p95, .p99, .max, .mean, .per_item, with a lap that pauses and states items. Additive.

The four packages of the one tag and archive; GLOBAL and CN urls carry the same bytes (sha256 c4e6e3d5…e705a, compared after download from both).

@Sunrisepeak
Sunrisepeak merged commit 86c4f09 into main Nov 13, 2026
28 checks passed
Sunrisepeak added a commit to Sunrisepeak/mui that referenced this pull request Nov 13, 2026
…ne's parts — explode, heat, pour, vent; Kiln's spells are numbers; a work that converts a material is counted

xengine.cellular.verbs (the feature `verbs`): an explosion is a pressure over a disc and a heat at its
middle, a pour places a material only where there is gas, a vent gives every so many frames. Each places
matter only where there is none and applies quantities; what follows is the laws'. MatterWorld::converted()
counts the cells a place wrote over something that was not gas.

Kiln's wand is three sets of numbers given to the verbs; the game writes no cell itself, and its sim test
holds it to converting nothing.

Verified: verbs_test 4 (an explosion by a wall: 304 of stone → 271 and 33 of sand, cell for cell, none
converted by the verb; wood heated burns to ash; a pour fills 13 cells of gas, then none, and a place over
stone is counted; a spring gives 100 cells in 400 frames, 98 in the basin). Kiln sim 5, headless 5 — the
same frames as before, bit for bit. Not done: the verbs as agent operations, a picture each (part 2).

STATUS: mtest v0.7.2 released and mirrored; mcpplibs/mcpp-index#772 open.
Sunrisepeak added a commit to Sunrisepeak/mui that referenced this pull request Nov 13, 2026
…rk measured is its metrics, its budgets are the case's bounds; mtest 0.7.2 (bench::each, bench::distribute) for tests/bench

tests/bench/tests/budgets_test.cpp: each registered benchmark is a case of kind bench; the time of an
iteration by where the iterations lie (mtest's bench::distribute), allocations and counters go out as
metrics under the names the budgets use; a budget is an at_most bound of its case, judged by the runner
at the case's end and kept with the run (a budget with `unless` is judged in the case, where the run's
counters are known); a budget for no benchmark fails. It runs where OMUI_BENCH=1 says a release build on
a machine nothing else uses, and is skipped with the reason elsewhere; OMUI_BENCH=quick runs a pass of
each and judges nothing.

CI's release rows run it beside the old step for one round; once the two agree budget for budget the
program's own check, report and main go (step 7b). Upstream for it: mcpp-community/mtest#16 (v0.7.2),
mcpplibs/mcpp-index#772.

Verified here: quick mode — 82 ran and reported, 12 skipped with their reasons; with the switch in a
dev build the bounds are judged (28 over, as a dev build is); without it 94 skipped with the reason.
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