1303980Sngie#! /usr/bin/atf-sh
2303980Sngie#	$NetBSD: t_in_cksum.sh,v 1.2 2015/01/06 15:13:16 martin Exp $
3303980Sngie#
4303980Sngie
5303980SngieTIMING_LOOPS=10000
6303980Sngieincksum="$(atf_get_srcdir)/in_cksum"
7303980Sngie
8303980Sngiefail() {
9303980Sngie    atf_fail "see output for details"
10303980Sngie}
11303980Sngie
12303980Sngiembufs() {
13303980Sngie    ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS} \
14303980Sngie	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 \
15303980Sngie	|| fail
16303980Sngie    ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS} \
17303980Sngie	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
18303980Sngie	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
19303980Sngie	|| fail
20303980Sngie    ${incksum} -l 64 -u $0 -i ${TIMING_LOOPS} \
21303980Sngie	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
22303980Sngie	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
23303980Sngie	|| fail
24303980Sngie    ${incksum} -l 16 -u $0 -i ${TIMING_LOOPS}	\
25303980Sngie	1 3 1 3 1 3 1 \
26303980Sngie	|| fail
27303980Sngie}
28303980Sngie
29303980Sngiesizes() {
30303980Sngie    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	2048 || fail
31303980Sngie    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	40 || fail
32303980Sngie    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	1536 || fail
33303980Sngie    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	576 || fail
34303980Sngie    ${incksum} -l 16 -u $1 -i ${TIMING_LOOPS}	1536 1536 1536 1536 1536 640 \
35303980Sngie	 || fail
36303980Sngie}
37303980Sngie
38303980Sngieatf_test_case mbufs_aligned
39303980Sngie
40303980Sngiembufs_aligned_head() {
41303980Sngie	atf_set "descr" "Test in_cksum mbuf chains aligned"
42303980Sngie}
43303980Sngie
44303980Sngiembufs_aligned_body() {
45303980Sngie	mbufs 0
46303980Sngie}
47303980Sngie
48303980Sngiembufs_unaligned_head() {
49303980Sngie	atf_set "descr" "Test in_cksum mbuf chains unaligned"
50303980Sngie}
51303980Sngie
52303980Sngiembufs_unaligned_body() {
53303980Sngie	mbufs 1
54303980Sngie}
55303980Sngie
56303980Sngiesizes_aligned_head() {
57303980Sngie	atf_set "descr" "Test in_cksum sizes aligned"
58303980Sngie}
59303980Sngie
60303980Sngiesizes_aligned_body() {
61303980Sngie	sizes 0
62303980Sngie}
63303980Sngie
64303980Sngiesizes_unaligned_head() {
65303980Sngie	atf_set "descr" "Test in_cksum sizes unaligned"
66303980Sngie}
67303980Sngie
68303980Sngiesizes_unaligned_body() {
69303980Sngie	sizes 1
70303980Sngie}
71303980Sngie
72303980Sngieatf_init_test_cases()
73303980Sngie{
74303980Sngie	atf_add_test_case mbufs_aligned
75303980Sngie	atf_add_test_case mbufs_unaligned
76303980Sngie	atf_add_test_case sizes_aligned
77303980Sngie	atf_add_test_case sizes_unaligned
78303980Sngie}
79