diff options
Diffstat (limited to 'test/t/test_ant.py')
-rw-r--r-- | test/t/test_ant.py | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/test/t/test_ant.py b/test/t/test_ant.py index 94acea1..de4c414 100644 --- a/test/t/test_ant.py +++ b/test/t/test_ant.py @@ -3,28 +3,43 @@ import pytest from conftest import assert_bash_exec -@pytest.mark.bashcomp(ignore_env=r"^\+ANT_ARGS=") +@pytest.mark.bashcomp( + ignore_env=r"^\+ANT_ARGS=", + temp_cwd=True, + pre_cmds=('cp "$SRCDIRABS"/fixtures/ant/*.xml .',), +) class TestAnt: + @pytest.fixture(scope="class") + def has_complete_ant_cmd_pl(self, bash): + output = assert_bash_exec(bash, "complete -p ant", want_output=True) + return "complete-ant-cmd.pl" in output + @pytest.mark.complete("ant -", require_cmd=True) def test_1(self, completion): assert completion - @pytest.mark.complete("ant ", cwd="ant") + @pytest.mark.complete("ant ") def test_2(self, completion): assert completion == "bashcomp clean init realclean".split() - @pytest.mark.complete("ant -f build-with-import.xml ", cwd="ant") - def test_3(self, completion): - assert completion == "build-with-import imported-build".split() + @pytest.mark.complete("ant -f build-with-import.xml ") + def test_3(self, completion, has_complete_ant_cmd_pl): + if has_complete_ant_cmd_pl: + # Some versions of complete-ant-cmd.pl add "import-project-name." + # prefix to imported targets, just check that the ones we add + # are there. + assert all( + x in completion + for x in "build-with-import imported-build".split() + ) + else: + assert completion == "build-with-import imported-build".split() - @pytest.mark.complete( - "ant ", cwd="ant", env=dict(ANT_ARGS="'-f named-build.xml'") - ) - def test_4(self, bash, completion): - output = assert_bash_exec(bash, "complete -p ant", want_output=True) - if "complete-ant-cmd.pl" in output: + @pytest.mark.complete("ant ", env=dict(ANT_ARGS="'-f named-build.xml'")) + def test_4(self, bash, completion, has_complete_ant_cmd_pl): + if has_complete_ant_cmd_pl: # Some versions of complete-ant-cmd.pl don't treat ANT_ARGS right; - # in those cases we get the correct completion produced by _ant + # in those cases we get the correct completion produced by us # plus whatever complete-ant-cmd.pl was able to get from build.xml assert "named-build" in completion else: |