git: 423a21a5b65c - main - libc/tests: getaddrinfo_test: use VNET jails for testing
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 08 Apr 2025 17:35:00 UTC
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=423a21a5b65cc7b7809d29c4d40a8ca4a224a3f5 commit 423a21a5b65cc7b7809d29c4d40a8ca4a224a3f5 Author: K Rin <rin@sandb0x.tw> AuthorDate: 2025-04-06 05:04:43 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2025-04-08 16:54:58 +0000 libc/tests: getaddrinfo_test: use VNET jails for testing --- lib/libc/tests/net/getaddrinfo/getaddrinfo_test.sh | 128 ++++++++++----------- 1 file changed, 59 insertions(+), 69 deletions(-) diff --git a/lib/libc/tests/net/getaddrinfo/getaddrinfo_test.sh b/lib/libc/tests/net/getaddrinfo/getaddrinfo_test.sh index e21cf0b57e60..dd17ab2e3f4a 100755 --- a/lib/libc/tests/net/getaddrinfo/getaddrinfo_test.sh +++ b/lib/libc/tests/net/getaddrinfo/getaddrinfo_test.sh @@ -29,20 +29,24 @@ # SUCH DAMAGE. # -IP6ADDRCTL_CMD="/usr/sbin/ip6addrctl" -CURRENT_POLICY_FILE="current.conf" +if [ "$(sysctl -i -n kern.features.vimage)" != 1 ]; then + atf_skip "This test requires VIMAGE" +fi -policy_backup() +vnet_mkjail() { - "${IP6ADDRCTL_CMD}" > "${CURRENT_POLICY_FILE}" + jailname=getaddrinfo_test_$1 + jail -c name=${jailname} persist vnet + ifconfig -j ${jailname} lo0 inet 127.0.0.1/8 + # For those machines not support IPv6 + ifconfig -j ${jailname} lo0 inet6 ::1/64 || true + service -j ${jailname} ip6addrctl $2 || true } -policy_cleanup() +vnet_cleanup() { - if [ -f "${CURRENT_POLICY_FILE}" ]; then - "${IP6ADDRCTL_CMD}" flush - cat "${CURRENT_POLICY_FILE}" | tail -n +2 | "${IP6ADDRCTL_CMD}" install /dev/stdin - fi + jailname=getaddrinfo_test_$1 + jail -r ${jailname} } check_output() @@ -91,9 +95,8 @@ basic_prefer_v4_head() } basic_prefer_v4_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv4 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail basic_prefer_v4 prefer_ipv4 + TEST="jexec getaddrinfo_test_basic_prefer_v4 $(atf_get_srcdir)/h_gai" ( $TEST ::1 http $TEST 127.0.0.1 http @@ -109,7 +112,7 @@ basic_prefer_v4_body() } basic_prefer_v4_cleanup() { - policy_cleanup + vnet_cleanup basic_prefer_v4 } atf_test_case basic cleanup @@ -120,9 +123,8 @@ basic_head() } basic_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv6 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail basic prefer_ipv6 + TEST="jexec getaddrinfo_test_basic $(atf_get_srcdir)/h_gai" ( $TEST ::1 http $TEST 127.0.0.1 http @@ -138,7 +140,7 @@ basic_body() } basic_cleanup() { - policy_cleanup + vnet_cleanup basic } atf_test_case specific_prefer_v4 cleanup @@ -149,9 +151,8 @@ specific_prefer_v4_head() } specific_prefer_v4_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv4 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail specific_prefer_v4 prefer_ipv4 + TEST="jexec getaddrinfo_test_specific_prefer_v4 $(atf_get_srcdir)/h_gai" ( $TEST -4 localhost http $TEST -6 localhost http ) > out 2>&1 @@ -160,7 +161,7 @@ specific_prefer_v4_body() } specific_prefer_v4_cleanup() { - policy_cleanup + vnet_cleanup specific_prefer_v4 } atf_test_case specific cleanup @@ -171,9 +172,8 @@ specific_head() } specific_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv6 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail specific prefer_ipv6 + TEST="jexec getaddrinfo_test_specific $(atf_get_srcdir)/h_gai" ( $TEST -4 localhost http $TEST -6 localhost http ) > out 2>&1 @@ -182,7 +182,7 @@ specific_body() } specific_cleanup() { - policy_cleanup + vnet_cleanup specific } atf_test_case empty_hostname_prefer_v4 cleanup @@ -193,9 +193,8 @@ empty_hostname_prefer_v4_head() } empty_hostname_prefer_v4_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv4 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail empty_hostname_prefer_v4 prefer_ipv4 + TEST="jexec getaddrinfo_test_empty_hostname_prefer_v4 $(atf_get_srcdir)/h_gai" ( $TEST '' http $TEST '' echo @@ -212,7 +211,7 @@ empty_hostname_prefer_v4_body() } empty_hostname_prefer_v4_cleanup() { - policy_cleanup + vnet_cleanup empty_hostname_prefer_v4 } atf_test_case empty_hostname cleanup @@ -223,9 +222,8 @@ empty_hostname_head() } empty_hostname_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv6 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail empty_hostname prefer_ipv6 + TEST="jexec getaddrinfo_test_empty_hostname $(atf_get_srcdir)/h_gai" ( $TEST '' http $TEST '' echo @@ -242,7 +240,7 @@ empty_hostname_body() } empty_hostname_cleanup() { - policy_cleanup + vnet_cleanup empty_hostname } atf_test_case empty_servname_prefer_v4 cleanup @@ -253,9 +251,8 @@ empty_servname_prefer_v4_head() } empty_servname_prefer_v4_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv4 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail empty_servname_prefer_v4 prefer_ipv4 + TEST="jexec getaddrinfo_test_empty_servname_prefer_v4 $(atf_get_srcdir)/h_gai" ( $TEST ::1 '' $TEST 127.0.0.1 '' @@ -266,7 +263,7 @@ empty_servname_prefer_v4_body() } empty_servname_prefer_v4_cleanup() { - policy_cleanup + vnet_cleanup empty_servname_prefer_v4 } atf_test_case empty_servname cleanup @@ -277,9 +274,8 @@ empty_servname_head() } empty_servname_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv6 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail empty_servname prefer_ipv6 + TEST="jexec getaddrinfo_test_empty_servname $(atf_get_srcdir)/h_gai" ( $TEST ::1 '' $TEST 127.0.0.1 '' @@ -290,7 +286,7 @@ empty_servname_body() } empty_servname_cleanup() { - policy_cleanup + vnet_cleanup empty_servname } atf_test_case sock_raw_prefer_v4 cleanup @@ -301,9 +297,8 @@ sock_raw_prefer_v4_head() } sock_raw_prefer_v4_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv4 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail sock_raw_prefer_v4 prefer_ipv4 + TEST="jexec getaddrinfo_test_sock_raw_prefer_v4 $(atf_get_srcdir)/h_gai" ( $TEST -R -p 0 localhost '' $TEST -R -p 59 localhost '' @@ -315,7 +310,7 @@ sock_raw_prefer_v4_body() } sock_raw_prefer_v4_cleanup() { - policy_cleanup + vnet_cleanup sock_raw_prefer_v4 } atf_test_case sock_raw cleanup @@ -326,9 +321,8 @@ sock_raw_head() } sock_raw_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv6 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail sock_raw prefer_ipv6 + TEST="jexec getaddrinfo_test_sock_raw $(atf_get_srcdir)/h_gai" ( $TEST -R -p 0 localhost '' $TEST -R -p 59 localhost '' @@ -340,7 +334,7 @@ sock_raw_body() } sock_raw_cleanup() { - policy_cleanup + vnet_cleanup sock_raw } atf_test_case unsupported_family_prefer_v4 cleanup @@ -351,9 +345,8 @@ unsupported_family_prefer_v4_head() } unsupported_family_prefer_v4_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv4 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail unsupported_family_prefer_v4 prefer_ipv4 + TEST="jexec getaddrinfo_test_unsupported_family_prefer_v4 $(atf_get_srcdir)/h_gai" ( $TEST -f 99 localhost '' ) > out 2>&1 @@ -361,7 +354,7 @@ unsupported_family_prefer_v4_body() } unsupported_family_prefer_v4_cleanup() { - policy_cleanup + vnet_cleanup unsupported_family_prefer_v4 } atf_test_case unsupported_family cleanup @@ -372,9 +365,8 @@ unsupported_family_head() } unsupported_family_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv6 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail unsupported_family prefer_ipv6 + TEST="jexec getaddrinfo_test_unsupported_family $(atf_get_srcdir)/h_gai" ( $TEST -f 99 localhost '' ) > out 2>&1 @@ -382,7 +374,7 @@ unsupported_family_body() } unsupported_family_cleanup() { - policy_cleanup + vnet_cleanup unsupported_family } atf_test_case scopeaddr_prefer_v4 cleanup @@ -393,20 +385,19 @@ scopeaddr_prefer_v4_head() } scopeaddr_prefer_v4_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv4 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail scopeaddr_prefer_v4 prefer_ipv4 + TEST="jexec getaddrinfo_test_scopeaddr_prefer_v4 $(atf_get_srcdir)/h_gai" ( $TEST fe80::1%lo0 http -# IF=`ifconfig -a | grep -v '^ ' | sed -e 's/:.*//' | head -1 | awk '{print $1}'` -# $TEST fe80::1%$IF http +# IF=ifconfig -a | grep -v '^ ' | sed -e 's/:.*//' | head -1 | awk '{print $1}' +# $TEST fe80::1%$IF http ) > out 2>&1 check_output scoped ifconfig prefer_v4 } scopeaddr_prefer_v4_cleanup() { - policy_cleanup + vnet_cleanup scopeaddr_prefer_v4 } atf_test_case scopeaddr cleanup @@ -417,20 +408,19 @@ scopeaddr_head() } scopeaddr_body() { - policy_backup - /etc/rc.d/ip6addrctl prefer_ipv6 - TEST=$(atf_get_srcdir)/h_gai + vnet_mkjail scopeaddr prefer_ipv6 + TEST="jexec getaddrinfo_test_scopeaddr $(atf_get_srcdir)/h_gai" ( $TEST fe80::1%lo0 http -# IF=`ifconfig -a | grep -v '^ ' | sed -e 's/:.*//' | head -1 | awk '{print $1}'` -# $TEST fe80::1%$IF http +# IF=ifconfig -a | grep -v '^ ' | sed -e 's/:.*//' | head -1 | awk '{print $1}' +# $TEST fe80::1%$IF http ) > out 2>&1 check_output scoped none prefer_v6 } scopeaddr_cleanup() { - policy_cleanup + vnet_cleanup scopeaddr } atf_init_test_cases()