xref: /freebsd/contrib/netbsd-tests/net/in_cksum/t_in_cksum.sh (revision c22165b4f1f5d38b681921797a44b3ba8c13b7e0)
1*640235e2SEnji Cooper#! /usr/bin/atf-sh
2*640235e2SEnji Cooper#	$NetBSD: t_in_cksum.sh,v 1.2 2015/01/06 15:13:16 martin Exp $
3*640235e2SEnji Cooper#
4*640235e2SEnji Cooper
5*640235e2SEnji CooperTIMING_LOOPS=10000
6*640235e2SEnji Cooperincksum="$(atf_get_srcdir)/in_cksum"
7*640235e2SEnji Cooper
8*640235e2SEnji Cooperfail() {
9*640235e2SEnji Cooper    atf_fail "see output for details"
10*640235e2SEnji Cooper}
11*640235e2SEnji Cooper
12*640235e2SEnji Coopermbufs() {
13*640235e2SEnji Cooper    ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS} \
14*640235e2SEnji Cooper	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*640235e2SEnji Cooper	|| fail
16*640235e2SEnji Cooper    ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS} \
17*640235e2SEnji Cooper	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
18*640235e2SEnji Cooper	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
19*640235e2SEnji Cooper	|| fail
20*640235e2SEnji Cooper    ${incksum} -l 64 -u $0 -i ${TIMING_LOOPS} \
21*640235e2SEnji Cooper	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
22*640235e2SEnji Cooper	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
23*640235e2SEnji Cooper	|| fail
24*640235e2SEnji Cooper    ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS}	\
25*640235e2SEnji Cooper	1 3 1 3 1 3 1 \
26*640235e2SEnji Cooper	|| fail
27*640235e2SEnji Cooper}
28*640235e2SEnji Cooper
29*640235e2SEnji Coopersizes() {
30*640235e2SEnji Cooper    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	2048 || fail
31*640235e2SEnji Cooper    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	40 || fail
32*640235e2SEnji Cooper    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	1536 || fail
33*640235e2SEnji Cooper    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	576 || fail
34*640235e2SEnji Cooper    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	1536 1536 1536 1536 1536 640 \
35*640235e2SEnji Cooper	 || fail
36*640235e2SEnji Cooper}
37*640235e2SEnji Cooper
38*640235e2SEnji Cooperatf_test_case mbufs_aligned
39*640235e2SEnji Cooper
40*640235e2SEnji Coopermbufs_aligned_head() {
41*640235e2SEnji Cooper	atf_set "descr" "Test in_cksum mbuf chains aligned"
42*640235e2SEnji Cooper}
43*640235e2SEnji Cooper
44*640235e2SEnji Coopermbufs_aligned_body() {
45*640235e2SEnji Cooper	mbufs 0
46*640235e2SEnji Cooper}
47*640235e2SEnji Cooper
48*640235e2SEnji Coopermbufs_unaligned_head() {
49*640235e2SEnji Cooper	atf_set "descr" "Test in_cksum mbuf chains unaligned"
50*640235e2SEnji Cooper}
51*640235e2SEnji Cooper
52*640235e2SEnji Coopermbufs_unaligned_body() {
53*640235e2SEnji Cooper	mbufs 1
54*640235e2SEnji Cooper}
55*640235e2SEnji Cooper
56*640235e2SEnji Coopersizes_aligned_head() {
57*640235e2SEnji Cooper	atf_set "descr" "Test in_cksum sizes aligned"
58*640235e2SEnji Cooper}
59*640235e2SEnji Cooper
60*640235e2SEnji Coopersizes_aligned_body() {
61*640235e2SEnji Cooper	sizes 0
62*640235e2SEnji Cooper}
63*640235e2SEnji Cooper
64*640235e2SEnji Coopersizes_unaligned_head() {
65*640235e2SEnji Cooper	atf_set "descr" "Test in_cksum sizes unaligned"
66*640235e2SEnji Cooper}
67*640235e2SEnji Cooper
68*640235e2SEnji Coopersizes_unaligned_body() {
69*640235e2SEnji Cooper	sizes 1
70*640235e2SEnji Cooper}
71*640235e2SEnji Cooper
72*640235e2SEnji Cooperatf_init_test_cases()
73*640235e2SEnji Cooper{
74*640235e2SEnji Cooper	atf_add_test_case mbufs_aligned
75*640235e2SEnji Cooper	atf_add_test_case mbufs_unaligned
76*640235e2SEnji Cooper	atf_add_test_case sizes_aligned
77*640235e2SEnji Cooper	atf_add_test_case sizes_unaligned
78*640235e2SEnji Cooper}
79