← 输入框|github.com|刷新
Skip to content

2026.11.8.1: mtest's test protocol in mcpp test, tests without main, one std module builder per entry, lock targets per plan, identity-key manifests - #906

Merged
Sunrisepeak merged 63 commits into
mainfrom
release/2026.11.8.1
Nov 8, 2026
Merged

Sunrisepeak merged 63 commits into
mainfrom
release/2026.11.8.1

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Draft. This PR collects mcpp 2026.11.8.1; the items still open are listed at the end.

In this PR

Tests

New e2e tests: 1027–1033. Each passes with this branch's binary, and 1027–1030 and 1032 fail with 2026.11.7.2.

Still to come in this PR

Sunrisepeak and others added 30 commits November 8, 2026 02:18
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… took (#874)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…uild (#874)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… exact release (#904)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…ck files fails the source check

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… names the unquoted key (#904)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…self-ignoring project state directory (#874)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… and Windows by mcpp's own CI; an image is a release form, a native row a build target

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…y; graph.cpp within its length

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…rkspace, as under -p

A workspace's test plan holds a member's test programs only, so its own programs were never built
and its tests found no MCPP_BIN_<NAME>. Each member's programs are built by the member's plan and
named to that member's tests. Found by mtest's conformance suite.

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
openkal-image 0.5.3 enters an image in its convention's floating-point
state (openkal SPEC 12.2); on Windows a thread began with the x87 at
double precision, under which openkal-musl's strtod read 0.4 otherwise.

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
A test program that implements the mtest test protocol, version 1 -- its
entry states test-protocol = 1, or its file carries the marker -- is told
the protocol's variables and reports its cases: a run's record names the
protocol and each case's result and failures, a case a crash left open
failed, and the human report names the failed cases. --case PATTERN runs
the matching cases, --cases lists them, --seed states the seed. A program
that implements no protocol is one case and receives none of the
variables. --no-run records each built test with its program and sources.
(e2e 1035)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… interface in-process

Every accessor reads through value_of: the innermost context's values,
then the environment. A test of a build program's or a plugin's logic
states the values in its own process. (e2e 1036)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…-protocol and mcpp::context

docs/08 states the runner's side of the test protocol; docs/50 the
record's protocol, cases, missing, listed, program and sources, the
launch's protocol and the feature test-protocol; docs/04 the entry key;
docs/30 mcpp::context. English and Chinese.

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…ers to begin a test with no main

The skeletons' test is a file of mtest's cases with no main and the
dev-dependency mcpplibs.mtest; --template lib writes a module, a partition
it exports and its implementation, named after the package. An entry with
test-main = true begins a test file that defines no main; the file's
imports choose among offers, a dev-dependency's source that defines main
(gtest_main.cc) begins a test as before, and two beginnings are refused.
(e2e 1037)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…ailed run points to it

An entry states its guide to writing tests with test-guide (the protocol's
P2.5). --guide lists the package's frameworks with their guides and
repositories and the commands for cases, or the contract and mtest when
there is none; a failed run's report names it and a record carries guide.
(e2e 1037)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…r dependencies by identity in one table

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…Linux shard's suite step within 30 minutes

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… table

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… runner before the stop

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…its parent or child is not deprecated

mcpplibs.mtest and mcpplibs.mtest.gtest in one table cannot both be
unquoted: one name would be a value and a table. (#904; e2e 1032)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…; a dependency's entry that imports std builds std

gtest_main.cc of compat.gtest beneath the GoogleTest adapter was linked
beside the adapter's main; a framework's entry that imports std failed
when nothing else imported it. (e2e 1037)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…brary

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…the record of this round

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…hered once per member

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…ose module edges are unchanged is not compiled again (#874)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Sunrisepeak and others added 27 commits November 8, 2026 11:17
…led test names a module nothing provides; a stale product is out of a program's way

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…run the tests a change affects

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…en E2E_MTEST names one; tests that change the machine's state hold it

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…files keep their paths, and build and test are one configuration

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…ory, a pull request's by its change; unit tests of a pull request by its change; the nightly e2e coverage map

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…when it has no runner

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…ant states

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… the layout of tests

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… it runs

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…cases a listed case declares

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…gram; the quoted-key warning names the key

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…states; 234 holds the machine

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… beginning once

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…nd their jobs

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…text output ends a line with

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
@Sunrisepeak
Sunrisepeak marked this pull request as ready for review November 8, 2026 19:04
@Sunrisepeak Sunrisepeak changed the title 2026.11.8.1 (draft): lock targets per plan, identity-key manifests, target budget, verified openkal rows 2026.11.8.1: mtest's test protocol in mcpp test, tests without main, one std module builder per entry, lock targets per plan, identity-key manifests Nov 8, 2026
@Sunrisepeak
Sunrisepeak merged commit 2211fb5 into main Nov 8, 2026
232 of 234 checks passed
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