Skip to content

Commit 13b67da

Browse files
committed
e2e: 628 不设能力门,拒绝规则与平台无关;记下 diag 的去重是设计属性
1 parent 5a27f14 commit 13b67da

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

src/build/prepare.cppm

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3918,6 +3918,11 @@ prepare_build(bool print_fingerprint,
39183918
// REPORTED, NOT INFERRED. An override that is only visible as "two
39193919
// versions were declared and one directory exists" is a fact the reader
39203920
// has to reconstruct from the filesystem.
3921+
//
3922+
// This lambda runs twice per build (the early pass and the late one),
3923+
// and the reader sees each note ONCE: `mcpp::diag` deduplicates by the
3924+
// whole payload, which is a designed property rather than an accident
3925+
// of where these two calls sit.
39213926
for (auto const& note : unified->overrides)
39223927
mcpp::diag::warning("xlings/version-override", note);
39233928
return std::pair{std::move(rootSpecs), std::move(fromGraph)};

tests/e2e/628_a_pin_below_a_stated_floor_is_refused.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
#!/usr/bin/env bash
2-
# requires: gcc
2+
# requires:
3+
# NO CAPABILITY GATE, unlike its two neighbours. They need a dependency's
4+
# build program to run, and `gcc` is how this runner spells "a toolchain that
5+
# compiles one"; this test's first leg refuses before anything is compiled and
6+
# its second only builds an ordinary library. The rule it checks is
7+
# platform-independent, so it should be checked on every platform -- a Windows
8+
# runner is where a path or a quoting assumption would surface.
39
# A PIN THAT DOES NOT SATISFY A STATED FLOOR IS A REFUSAL, NOT A SECOND INSTALL.
410
#
511
# Once one package means one version, the two declarations have to be

0 commit comments

Comments
 (0)