]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - contrib/netbsd-tests/net/in_cksum/t_in_cksum.sh
MFC r305358,r305449,r305451,r306367,r306397,r309474:
[FreeBSD/stable/10.git] / contrib / netbsd-tests / net / in_cksum / t_in_cksum.sh
1 #! /usr/bin/atf-sh
2 #       $NetBSD: t_in_cksum.sh,v 1.2 2015/01/06 15:13:16 martin Exp $
3 #
4
5 TIMING_LOOPS=10000
6 incksum="$(atf_get_srcdir)/in_cksum"
7
8 fail() {
9     atf_fail "see output for details"
10 }
11
12 mbufs() {
13     ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS} \
14         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         || fail
16     ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS} \
17         1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
18         1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
19         || fail
20     ${incksum} -l 64 -u $0 -i ${TIMING_LOOPS} \
21         1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
22         1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
23         || fail
24     ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS}   \
25         1 3 1 3 1 3 1 \
26         || fail
27 }
28
29 sizes() {
30     ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}   2048 || fail
31     ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}   40 || fail
32     ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}   1536 || fail
33     ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}   576 || fail
34     ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}   1536 1536 1536 1536 1536 640 \
35          || fail
36 }
37
38 atf_test_case mbufs_aligned
39
40 mbufs_aligned_head() {
41         atf_set "descr" "Test in_cksum mbuf chains aligned"
42 }
43
44 mbufs_aligned_body() {
45         mbufs 0
46 }
47
48 mbufs_unaligned_head() {
49         atf_set "descr" "Test in_cksum mbuf chains unaligned"
50 }
51
52 mbufs_unaligned_body() {
53         mbufs 1
54 }
55
56 sizes_aligned_head() {
57         atf_set "descr" "Test in_cksum sizes aligned"
58 }
59
60 sizes_aligned_body() {
61         sizes 0
62 }
63
64 sizes_unaligned_head() {
65         atf_set "descr" "Test in_cksum sizes unaligned"
66 }
67
68 sizes_unaligned_body() {
69         sizes 1
70 }
71
72 atf_init_test_cases()
73 {
74         atf_add_test_case mbufs_aligned
75         atf_add_test_case mbufs_unaligned
76         atf_add_test_case sizes_aligned
77         atf_add_test_case sizes_unaligned
78 }