ZTS: Wait on all events in events_001_pos.ksh

The events_001_pos.ksh test case can fail because it's possible,
and correct, for the config_sync event to be posted after the last
"expected" event.  To accommodate this the run_and_verify() function
has been updated to wait for all non-history events, not just the
last event.  This does not increase the run time of the test as
long as all the events do get generated.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #11147
This commit is contained in:
Brian Behlendorf 2020-11-03 09:19:45 -08:00 committed by GitHub
parent 59b6872327
commit 123d2803bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -119,8 +119,16 @@ function run_and_verify
# If the only event is history then we don't observe zed debug log
if [[ "${events[0]}" != "sysevent.fs.zfs.history_event" ]]; then
# wait for the last event to show up in the debug log
log_must file_wait_event $ZED_DEBUG_LOG ${events[-1]}
# wait for all the non-history events to show up in the
# debug log, all-debug.sh filters history events.
for event in ${events[*]}; do
if [[ "$event" == \
"sysevent.fs.zfs.history_event" ]]; then
continue
fi
log_must file_wait_event $ZED_DEBUG_LOG "$event"
done
log_must cp $ZED_DEBUG_LOG $TMP_EVENTS_ZED
log_must test -s $TMP_EVENTS_ZED