aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/python/kernel_tests/reader_ops_test.py
diff options
context:
space:
mode:
authorGravatar Yifei Feng <yifeif@google.com>2017-11-22 13:42:21 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-11-22 13:50:02 -0800
commitb1d8c59e9b014b527fb2fbef9ce9afc14dbc4938 (patch)
treeaf207d5a90f3176bdd3fbffbe1e98258125bf389 /tensorflow/python/kernel_tests/reader_ops_test.py
parente219aeb542779d90a582ffe16f8602cd1b275b22 (diff)
Merge changes from github.
PiperOrigin-RevId: 176695926
Diffstat (limited to 'tensorflow/python/kernel_tests/reader_ops_test.py')
-rw-r--r--tensorflow/python/kernel_tests/reader_ops_test.py42
1 files changed, 42 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..223a4b2c87 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 _ in range(3):
+ for _ 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,26 @@ 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 _ 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()