code: def test_keyword_args_only(self):
      def func_without_decorator(a, b):
          return a + b
  
      @keyword_args.keyword_args_only
      def func_with_decorator(a, b):
          return func_without_decorator(a, b)
  
      self.assertEqual(3, func_without_decorator(1, 2))
      self.assertEqual(3, func_without_decorator(a=1, b=2))
      self.assertEqual(3, func_with_decorator(a=1, b=2))
  
      # Providing non-keyword args should fail.
      with self.assertRaisesRegex(
          ValueError, "only accepts keyword arguments"
      ):
          self.assertEqual(3, func_with_decorator(1, 2))
  
      # Partially providing keyword args should fail.
      with self.assertRaisesRegex(
          ValueError, "only accepts keyword arguments"
      ):
          self.assertEqual(3, func_with_decorator(1, b=2))
  
imports: from tensorflow.python.platform import test
  from tensorflow.python.util import keyword_args
label_desc: Use image node_id 1 for calling the KeywordArgsTest obj's underlying member method code with example usage: obj.test_keyword_args_only() and returns: unknown, func_without_decorator