Skip to content

fix: strip Java WARNING lines from golden files and regenerate error goldens#962

Open
He-Pin wants to merge 1 commit into
databricks:masterfrom
He-Pin:fix/golden-script-warning-filter
Open

fix: strip Java WARNING lines from golden files and regenerate error goldens#962
He-Pin wants to merge 1 commit into
databricks:masterfrom
He-Pin:fix/golden-script-warning-filter

Conversation

@He-Pin

@He-Pin He-Pin commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Motivation

JDK 21+ emits sun.misc.Unsafe::objectFieldOffset deprecation warnings to stderr. refresh_golden_outputs.sh captures stderr via 2>&1, contaminating golden files with WARNING: lines that cause test failures on different JDK versions. Additionally, sync_test_suites.sh copies upstream error goldens as-is, but go-jsonnet's error format (RUNTIME ERROR:) differs from sjsonnet's (sjsonnet.Error:), causing mismatches for newly synced tests.

Modification

  • Add sed -i '' '/^WARNING:/d' after each golden generation in refresh_golden_outputs.sh (all 3 loops: specific-files, test_suite, go_test_suite/new_test_suite)
  • Add error golden auto-regeneration in sync_test_suites.sh: when a new upstream error test is copied, detect it via is_success_golden and queue it for regeneration with sjsonnet's own error format

Result

Golden files are clean of JDK version-specific warnings. New upstream error tests automatically get sjsonnet-format goldens on sync, eliminating manual regeneration steps.

Test plan

  • refresh_golden_outputs.sh produces clean goldens (no WARNING: lines)
  • sync_test_suites.sh auto-regenerates error goldens for new upstream tests
  • Existing success goldens unchanged (only error goldens regenerated)
  • All existing tests pass after refresh

…goldens

Motivation:
JDK 21+ emits sun.misc.Unsafe deprecation warnings to stderr. The golden
generation script captures stderr via 2>&1, contaminating golden files with
WARNING: lines. Also, sync_test_suites.sh copies upstream error goldens
as-is, but go-jsonnet's error format (RUNTIME ERROR:) differs from
sjsonnet's (sjsonnet.Error:).

Modification:
- Add sed filter to strip WARNING: lines in refresh_golden_outputs.sh
  (all 3 loops: specific-files, test_suite, go_test_suite)
- Add error golden auto-regeneration in sync_test_suites.sh for newly
  synced upstream error tests

Result:
Golden files are clean of JDK version-specific warnings. New upstream
error tests get sjsonnet-format goldens automatically on sync.
@He-Pin He-Pin force-pushed the fix/golden-script-warning-filter branch from 92453a6 to fbb5082 Compare June 18, 2026 06:29
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