Skip to content

check_decode: print a PXF rejection with its line:col, as protowire-go does - #146

Merged
trendvidia merged 2 commits into
mainfrom
check-decode-position-145
Nov 5, 2026
Merged

trendvidia merged 2 commits into
mainfrom
check-decode-position-145

Conversation

@bfrancojr

@bfrancojr bfrancojr commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #145.

check_decode printed a PXF rejection without its position. protowire-go prints reject: L:C: msg. The library already keeps the position on the Status, so PxfDecode and PxfPb now print Status::ToString(), which gives line:col: msg. The PB and SBE paths carry no position and are unchanged.

Evidence (macOS, on main a632c6e):

  • New ctests check_decode_position_pxf and check_decode_position_pxf-pb run the binary on testdata/check_decode/unknown-field.pxf and expect reject: 3:3: unknown field "nope" in test.v1.AllTypes. That is the text protowire-go's check_decode prints for the same input, measured on check_decode: a PXF rejection leaves out the line:col prefix that protowire-go prints #145.
  • With main's main.cc restored, both tests fail (Required regular expression not found). With the fix, both pass.
  • Full ctest: 100% passed, 658 of 658.
  • clang-format 18: clean.

No gate verdict changes. The spec's cross_security_check.sh sends check_decode's output to /dev/null and judges by exit code alone, which this PR leaves unchanged (read in the script at spec main 0317811).

@trendvidia
trendvidia force-pushed the check-decode-position-145 branch from 0802fc8 to 4b516a6 Compare November 4, 2026 19:17
@bfrancojr

Copy link
Copy Markdown
Collaborator Author

Rebased onto main e1c1b72 (#136 merged); head is now 4b516a6. The PR's own diff is unchanged, checked by comparing its added and removed lines before and after the rebase. Local ctest at this head: 665 of 665.

@trendvidia
trendvidia force-pushed the check-decode-position-145 branch from 4b516a6 to cd52edd Compare November 4, 2026 22:52
@bfrancojr

Copy link
Copy Markdown
Collaborator Author

Rebased onto main df6b102; head is now cd52edd. The diff is unchanged. Local ctest: 691 of 691.

@trendvidia
trendvidia force-pushed the check-decode-position-145 branch from cd52edd to 1695e1d Compare November 5, 2026 04:19
@bfrancojr

Copy link
Copy Markdown
Collaborator Author

Rebased onto main 9b9860a: cd52edd → 1695e1d. The earlier red "Differential against protowire-go" was Stream codecs differ: (run log). This branch was based on df6b102, from before #137 fixed the SBE stream difference. The rebase picks up #137, so the differential should now pass. The diff is unchanged. Locally: build OK, ctest 100% tests passed out of 707. The remote head was read back with git ls-remote: 1695e1d.

@trendvidia
trendvidia force-pushed the check-decode-position-145 branch from 1695e1d to 59fc070 Compare November 5, 2026 06:49
@bfrancojr

Copy link
Copy Markdown
Collaborator Author

Rebased onto main 96edbdd, after #139 merged, to clear a CHANGELOG.md conflict: 1695e1d → 59fc070. The code is unchanged, and the CHANGELOG still gets one added line. Locally: build OK, ctest 100% tests passed out of 710. Every check had passed on 1695e1d. The remote head was read back with git ls-remote: 59fc070.

@trendvidia
trendvidia merged commit a8fccbc into main Nov 5, 2026
11 checks passed
@trendvidia
trendvidia deleted the check-decode-position-145 branch November 5, 2026 08:18
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.

check_decode: a PXF rejection leaves out the line:col prefix that protowire-go prints

2 participants