diff options
Diffstat (limited to 'tensorflow/python/kernel_tests/reader_ops_test.py')
-rw-r--r-- | tensorflow/python/kernel_tests/reader_ops_test.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tensorflow/python/kernel_tests/reader_ops_test.py b/tensorflow/python/kernel_tests/reader_ops_test.py index 5630259b7b..8e54d10f32 100644 --- a/tensorflow/python/kernel_tests/reader_ops_test.py +++ b/tensorflow/python/kernel_tests/reader_ops_test.py @@ -35,6 +35,9 @@ from tensorflow.python.ops import data_flow_ops from tensorflow.python.ops import io_ops from tensorflow.python.ops import variables from tensorflow.python.platform import test +from tensorflow.python.training import coordinator +from tensorflow.python.training import input as input_lib +from tensorflow.python.training import queue_runner_impl from tensorflow.python.util import compat prefix_path = "tensorflow/core/lib" @@ -1011,6 +1014,25 @@ class LMDBReaderTest(test.TestCase): "\\(requested 1, current size 0\\)"): k, v = sess.run([key, value]) + def testReadFromSameFile(self): + with self.test_session() as sess: + reader1 = io_ops.LMDBReader(name="test_read_from_same_file1") + reader2 = io_ops.LMDBReader(name="test_read_from_same_file2") + filename_queue = input_lib.string_input_producer([self.db_path], + num_epochs=None) + key1, value1 = reader1.read(filename_queue) + key2, value2 = reader2.read(filename_queue) + + coord = coordinator.Coordinator() + threads = queue_runner_impl.start_queue_runners(sess, coord=coord) + for i in range(3): + for j in range(10): + k1, v1, k2, v2 = sess.run([key1, value1, key2, value2]) + self.assertAllEqual(compat.as_bytes(k1), compat.as_bytes(k2)) + self.assertAllEqual(compat.as_bytes(v1), compat.as_bytes(v2)) + coord.request_stop() + coord.join(threads) + def testReadFromFolder(self): with self.test_session() as sess: reader = io_ops.LMDBReader(name="test_read_from_folder") @@ -1029,6 +1051,25 @@ class LMDBReaderTest(test.TestCase): "\\(requested 1, current size 0\\)"): k, v = sess.run([key, value]) + def testReadFromFileRepeatedly(self): + with self.test_session() as sess: + reader = io_ops.LMDBReader(name="test_read_from_file_repeated") + filename_queue = input_lib.string_input_producer([self.db_path], + num_epochs=None) + key, value = reader.read(filename_queue) + + coord = coordinator.Coordinator() + threads = queue_runner_impl.start_queue_runners(sess, coord=coord) + # Iterate over the lmdb 3 times. + for i in range(3): + # Go over all 10 records each time. + for j in range(10): + k, v = sess.run([key, value]) + self.assertAllEqual(compat.as_bytes(k), compat.as_bytes(str(j))) + self.assertAllEqual( + compat.as_bytes(v), compat.as_bytes(str(chr(ord("a") + j)))) + coord.request_stop() + coord.join(threads) if __name__ == "__main__": test.main() |