The following test fails.
def test_tapify_function_with_tap_ignore_func_kwargs_still_work(self):
"""Test tapify with TapIgnore and set ignored variable via func_kwargs. """
def my_func(a: int, b: TapIgnore[int] = 2, c: str = "hello") -> str:
return f"{a} {b} {c}"
output = tapify(
my_func,
command_line_args=["--a", "1", "--c", "world"],
b=3,
)
# b should still be 3, not 2
self.assertEqual(output, "1 3 world")
The user should still be able to specify additional arguments to tapify using kwargs even if they're of type TapIgnore. The reason is that calls to functions should act like regular function calls (not ignore arguments), while automatically parsing relevant arguments from the command line.
--JK