xref: /netbsd-src/tests/net/in_cksum/t_in_cksum.sh (revision 87706a32475ca9ba2bd4082633d185f3a41db87d)
1fca19cadSchristos#! /usr/bin/atf-sh
2*87706a32Smartin#	$NetBSD: t_in_cksum.sh,v 1.2 2015/01/06 15:13:16 martin Exp $
3fca19cadSchristos#
4fca19cadSchristos
5fca19cadSchristosTIMING_LOOPS=10000
6*87706a32Smartinincksum="$(atf_get_srcdir)/in_cksum"
7*87706a32Smartin
8*87706a32Smartinfail() {
9*87706a32Smartin    atf_fail "see output for details"
10*87706a32Smartin}
11fca19cadSchristos
12fca19cadSchristosmbufs() {
13*87706a32Smartin    ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS} \
14*87706a32Smartin	1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \
15*87706a32Smartin	|| fail
16*87706a32Smartin    ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS} \
17fca19cadSchristos	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
18fca19cadSchristos	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
19*87706a32Smartin	|| fail
20*87706a32Smartin    ${incksum} -l 64 -u $0 -i ${TIMING_LOOPS} \
21*87706a32Smartin	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
22*87706a32Smartin	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
23*87706a32Smartin	|| fail
24*87706a32Smartin    ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS}	\
25*87706a32Smartin	1 3 1 3 1 3 1 \
26*87706a32Smartin	|| fail
27fca19cadSchristos}
28fca19cadSchristos
29fca19cadSchristossizes() {
30*87706a32Smartin    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	2048 || fail
31*87706a32Smartin    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	40 || fail
32*87706a32Smartin    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	1536 || fail
33*87706a32Smartin    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	576 || fail
34*87706a32Smartin    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	1536 1536 1536 1536 1536 640 \
35*87706a32Smartin	 || fail
36fca19cadSchristos}
37fca19cadSchristos
38fca19cadSchristosatf_test_case mbufs_aligned
39fca19cadSchristos
40fca19cadSchristosmbufs_aligned_head() {
41fca19cadSchristos	atf_set "descr" "Test in_cksum mbuf chains aligned"
42fca19cadSchristos}
43fca19cadSchristos
44fca19cadSchristosmbufs_aligned_body() {
45fca19cadSchristos	mbufs 0
46fca19cadSchristos}
47fca19cadSchristos
48fca19cadSchristosmbufs_unaligned_head() {
49fca19cadSchristos	atf_set "descr" "Test in_cksum mbuf chains unaligned"
50fca19cadSchristos}
51fca19cadSchristos
52fca19cadSchristosmbufs_unaligned_body() {
53fca19cadSchristos	mbufs 1
54fca19cadSchristos}
55fca19cadSchristos
56fca19cadSchristossizes_aligned_head() {
57fca19cadSchristos	atf_set "descr" "Test in_cksum sizes aligned"
58fca19cadSchristos}
59fca19cadSchristos
60fca19cadSchristossizes_aligned_body() {
61fca19cadSchristos	sizes 0
62fca19cadSchristos}
63fca19cadSchristos
64fca19cadSchristossizes_unaligned_head() {
65fca19cadSchristos	atf_set "descr" "Test in_cksum sizes unaligned"
66fca19cadSchristos}
67fca19cadSchristos
68fca19cadSchristossizes_unaligned_body() {
69fca19cadSchristos	sizes 1
70fca19cadSchristos}
71fca19cadSchristos
72fca19cadSchristosatf_init_test_cases()
73fca19cadSchristos{
74fca19cadSchristos	atf_add_test_case mbufs_aligned
75fca19cadSchristos	atf_add_test_case mbufs_unaligned
76fca19cadSchristos	atf_add_test_case sizes_aligned
77fca19cadSchristos	atf_add_test_case sizes_unaligned
78fca19cadSchristos}
79