]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Test btree unaligned byte swapping
authorTom Yu <tlyu@mit.edu>
Fri, 26 Aug 2016 16:47:00 +0000 (12:47 -0400)
committerTom Yu <tlyu@mit.edu>
Mon, 29 Aug 2016 19:46:29 +0000 (15:46 -0400)
Add a regression test for unaligned accesses during btree byte
swapping.

ticket: 8484

src/plugins/kdb/db2/libdb2/test/run.test

index c43992c5d75442fab4379bd3f8fec57512535921..a6169808803edf934f9c5052f9f56898066e1d70 100644 (file)
@@ -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 $*