From e47ee3f5d21895ebd3b33c3dffca365ac82325c6 Mon Sep 17 00:00:00 2001
From: Tom Hennigan <tomhennigan@google.com>
Date: Tue, 2 Jul 2019 14:52:39 -0700
Subject: [PATCH] Add test for checkpoint released before status is checked.

PiperOrigin-RevId: 256244578
---
 tensorflow/python/training/tracking/util_test.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/tensorflow/python/training/tracking/util_test.py b/tensorflow/python/training/tracking/util_test.py
index 3969d259550..5045f5af5c3 100644
--- a/tensorflow/python/training/tracking/util_test.py
+++ b/tensorflow/python/training/tracking/util_test.py
@@ -397,6 +397,18 @@ class CheckpointingTests(parameterized.TestCase, test.TestCase):
       self.assertEqual(42., self.evaluate(v.non_dep_variable))
       self.assertEqual(42., self.evaluate(v.mirrored))
 
+  @test_util.run_in_graph_and_eager_modes
+  def testAssertConsumedNoCheckpoint(self):
+    prefix = os.path.join(self.get_temp_dir(), "ckpt")
+    v = variable_scope.get_variable(name="v", initializer=0.)
+    self.evaluate(v.initializer)
+    ckpt = trackable_utils.Checkpoint(v=v)
+    self.evaluate(trackable_utils.gather_initializers(ckpt))
+    save_path = ckpt.save(file_prefix=prefix)
+    status = ckpt.restore(save_path=save_path)
+    del ckpt
+    status.assert_consumed()
+
   @test_util.run_in_graph_and_eager_modes
   def testSaveRestore(self):
     model = MyModel()