Skip to content

GH-3289: Test file inspection through CLI arguments - #3859

Open
zhangxinyao88 wants to merge 1 commit into
apache:masterfrom
zhangxinyao88:codex/parquet-3289-inspect-cli-tests
Open

zhangxinyao88 wants to merge 1 commit into
apache:masterfrom
zhangxinyao88:codex/parquet-3289-inspect-cli-tests

Conversation

@zhangxinyao88

Copy link
Copy Markdown
Contributor

Rationale for this change

Continue #3289 with argument-to-behavior coverage for footer, pages, and dictionary. Existing footer and dictionary tests set command fields directly; the page-size tests also bypass CLI argument parsing. The head, cat, and scan coverage in #3858 is separate.

What changes are included in this PR?

Add seven cases using the existing CLI helper and a deterministic two-column Parquet file:

  • footer emits interpreted metadata by default and raw Thrift metadata with --raw, with schema and row-count assertions on parsed JSON.
  • pages lists both columns by default, honors --columns, and combines column selection with --raw page headers.
  • dictionary --column emits the selected column's decoded values, checking both columns with distinct expected contents. The fixture is checked for dictionary-encoded pages.

Assertions avoid complete formatted-output snapshots and dictionary ID ordering. Existing page-size tests remain intact.

Are these changes tested?

./mvnw -o -B -ntp -pl parquet-cli spotless:check test passed: 90 cases, 0 failures/errors, 2 skipped (88 passed), including all seven new cases. Spotless and RAT license checks passed. The module used the existing local dependency cache; no full reactor or multi-JDK build was run.

Six temporary local regression checks made the expected assertions fail when footer mode, page column selection/raw mode, or dictionary column selection was ignored. All temporary production edits were restored before the successful full-module run.

Are there any user-facing changes?

No. Tests only.

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