From d0ed82209b93cf4412a66b082f802640262b896e Mon Sep 17 00:00:00 2001 From: Fred Reiss Date: Mon, 12 Aug 2019 14:50:33 -0700 Subject: [PATCH] Add big-endian data file for LMDB dataset tests --- .../python/kernel_tests/lmdb_dataset_op_test.py | 6 +++++- tensorflow/core/BUILD | 8 ++++++++ .../core/lib/lmdb/testdata/data_bigendian.mdb | Bin 0 -> 20480 bytes 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 tensorflow/core/lib/lmdb/testdata/data_bigendian.mdb diff --git a/tensorflow/contrib/data/python/kernel_tests/lmdb_dataset_op_test.py b/tensorflow/contrib/data/python/kernel_tests/lmdb_dataset_op_test.py index 220f9934b67..d5bcdebf81a 100644 --- a/tensorflow/contrib/data/python/kernel_tests/lmdb_dataset_op_test.py +++ b/tensorflow/contrib/data/python/kernel_tests/lmdb_dataset_op_test.py @@ -20,6 +20,7 @@ from __future__ import print_function import os import shutil +import sys from tensorflow.contrib.data.python.ops import readers from tensorflow.python.data.kernel_tests import test_base @@ -40,7 +41,10 @@ class LMDBDatasetTest(test_base.DatasetTestBase): def setUp(self): super(LMDBDatasetTest, self).setUp() # Copy database out because we need the path to be writable to use locks. - path = os.path.join(prefix_path, "lmdb", "testdata", "data.mdb") + # The on-disk format of an LMDB database is different on big-endian + # machines, because LMDB is a memory-mapped database. + db_file = "data.mdb" if sys.byteorder == "little" else "data_bigendian.mdb" + path = os.path.join(prefix_path, "lmdb", "testdata", db_file) self.db_path = os.path.join(self.get_temp_dir(), "data.mdb") shutil.copy(path, self.db_path) diff --git a/tensorflow/core/BUILD b/tensorflow/core/BUILD index 42a616b5126..af200deacc9 100644 --- a/tensorflow/core/BUILD +++ b/tensorflow/core/BUILD @@ -5512,11 +5512,19 @@ filegroup( testonly = 1, srcs = [ # A simple key-value store: + # 0 : 'b' + # 1 : 'b' + # ... + # 9 : 'b' + # Which is then overwritten with: # 0 : 'a' # 1 : 'b' # ... # 9 : 'j' "lib/lmdb/testdata/data.mdb", + # LMDB, being a memory-mapped database, uses a different file format on + # big-endian systems. + "lib/lmdb/testdata/data_bigendian.mdb", ], visibility = ["//visibility:public"], ) diff --git a/tensorflow/core/lib/lmdb/testdata/data_bigendian.mdb b/tensorflow/core/lib/lmdb/testdata/data_bigendian.mdb new file mode 100644 index 0000000000000000000000000000000000000000..3b1193b56cdd79eb7cbad112e1ded9f640537386 GIT binary patch literal 20480 zcmeI)yGjE=6vpw%Xc26V_zXUP=Bkh5{qjsHtgNjq#KPLzN`kduXRGtMbB?+e8!!mM z|3G%WS!S}~*PU!ODMj^_ZeDI5%g~Fn3Ku%8r_^tqZ?F5DuWCoB@9*<-zSb;DD|PgJ zxy~67KmY**5I_I{1Q0*~0R#|0V0i-S(--OgJFoawt1eu$|M!01$M(L?>#_g=1Q0*~ z0R#|0009ILKmY**ItA2s=d@`vd$nhKvIo1jJG-_kyR=#7ZWbVb00IagfB*srAbiJ~)Bm5B>o)!WnWyQgr^$(@@v*1Tk*DFIr@?`zFa7^sIj7Qd_c?9Y+~%56 n2q1s}0tg_000IagfB*srAn?xw${+VN&-Rxw*UzqR6IA&fVQnzx literal 0 HcmV?d00001