krb5 commit [krb5-1.13]: Add known file test case for btree byte swap

Tom Yu tlyu at mit.edu
Fri Sep 9 14:48:23 EDT 2016


https://github.com/krb5/krb5/commit/694b3ea5f5c966007b46c965424ce40a5979731b
commit 694b3ea5f5c966007b46c965424ce40a5979731b
Author: Tom Yu <tlyu at mit.edu>
Date:   Fri Aug 26 18:40:49 2016 -0400

    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

 .gitignore                                  |    3 +
 src/plugins/kdb/db2/libdb2/test/Makefile.in |    8 +++-
 src/plugins/kdb/db2/libdb2/test/run.test    |   26 ++++++++++-
 src/plugins/kdb/db2/libdb2/test/t.be.txt    |   64 +++++++++++++++++++++++++++
 src/plugins/kdb/db2/libdb2/test/t.le.txt    |   64 +++++++++++++++++++++++++++
 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


More information about the cvs-krb5 mailing list