ci(smoke): fix the mpd / hardware / leak tiers so they actually run
The first run went green but the best-effort tiers silently didn't exercise
anything:
- state.sh: the mpd `audio_output { ... }` block was on one line, which mpd
rejects ("Unknown tokens after '{'"), so mpd never started and the mpd
sub-tier (the #5183 empty-queue repro) skipped. Split the block across lines.
Also move teardown into a cleanup() with `|| true` so a dead-pid kill under
`set -e` no longer makes the step exit 1.
- hardware.sh: umockdev-run's LD_PRELOAD lands ahead of the linked-in ASan
runtime, so ASan aborted before main() ("ASan runtime does not come first")
and waybar never started -- the backlight/slider (#5179) path wasn't tested.
Set verify_asan_link_order=0 so the instrumented binary runs under the preload.
- leakcheck.sh: abort_on_error=1 turned LSan's exit report into a core dump;
force abort_on_error=0 for this report-only tier.
- lib.sh: assert_clean now also flags "ASan runtime does not come first" so a
future preload/link-order regression fails loudly instead of passing.
This commit is contained in:
@@ -12,6 +12,9 @@ source "$DIR/lib.sh"
|
||||
|
||||
export SMOKE_DETECT_LEAKS=1
|
||||
smoke::setup
|
||||
# Report leaks without aborting: abort_on_error=1 (the default gate) would turn
|
||||
# LSan's exit-time report into a core dump. This tier only reports.
|
||||
export ASAN_OPTIONS="detect_leaks=1:halt_on_error=0:abort_on_error=0:detect_odr_violation=0"
|
||||
smoke::start_compositor
|
||||
trap smoke::stop EXIT
|
||||
|
||||
|
||||
Reference in New Issue
Block a user