From: Tom Yu Date: Fri, 26 Aug 2016 16:47:00 +0000 (-0400) Subject: Test btree unaligned byte swapping X-Git-Tag: krb5-1.15-beta1~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eaa03649fb5a3d983d48afe0124b15ad12b7bead;p=thirdparty%2Fkrb5.git Test btree unaligned byte swapping Add a regression test for unaligned accesses during btree byte swapping. ticket: 8484 --- diff --git a/src/plugins/kdb/db2/libdb2/test/run.test b/src/plugins/kdb/db2/libdb2/test/run.test index c43992c5d7..a616980880 100644 --- a/src/plugins/kdb/db2/libdb2/test/run.test +++ b/src/plugins/kdb/db2/libdb2/test/run.test @@ -36,7 +36,7 @@ main() find $bindir -type f -exec test -r {} \; -print | head -100 > $BINFILES if [ $# -eq 0 ]; then - for t in 1 2 3 4 5 6 7 8 9 10 11 12 13 20 40 41 50; do + for t in 1 2 3 4 5 6 7 8 9 10 11 12 13 20 40 41 50 60 61; do test$t done else @@ -47,7 +47,7 @@ main() [0-9]*) test$1;; btree) - for t in 1 2 3 7 8 9 10 12 13 40 41 50; do + for t in 1 2 3 7 8 9 10 12 13 40 41 50 60 61; do test$t done;; hash) @@ -954,4 +954,36 @@ test50 () { fi } +test60 () { + echo "Test 60: btree: big key, small data, byteswap unaligned access" + # 488 = 512 - 20 (header) - 3 ("foo") - 1 (newline) + (echo foo; echo bar) | + awk '{ + s = $0 + for (i = 0; i < 488; i++) { + s = s "x"; + } + printf("p\nk%s\ndx\n", s); + }' > $TMP2 + for order in 1234 4321; do + $PROG -o $TMP3 -i psize=512,lorder=$order btree $TMP2 + done +} + +test61 () { + echo "Test 61: btree: small key, big data, byteswap unaligned access" + # 484 = 512 - 20 (header) - 7 ("foo1234") - 1 (newline) + (echo foo1234; echo bar1234) | + awk '{ + s = $0 + for (i = 0; i < 484; i++) { + s = s "x"; + } + printf("p\nk%s\nd%s\n", $0, s); + }' > $TMP2 + for order in 1234 4321; do + $PROG -o $TMP3 -i psize=512,lorder=$order btree $TMP2 + done +} + main $*