t/test-lib-functions.sh: implement `test_trace2_data` helper

Introduce a helper function which looks for a specific (category, key,
value) tuple in the output of a trace2 event stream.

We will use this function in a future patch to ensure that the expected
number of objects are reused from an expected number of packs.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Taylor Blau 2023-12-14 17:24:39 -05:00 committed by Junio C Hamano
parent 54393e4e68
commit 3bea0c0611
1 changed files with 14 additions and 0 deletions

View File

@ -1874,6 +1874,20 @@ test_region () {
return 0
}

# Check that the given data fragment was included as part of the
# trace2-format trace on stdin.
#
# test_trace2_data <category> <key> <value>
#
# For example, to look for trace2_data_intmax("pack-objects", repo,
# "reused", N) in an invocation of "git pack-objects", run:
#
# GIT_TRACE2_EVENT="$(pwd)/trace.txt" git pack-objects ... &&
# test_trace2_data pack-objects reused N <trace2.txt
test_trace2_data () {
grep -e '"category":"'"$1"'","key":"'"$2"'","value":"'"$3"'"'
}

# Given a GIT_TRACE2_EVENT log over stdin, writes to stdout a list of URLs
# sent to git-remote-https child processes.
test_remote_https_urls() {