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