Fix fuzzer crash in create_trials_from_seed_v2_fuzzer
The create_trials_from_seed_v2_fuzzer was crashing due to an
unregistered pref and a null EnabledStateProvider.
This CL fixes the crash by:
- Providing a TestEnabledStateProvider to the MetricsStateManager.
- Adding a dependency on //components/metrics:test_support to the
fuzzer's BUILD.gn file.
- Calling MetricsStateManager::RegisterPrefs() from the fuzzer and
refactoring MetricsStateManager to register CleanExitBeacon's prefs,
improving encapsulation.
This is fixing the issues introduced in:
https://chromium-review.googlesource.com/c/chromium/src/+/6836751
(Which apparently weren't caught by any try bots.)
This change was tested locally, by building:
`autoninja -C out/fuzz create_trials_from_seed_v2_fuzzer`
With these gn args:
```
archive_seed_corpus = false
ffmpeg_branding = "ChromeOS"
is_asan = true
is_debug = true
optimize_for_fuzzing = true
pdf_enable_xfa = true
proprietary_codecs = true
symbol_level = 1
use_libfuzzer = true
use_remoteexec = true
is_component_build = false
```
And ran via:
`out/fuzz/create_trials_from_seed_v2_fuzzer -runs=1 -max_len=256`
Bug: 439018238
Change-Id: I7c92910ec9bc184824cedfa562a3b2fd42cb63a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6854030
Commit-Queue: Alexei Svitkine <asvitkine@chromium.org>
Commit-Queue: Roger McFarlane <rogerm@chromium.org>
Auto-Submit: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Roger McFarlane <rogerm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1502727}
NOKEYCHECK=True
GitOrigin-RevId: d6b5a28943499b1011f531d05bb0ebf066f68662
2 files changed