code: def test_assert_no_varargs_varkw_raises_error(self):
      def func_with_varargs(*args) -> None:
          pass
  
      def func_with_varkw(**kwargs) -> None:
          pass
  
      with self.assertRaisesRegex(
          ValueError, r"does not support \*args or \*\*kwargs"
      ):
          utils.assert_no_varargs_varkw(
              inspect.getfullargspec(func_with_varargs),
          )
  
      with self.assertRaisesRegex(
          ValueError, r"does not support \*args or \*\*kwargs"
      ):
          utils.assert_no_varargs_varkw(
              inspect.getfullargspec(func_with_varkw),
          )
  
imports: import copy
  import inspect
  from typing import Dict, List
  import tensorflow
  from tfx.dsl.component.experimental import annotations
  from tfx.dsl.component.experimental import decorators
  from tfx.dsl.component.experimental import function_parser
  from tfx.dsl.component.experimental import utils
  from tfx.dsl.components.base import executor_spec
  from tfx.types import standard_artifacts
  from tfx.types import system_executions
label_desc: Use image node_id 4 for calling the UtilsTest obj's underlying member method code with example usage: obj.test_assert_no_varargs_varkw_raises_error() without return types