Skip to content

test: observational baseline for per-module rebuild counts#14310

Merged
robinbb merged 3 commits into
ocaml:mainfrom
robinbb:robinbb-test-unwrapped-tight-deps
Apr 27, 2026
Merged

test: observational baseline for per-module rebuild counts#14310
robinbb merged 3 commits into
ocaml:mainfrom
robinbb:robinbb-test-unwrapped-tight-deps

Conversation

@robinbb
Copy link
Copy Markdown
Collaborator

@robinbb robinbb commented Apr 23, 2026

Summary

Adds a blackbox cram test that records the rebuild-target count for a
consumer module C when each of three entry modules (A1, A2, A3)
of an unwrapped dependency library has its interface edited. C
references only A2.

On current main, editing any of A1/A2/A3 rebuilds C (conservative
glob dep over the dependency's object dir). The recorded counts are
A1=1, A3=1, A2>0. Once per-module tightening (#4572) lands, A1
and A3 counts go to zero and a later PR promotes the test output.

Related: #4572, #14116

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an observational blackbox cram test to capture the current (pre-#4572) rebuild behavior for a consumer module when interfaces of entry modules in an unwrapped dependency library change.

Changes:

  • Introduces a new cram test that edits A1, A2, A3 interfaces in an unwrapped base library and records rebuild-target counts for consumer module C.
  • Records current baseline expectations (A1=1, A3=1, A2>0) intended to be promoted once per-module tightening lands.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread test/blackbox-tests/test-cases/per-module-lib-deps/unwrapped-tight-deps.t Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@robinbb robinbb marked this pull request as ready for review April 23, 2026 23:06
@robinbb
Copy link
Copy Markdown
Collaborator Author

robinbb commented Apr 24, 2026

Looking for a volunteer to review.

Comment thread test/blackbox-tests/test-cases/per-module-lib-deps/unwrapped-tight-deps.t Outdated
robinbb added a commit to robinbb/dune that referenced this pull request Apr 27, 2026
Per rgrinberg review on ocaml#14310: replace the [length]-based jq
pipeline with the idiomatic [targetsMatchingFilter] pattern used
in sibling tests (e.g. alias-reexport.t). The recorded output now
shows the actual target paths under [_build/default/consumer/]
that are rebuilt when each of A1/A2/A3 is edited, rather than a
bare count.

This also unifies the three blocks: A1, A3, and A2 all use the
same pipeline. Once ocaml#14116's per-module filter lands, the A1/A3
blocks promote to [], while A2 keeps the c.cmi/c.cmo/c.cmt list.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request Apr 27, 2026
ocaml#14310 (the dep PR that owns unwrapped-tight-deps.t) was updated
per rgrinberg's review to print rebuild target names via
[targetsMatchingFilter] rather than counts via [length], matching
the idiom used by sibling tests like alias-reexport.t.

Resync this PR's copy with ocaml#14310's current shape: take the
canonical content from ocaml#14310, with A1/A3 assertions promoted to
[] (the per-module filter drops unreferenced [base] modules from
[c]'s deps) and A2 keeping its rebuild target list (the one
module [c] references must still rebuild).

The other dep PRs whose tests this branch borrows have only
prose-style differences (post-fix prose on this branch vs
observational-baseline prose on the dep PR) — not new churn —
so they don't need a similar resync.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added 3 commits April 27, 2026 07:20
Add a blackbox test that records, for a consumer module C referencing
only A2 of an unwrapped library [base] with three entry modules
A1/A2/A3 (each with an explicit interface), the rebuild-target count
for C when each of A1/A2/A3 has its signature edited.

On current main, editing any of A1/A2/A3 rebuilds C because the
consumer depends conservatively on a directory-wide glob over
[base]'s object dir. The test records A1=1, A3=1, A2>0.

The test anchors the tightening surface for
ocaml#4572: once per-module filtering
lands, editing A1 or A3 is expected to leave C untouched, at which
point the recorded counts are promoted.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
Previously [consumer] was a single-module library stanza. Dune skips
ocamldep for single-module stanzas with no library deps as an
optimisation, and the per-module-lib-deps filter depends on ocamldep
output. So under the filter's feature branch the test's A1/A3 rebuild
counts flipped from 1 to 0 for two independent reasons: the filter
running on ocamldep output, and a concurrent tweak to the
skip-ocamldep optimisation to run ocamldep for single-module stanzas
that have library deps.

Add an unused module [d.ml] to [consumer]. Ocamldep now runs
unconditionally for [consumer], and the recorded rebuild count for
[c] reflects only the per-module filter's work, not the
skip-ocamldep behaviour. The probe regex still matches [c] only so
[d] being in the rebuild set does not affect the count.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
Per rgrinberg review on ocaml#14310: replace the [length]-based jq
pipeline with the idiomatic [targetsMatchingFilter] pattern used
in sibling tests (e.g. alias-reexport.t). The recorded output now
shows the actual target paths under [_build/default/consumer/]
that are rebuilt when each of A1/A2/A3 is edited, rather than a
bare count.

This also unifies the three blocks: A1, A3, and A2 all use the
same pipeline. Once ocaml#14116's per-module filter lands, the A1/A3
blocks promote to [], while A2 keeps the c.cmi/c.cmo/c.cmt list.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
@robinbb robinbb force-pushed the robinbb-test-unwrapped-tight-deps branch from 60fd49a to f56a633 Compare April 27, 2026 15:40
robinbb added a commit to robinbb/dune that referenced this pull request Apr 27, 2026
Each of the dep PRs supplying a test in
[per-module-lib-deps/] was renamed per Leonidas's review on
ocaml#14309: generic [libA]/[modA1]-style names replaced by
role-bearing names like [dep_lib]/[spurious_rebuild]. This commit
applies the same renames to this PR's local copies of those tests
so they stay convergent with the dep PRs' canonical versions.

Touches:
- single-module-unreferenced-lib.t (ocaml#14308)
- sibling-unreferenced-lib.t (ocaml#14309)
- unwrapped-tight-deps.t (ocaml#14310)
- lib-vs-lib-name-collision.t (ocaml#14324)
- opaque-mli-change.t, opaque-cmx-deps-local.t (ocaml#14331)
- transitive-unreferenced-lib.t (ocaml#14332)
- wrapped-reexport-via-open-flag.t (ocaml#14346)
- auto-wrapped-child-reexport.t (ocaml#14347)

Pure rename + path/dir adjustments. Count assertions preserved
(this PR's promotions to the post-fix counts are unchanged).
Test suite passes.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request Apr 27, 2026
ocaml#14310 (the dep PR that owns unwrapped-tight-deps.t) was updated
per rgrinberg's review to print rebuild target names via
[targetsMatchingFilter] rather than counts via [length], matching
the idiom used by sibling tests like alias-reexport.t.

Resync this PR's copy with ocaml#14310's current shape: take the
canonical content from ocaml#14310, with A1/A3 assertions promoted to
[] (the per-module filter drops unreferenced [base] modules from
[c]'s deps) and A2 keeping its rebuild target list (the one
module [c] references must still rebuild).

The other dep PRs whose tests this branch borrows have only
prose-style differences (post-fix prose on this branch vs
observational-baseline prose on the dep PR) — not new churn —
so they don't need a similar resync.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
@robinbb robinbb merged commit ba4e542 into ocaml:main Apr 27, 2026
101 of 114 checks passed
@robinbb robinbb deleted the robinbb-test-unwrapped-tight-deps branch April 27, 2026 22:01
robinbb added a commit to robinbb/dune that referenced this pull request Apr 28, 2026
Per Copilot review on ocaml#14332: [intermediate_lib] and the [main]
executable were single-module stanzas. Dune's [dep_rules.ml]
short-circuits ocamldep for single-module stanzas, so the test was
exercising the cctx-wide glob fallback rather than isolating the
per-module dependency filtering being baselined. A future change
that flips the short-circuit (e.g. adding [not has_library_deps])
would change this test's count for an unrelated reason — the same
conflation that ocaml#14310 had to undo retroactively.

Add an unused [intermediate_dummy] module to [intermediate_lib]
and an unused [main_dummy] module to the [main] executable so
ocamldep runs unconditionally for both stanzas.

Tighten the trace-probe regex to [dune__exe__Main\\.] so it only
matches Main targets, not the new [Main_dummy]. Switch from a
[length]-based count to the idiomatic [targetsMatchingFilter]
JSON dump used elsewhere in this directory; the recorded targets
are now the explicit [.cmi/.cmti] and [.cmo/.cmt] target_files
lists for the two ocamlc invocations on Main.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request Apr 29, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request Apr 29, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request Apr 29, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request Apr 29, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request Apr 29, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request Apr 30, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request May 1, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request May 1, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request May 1, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request May 1, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 2, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 2, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 3, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 3, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 3, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 3, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 3, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 4, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 6, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 6, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 6, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 6, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 7, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request May 7, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 7, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request May 7, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 7, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 8, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 8, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 8, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 8, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit to robinbb/dune that referenced this pull request May 9, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR ocaml#14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request May 9, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request May 10, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
robinbb added a commit that referenced this pull request May 10, 2026
xyz-3 was branched from xyz-2 c71, which predates several test-
only refinements that landed on xyz: library renames for clarity
([lib_a]/[lib_b] → [dep_lib]/[consumer_lib]), exact-[target_files]
array assertions in place of [length] counts, and the format
resync of [unwrapped-tight-deps.t] tracking dep PR #14310.

This commit copies the xyz HEAD versions of the ten cluster tests
that diverged. All assertions hold under the conservative wrapped-
lib glob fix; no test outcome changes.

Files:
- auto-wrapped-child-reexport.t
- implicit-transitive-deps-false.t
- lib-vs-lib-name-collision.t
- opaque-cmx-deps-local.t
- opaque-mli-change.t
- sibling-unreferenced-lib.t
- single-module-unreferenced-lib.t
- transitive-unreferenced-lib.t
- unwrapped-tight-deps.t
- wrapped-reexport-via-open-flag.t

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
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.

3 participants