summaryrefslogtreecommitdiffstats
path: root/t/perf/p7822-grep-perl-character.sh
blob: 87009c60df679313cdaa84721c2c9c13e46fbab0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh

test_description="git-grep's perl regex

If GIT_PERF_GREP_THREADS is set to a list of threads (e.g. '1 4 8'
etc.) we will test the patterns under those numbers of threads.
"

. ./perf-lib.sh

test_perf_large_repo
test_checkout_worktree

if test -n "$GIT_PERF_GREP_THREADS"
then
	test_set_prereq PERF_GREP_ENGINES_THREADS
fi

for pattern in \
	'\\bhow' \
	'\\bÆvar' \
	'\\d+ \\bÆvar' \
	'\\bBelón\\b' \
	'\\w{12}\\b'
do
	echo '$pattern' >pat
	if ! test_have_prereq PERF_GREP_ENGINES_THREADS
	then
		test_perf "grep -P '$pattern'" --prereq PCRE "
			git -P grep -f pat || :
		"
	else
		for threads in $GIT_PERF_GREP_THREADS
		do
			test_perf "grep -P '$pattern' with $threads threads" --prereq PTHREADS,PCRE "
				git -c grep.threads=$threads -P grep -f pat || :
			"
		done
	fi
done

test_done