aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2016-08-26 18:40:49 -0400
committerTom Yu <tlyu@mit.edu>2016-09-02 18:37:19 -0400
commit694b3ea5f5c966007b46c965424ce40a5979731b (patch)
tree99d056f789bd66a5a383de84399b05a6c637b31c
parentb777b47bf7e24a44ae20065c28382e9a2d3834ef (diff)
downloadkrb5-694b3ea5f5c966007b46c965424ce40a5979731b.zip
krb5-694b3ea5f5c966007b46c965424ce40a5979731b.tar.gz
krb5-694b3ea5f5c966007b46c965424ce40a5979731b.tar.bz2
Add known file test case for btree byte swap
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. (back ported from commit af3e7a4ac8b49ae8047ae2be7070d32feb69217d) ticket: 8485 version_fixed: 1.13.7
-rw-r--r--.gitignore3
-rw-r--r--src/plugins/kdb/db2/libdb2/test/Makefile.in8
-rw-r--r--src/plugins/kdb/db2/libdb2/test/run.test26
-rw-r--r--src/plugins/kdb/db2/libdb2/test/t.be.txt64
-rw-r--r--src/plugins/kdb/db2/libdb2/test/t.le.txt64
5 files changed, 162 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 02e85be..70e8135 100644
--- a/.gitignore
+++ b/.gitignore
@@ -382,3 +382,6 @@ testlog
/src/util/support/t_unal
/src/util/verto/rename.h
+
+/src/plugins/kdb/db2/libdb2/test/t.be.db
+/src/plugins/kdb/db2/libdb2/test/t.le.db
diff --git a/src/plugins/kdb/db2/libdb2/test/Makefile.in b/src/plugins/kdb/db2/libdb2/test/Makefile.in
index 866787c..fa3a0e2 100644
--- a/src/plugins/kdb/db2/libdb2/test/Makefile.in
+++ b/src/plugins/kdb/db2/libdb2/test/Makefile.in
@@ -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
diff --git a/src/plugins/kdb/db2/libdb2/test/run.test b/src/plugins/kdb/db2/libdb2/test/run.test
index 6f5d589..729ca1f 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 60 61; do
+ for t in 1 2 3 4 5 6 7 8 9 10 11 12 13 20 40 41 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 60 61; do
+ for t in 1 2 3 7 8 9 10 12 13 40 41 60 61 62; do
test$t
done;;
hash)
@@ -947,4 +947,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
index 0000000..4c60e2e
--- /dev/null
+++ b/src/plugins/kdb/db2/libdb2/test/t.be.txt
@@ -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
index 0000000..ad1154b
--- /dev/null
+++ b/src/plugins/kdb/db2/libdb2/test/t.le.txt
@@ -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