Add getmodule to tf_inspect.
authorA. Unique TensorFlower <gardener@tensorflow.org>
Fri, 16 Feb 2018 19:19:15 +0000 (11:19 -0800)
committerTensorFlower Gardener <gardener@tensorflow.org>
Fri, 16 Feb 2018 19:23:16 +0000 (11:23 -0800)
PiperOrigin-RevId: 186021386

tensorflow/python/util/tf_inspect.py
tensorflow/python/util/tf_inspect_test.py

index c4168f7b1ac80976a957e96c79c72fe3b288d622..c2fe6fc4494428693605a5a7463a9f590a2da39e 100644 (file)
@@ -134,6 +134,11 @@ def getmembers(object, predicate=None):  # pylint: disable=redefined-builtin
   return _inspect.getmembers(object, predicate)
 
 
+def getmodule(object):  # pylint: disable=redefined-builtin
+  """TFDecorator-aware replacement for inspect.getmodule."""
+  return _inspect.getmodule(object)
+
+
 def getmro(cls):
   """TFDecorator-aware replacement for inspect.getmro."""
   return _inspect.getmro(cls)
index a9e8ffb30c3392251c2bf7076e02aafd2338696b..8903e1156b27b3a28543eb5ecfcc6eeb1a04f6ae 100644 (file)
@@ -124,6 +124,17 @@ class TfInspectTest(test.TestCase):
         inspect.getmembers(TestDecoratedClass),
         tf_inspect.getmembers(TestDecoratedClass))
 
+  def testGetModule(self):
+    self.assertEqual(
+        inspect.getmodule(TestDecoratedClass),
+        tf_inspect.getmodule(TestDecoratedClass))
+    self.assertEqual(
+        inspect.getmodule(test_decorated_function),
+        tf_inspect.getmodule(test_decorated_function))
+    self.assertEqual(
+        inspect.getmodule(test_undecorated_function),
+        tf_inspect.getmodule(test_undecorated_function))
+
   def testGetSource(self):
     expected = '''@test_decorator('decorator')
 def test_decorated_function_with_defaults(a, b=2, c='Hello'):