]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Add known file test case for btree byte swap
authorTom Yu <tlyu@mit.edu>
Fri, 26 Aug 2016 22:40:49 +0000 (18:40 -0400)
committerTom Yu <tlyu@mit.edu>
Mon, 29 Aug 2016 19:46:29 +0000 (15:46 -0400)
Add a regression test for the preceding bugfix.  This test uses btree
database files with known contents and byte orders with short keys and
overflow data items.

ticket: 8485

.gitignore
src/plugins/kdb/db2/libdb2/test/Makefile.in
src/plugins/kdb/db2/libdb2/test/run.test
src/plugins/kdb/db2/libdb2/test/t.be.txt [new file with mode: 0644]
src/plugins/kdb/db2/libdb2/test/t.le.txt [new file with mode: 0644]

index fe7447f8ef09cfe6ecdea141b703eb2f43f7fa68..028de8a029c4ed145cf10aefc147fdd0f76d0ec2 100644 (file)
@@ -522,3 +522,6 @@ local.properties
 /src/util/support/t_utf8
 
 /src/util/verto/rename.h
+
+/src/plugins/kdb/db2/libdb2/test/t.be.db
+/src/plugins/kdb/db2/libdb2/test/t.le.db
index f75e72042ed091d017d48771bc1527b0662abe5c..58eaf6f5b7d2669bcf6f9a94cdeb93e241d6ee16 100644 (file)
@@ -17,7 +17,12 @@ all:
 dbtest: dbtest.o $(DB_DEPLIB)
        $(CC_LINK) -o $@ dbtest.o $(STRERROR_OBJ) $(DB_LIB)
 
-check: dbtest
+t.be.db: $(srcdir)/t.be.txt
+t.le.db: $(srcdir)/t.le.txt
+t.be.db t.le.db:
+       $(PERL) -ne 'chomp; print pack("H*", $$_);' $? > $@
+
+check: dbtest t.be.db t.le.db
        $(RUN_SETUP) srcdir=$(srcdir) TMPDIR=$(TMPDIR) $(VALGRIND) $(FCTSH) $(srcdir)/run.test
 
 bttest.o: $(srcdir)/btree.tests/main.c
@@ -29,3 +34,4 @@ bttest: bttest.o $(DB_DEPLIB)
 clean-unix::
        $(RM) dbtest.o dbtest __dbtest
        $(RM) bttest.o bttest
+       $(RM) t.be.db t.le.db
index a6169808803edf934f9c5052f9f56898066e1d70..caf6989ad18f0ea7bfc9b7a706ab28327bde30fc 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 60 61; do
+               for t in 1 2 3 4 5 6 7 8 9 10 11 12 13 20 40 41 50 60 61 62; 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 60 61; do
+                               for t in 1 2 3 7 8 9 10 12 13 40 41 50 60 61 62; do
                                        test$t
                                done;;
                        hash)
@@ -986,4 +986,26 @@ test61 () {
        done
 }
 
+test62 () {
+       echo "Test 62: btree: small key, big data, known byte order files"
+       (echo foo1234; echo bar1234) |
+       awk '{
+               s = $0
+               for (i = 0; i < 484; i++) {
+                       s = s "x";
+               }
+               printf("%s\n", s);
+       }' > $TMP1
+       (echo g; echo kfoo1234; echo g; echo kbar1234) > $TMP2
+       for f in t.le.db t.be.db; do
+               echo "    $f"
+               $PROG -f $f -s -o $TMP3 btree $TMP2
+               if (cmp -s $TMP1 $TMP3); then :
+               else
+                       echo "test62: btree: failed"
+                       exit 1
+               fi
+       done
+}
+
 main $*
diff --git a/src/plugins/kdb/db2/libdb2/test/t.be.txt b/src/plugins/kdb/db2/libdb2/test/t.be.txt
new file mode 100644 (file)
index 0000000..4c60e2e
--- /dev/null
@@ -0,0 +1,64 @@
+0005316200000003000002000000000000000000000000200000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000001000000000000000000000002001801C801C801E4FFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFF000000080000000801626172313233340A00000003000001
+ECFFFFFF000000080000000801666F6F313233340A00000002000001ECFFFFFF
+0000000200000000000000000000000400000000666F6F313233347878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+787878787878787878787878787878787878787878787878787878787878780A
+0000000300000000000000000000000400000000626172313233347878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+787878787878787878787878787878787878787878787878787878787878780A
diff --git a/src/plugins/kdb/db2/libdb2/test/t.le.txt b/src/plugins/kdb/db2/libdb2/test/t.le.txt
new file mode 100644 (file)
index 0000000..ad1154b
--- /dev/null
@@ -0,0 +1,64 @@
+6231050003000000000200000000000000000000200000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+010000000000000000000000020000001800C801C801E401FFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFF080000000800000001626172313233340A03000000EC0100
+00FFFFFF080000000800000001666F6F313233340A02000000EC010000FFFFFF
+0200000000000000000000000400000000000000666F6F313233347878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+787878787878787878787878787878787878787878787878787878787878780A
+0300000000000000000000000400000000000000626172313233347878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+7878787878787878787878787878787878787878787878787878787878787878
+787878787878787878787878787878787878787878787878787878787878780A