Skip to content

Test: regression for iccV5DspObsToV4Dsp rXYZ/gXYZ/bXYZ tag type (#1362)#1366

Merged
xsscx merged 2 commits into
masterfrom
test-1362-v5dspobs-xyztype
Jun 15, 2026
Merged

Test: regression for iccV5DspObsToV4Dsp rXYZ/gXYZ/bXYZ tag type (#1362)#1366
xsscx merged 2 commits into
masterfrom
test-1362-v5dspobs-xyztype

Conversation

@colourbill-ctrl

Copy link
Copy Markdown
Contributor

Paired regression test for #1362 (fix in #1364). In-repo branch (adds a .github/scripts regression + CTest registration, so it needs the in-repo CI per the #1363/#1365 discussion).

What it checks

Runs iccV5DspObsToV4Dsp on the committed V5 display + observer inputs and inspects the on-disk type signature of each matrix-column tag. Fails if any of rXYZ/gXYZ/bXYZ is still s15Fixed16ArrayType ('sf32', 73663332) instead of XYZType ('XYZ ', 58595a20).

Verification

Producer Result
master (no fix) FAIL, exit 2 (all three 'sf32')
with #1364 PASS, exit 0 (all three 'XYZ ')

Plain functional test; skips cleanly when the tool or fixtures are absent.

Files

  • .github/scripts/iccdev-issue-1362-v5dspobs-xyztype-regression.sh
  • .github/ci/test-data/v5dspobs-lcddisplay.icc (V5 display input), …/v5dspobs-cat8lab.icc (V5 observer input)
  • Build/Cmake/Testing/CMakeLists.txt — CTest registration (iccdev.issue-1362-v5dspobs-xyztype-regression)

⚠️ Merge order: depends on the producer fix in #1364 — expected red until #1364 lands on master. Merge #1364 first, then this.

🤖 Generated with Claude Code

Runs iccV5DspObsToV4Dsp on the committed V5 display + observer inputs and
inspects the on-disk type signature of each matrix-column tag. Fails if any of
rXYZ/gXYZ/bXYZ is still s15Fixed16ArrayType ('sf32', 73663332) instead of
XYZType ('XYZ ', 58595a20).

Verified to FAIL on master (all three 'sf32') and PASS with the #1362 fix.
Plain functional test; skips cleanly when the tool or fixtures are absent.

Fixtures committed under .github/ci/test-data/:
  v5dspobs-lcddisplay.icc (V5 display) and v5dspobs-cat8lab.icc (V5 observer).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added Testing CTest, regression, or test coverage Scripts Shell, PowerShell, or repository automation scripts Configuration Repository, CMake, YAML, JSON, or tool configuration Build Build system, CMake, compiler, or packaging Unix Linux, macOS, Bash, or POSIX shell scope pending CI checks still running labels Jun 15, 2026

@xsscx xsscx left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

2026-06-15 22:04:22 UTC

@xsscx xsscx enabled auto-merge (squash) June 15, 2026 22:07
@xsscx xsscx added Rebase Rebase in Progress. Please Do Not Make Changes. Resolving Merge Conflict Maintainer indicates in process Resolution of Merge Conflict. HOLD CHANGES labels Jun 15, 2026
@xsscx

xsscx commented Jun 15, 2026

Copy link
Copy Markdown
Member

2026-06-15 22:11:03 UTC

Rebase in Progress

In Process

@xsscx xsscx merged commit 21da415 into master Jun 15, 2026
13 of 34 checks passed
@colourbill-ctrl

Copy link
Copy Markdown
Contributor Author

Same diagnosis here — pushed the minimal fix as 63f406d.

The "Update branch" merge of master (2a69ca8) dropped the closing ) of the iccdev.issue-1362-v5dspobs-xyztype-regression iccdev_add_script_test() call, so the #1362 block ran straight into the #1361 block master contributed. CMake aborted at the top of Testing/CMakeLists.txt with Parse error. Function missing ending ")". End of file reached., which is why every build-dependent job (JSON round-trip, Coverage, Example Project, CTest ASAN+UBSAN) failed at configure before any test ran.

63f406d just restores the ) + blank separator so #1362 and #1361 are two well-formed calls again (paren balance verified). CI is re-running. If you've got a rebase staged on your side, feel free to take whichever is cleaner — flagging so we don't double-push.

