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