Skip to content

Resolve legacy test harness HTTP aliases - #5568

Merged
Xeicker merged 1 commit into
masterfrom
fix-blackbox-http-aliases
Nov 3, 2026
Merged

Xeicker merged 1 commit into
masterfrom
fix-blackbox-http-aliases

Conversation

@Xeicker

@Xeicker Xeicker commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Context:

When blackbox browser fuzzing (e.g. inferno_layout_test_fuzzer) serves corpus testcases from web_tests.zip over BotHTTPServer (e.g. on Android emulators, where FUZZ_DATA is served via HTTP), root-relative test-harness URLs (/tests/SimpleTest/..., /MochiKit/..., /js-test-resources/..., etc.) and WPT ?pipe= query URLs fail with 404 (Could not find an absolute path for ...). Missing harness scripts (SimpleTest.js, js-test.js) abort testcase JS execution with ReferenceError.

Why not reuse Chromium's native web-test server setup: Chromium's run_web_tests (apache_http.py / wptserve) runs separate servers/ports per suite, which collides with ClusterFuzz serving Blink, WPT, WebKit, Gecko, data bundles, and generated testcases from a single BotHTTPServer port (where paths like /resources/ overlap across suites), and with relying on http_server.get_absolute_testcase_file() in Python to package crash dependencies.

Design notes:

  • The tests-syncer alias check only logs an error instead of failing, so one upstream rename doesn't block web_tests.zip for every other platform.
  • 404s stay at WARNING so missing or outdated mappings stay visible.

Testing:

  • Unit tests (http_server_test.py, chrome_tests_syncer_test.py) and butler.py lint.
  • End-to-end A/B Swarming validation with inferno_layout_test_fuzzer on an Android emulator blackbox job: 413 → 0 aliased/query 404s. Remaining 404s are genuinely absent assets (/favicon.ico, *.py dynamic handlers excluded from web_tests.zip).
  • The tests syncer was not run end to end; its alias check is covered by unit tests.

@Xeicker
Xeicker requested review from a team as code owners October 29, 2026 18:56
@Xeicker Xeicker changed the title Resolve legacy test harness HTTP aliases [Draft] Resolve legacy test harness HTTP aliases Oct 29, 2026
@Xeicker
Xeicker requested a review from IvanBM18 October 29, 2026 20:08
@Xeicker Xeicker changed the title [Draft] Resolve legacy test harness HTTP aliases Resolve legacy test harness HTTP aliases Oct 29, 2026
@g-ortuno

Copy link
Copy Markdown
Collaborator

What's the context for this PR?

@Xeicker

Xeicker commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator Author

What's the context for this PR?

@IvanBM18 Found some 404 errors on aluminum fuzzers that uncover this bug. Adding context in the description

@dylanjew dylanjew left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks! is there a bug for this?

And is there a way to run the test syncer job to verify it as well? If you change it to just log the error this is less critical.

@Xeicker

Xeicker commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator Author

Thanks! is there a bug for this?

The bug is in b/570581291

@Xeicker Xeicker changed the title Resolve legacy test harness HTTP aliases [WIP] Resolve legacy test harness HTTP aliases Oct 30, 2026
Add static HTTP_ALIASES in http_server.py for legacy Gecko Mochitest, Blink, and WebKit test-server mounts, verify all alias target directories exist before zipping web_tests.zip in chrome_tests_syncer.py, strip URL queries/fragments before resolving local paths, and log 404 misses at INFO level.
@Xeicker
Xeicker force-pushed the fix-blackbox-http-aliases branch from c5c3a60 to 5ddd386 Compare October 30, 2026 21:20

@dylanjew dylanjew left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Approving because this only affects blackbox and tests-syncer.

Could you update the description to match the changes?

@Xeicker Xeicker changed the title [WIP] Resolve legacy test harness HTTP aliases Resolve legacy test harness HTTP aliases Nov 3, 2026
@Xeicker
Xeicker merged commit fe858f6 into master Nov 3, 2026
15 checks passed
@Xeicker
Xeicker deleted the fix-blackbox-http-aliases branch November 3, 2026 16: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.

3 participants