@xsscx

xsscx commented Jun 15, 2026

Copy link
Copy Markdown
Member

Doing a Rebase and will have that back up shortly unless you push and open PR first.. found macOS bug when Auto-Merge is On.

@colourbill-ctrl

Copy link
Copy Markdown
Contributor Author

Heads-up in case GitHub's PR-head cache is hiding it on your end: the branch already carries the fix — origin/test-1362-v5dspobs-xyztype is at 63f406d right now (git ls-remote confirms), and this PR is open on it. The PR-head field lagged at 2a69ca8 for several minutes after my push, so the UI may still show the old SHA.

That said — all yours. If your rebase is cleaner (and folds in the macOS Auto-Merge fix you found), force-push right over 63f406d; the content's identical and I won't push again. Just flagging so you don't redo work that's already on the wire. Happy to look at the macOS Auto-Merge-on bug separately if it wants its own issue.

@colourbill-ctrl

Copy link
Copy Markdown
Contributor Author

On the macOS-with-Auto-Merge bug — happy to take a swing at it, but I want to triage portable-vs-device-only before touching anything. Could you drop:

  • a link to the failing macOS run/job (or the gh run view --log-failed excerpt), and
  • one line on the trigger — is it the build/test failing on the macOS runner, or GitHub's Auto-Merge flow itself misbehaving (e.g. the throwaway merge commit it builds)?

Reason I ask: most of our macOS reds turn out to be portable toolchain strictness (Apple clang/libc++, char signedness, APFS case-sensitivity on include paths) — fixable here with the macOS CI runners as the verifier, no local Mac needed. If it's genuinely device-runtime-only or an Auto-Merge process quirk, that's yours and I'll stay out of it. Just don't want to guess blind.

@xsscx

xsscx commented Jun 15, 2026

Copy link
Copy Markdown
Member

I too am seeing a major lag / latency, nothing out of the ordinary I guess.. This is ready to go, open a pr when time permits https://github.com/InternationalColorConsortium/iccDEV/tree/refs/heads/fix-rev-1362

@colourbill-ctrl

Copy link
Copy Markdown
Contributor Author

Opened #1368 from your fix-rev-1362 branch to restore the dropped #1362 test.

Confirmed what happened: this PR is marked merged (21da415), but its auto-merge resolved the Testing/CMakeLists.txt conflict against master and dropped all four #1362 artifacts — the script, both .icc fixtures, and the iccdev_add_script_test() registration. Master right now has the #1364 producer fix (CIccTagXYZ) and the #1356/#1361 tests, but no #1362 guard. fix-rev-1362 restores exactly those four pieces, and its #1362 block carries the closing ) (paren balance verified). #1368 has the details.

xsscx pushed a commit that referenced this pull request Jun 15, 2026
…fixtures + CTest registration) (#1368)

Signed-off-by: David Hoyt <dhoyt@hoyt.net>
@colourbill-ctrl

Copy link
Copy Markdown
Contributor Author

Postmortem — this PR merged but its test did not land

Recording what happened for the archive, because the GitHub UI is misleading here.

Timeline (all 2026-06-15 UTC):

Resolution: restored via #1368 (from @xsscx's fix-rev-1362 branch) — re-adds the script + two fixtures + the CTest registration, with the #1362 block's closing ) intact (paren balance verified). #1368 merged at 22:49 (00f04e1), 30 checks green. Master now carries a single, balanced #1362 registration.

Lessons:

  1. GitHub's Update branch / auto-merge conflict resolution can silently corrupt or drop content in CMakeLists.txt — a dropped ) here, dropped files at the 21da415 merge.
  2. A PR can read merged while its auto-merge has silently dropped newly-added files. After any conflicted auto-merge, diff the merge result against the PR head to confirm the intended files actually landed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build Build system, CMake, compiler, or packaging Configuration Repository, CMake, YAML, JSON, or tool configuration pending CI checks still running Rebase Rebase in Progress. Please Do Not Make Changes. Resolving Merge Conflict Maintainer indicates in process Resolution of Merge Conflict. HOLD CHANGES Scripts Shell, PowerShell, or repository automation scripts Testing CTest, regression, or test coverage Unix Linux, macOS, Bash, or POSIX shell scope

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants