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