From d815e4241933b8d80bd09be979110e4bb0657708 Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Mon, 14 Sep 2020 08:51:18 +0000 Subject: [PATCH] pfctl_test: avoid 200 calls to atf_get_srcdir I have been trying to reduce the time that testsuite runs take for CheriBSD on QEMU (currently about 22 hours). One of the slowest tests is pfctl_test: Just listing the available test cases currently takes 98 seconds on a CheriBSD RISC-V system due to all the processes being spawned. This trivial patch reduces the time to 92 seconds. The better solution would be to rewrite the test in C/C++ which I may do as a follow-up change. Reviewed By: kp Differential Revision: https://reviews.freebsd.org/D26417 --- sbin/pfctl/tests/pfctl_test.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sbin/pfctl/tests/pfctl_test.sh b/sbin/pfctl/tests/pfctl_test.sh index 23cc755f5db..60a8db67e42 100755 --- a/sbin/pfctl/tests/pfctl_test.sh +++ b/sbin/pfctl/tests/pfctl_test.sh @@ -24,21 +24,22 @@ pftests="0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0079 0081 0082 0084 0085 0087 0088 0089 0090 0091 0092 0094 0095 0096 0097 0098 0100 0101 0102 0104 1001 1002 1003 1004 1005" -. $(atf_get_srcdir)/files/pfctl_test_descr.sh +atf_srcdir=$(atf_get_srcdir) +. "${atf_srcdir}/files/pfctl_test_descr.sh" for i in ${pftests} ; do atf_test_case "pf${i}" eval "pf${i}_head () { atf_set descr \"$(pf${i}_descr)\" ; }" eval "pf${i}_body () { \ kldstat -m pf || atf_skip \"pf(4) is not loaded\" && \ - cd $(atf_get_srcdir)/files && \ + cd ${atf_srcdir}/files && \ atf_check -o file:pf${i}.ok \ pfctl -o none -nvf - < pf${i}.in ; }" atf_test_case "selfpf${i}" eval "selfpf${i}_head () { atf_set descr \"self$(pf${i}_descr)\" ; }" eval "selfpf${i}_body () { \ - cd $(atf_get_srcdir)/files && \ + cd ${atf_srcdir}/files && \ atf_check -o file:pf${i}.ok \ pfctl -o none -nvf - < pf${i}.ok ; }" done