Skip to content

tapify with TapIgnore should successfully thread through passed func_kwargs #177

@martinjm97

Description

@martinjm97

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions