summaryrefslogtreecommitdiffstats
path: root/test/t/test_xfreerdp.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/t/test_xfreerdp.py')
-rw-r--r--test/t/test_xfreerdp.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/test/t/test_xfreerdp.py b/test/t/test_xfreerdp.py
new file mode 100644
index 0000000..5616271
--- /dev/null
+++ b/test/t/test_xfreerdp.py
@@ -0,0 +1,60 @@
+import pytest
+
+from conftest import assert_bash_exec
+
+
+class TestXfreerdp:
+ def _help(self, bash):
+ return assert_bash_exec(
+ bash, "xfreerdp --help 2>&1 || :", want_output=True
+ )
+
+ @pytest.fixture(scope="class")
+ def help_success(self, bash):
+ output = self._help(bash)
+ # Example from our CentOS 7 container
+ # [04:51:31:663] [238:238] [ERROR][com.freerdp.client.x11] - Failed to get pixmap info
+ if not output or "ERROR" in output.strip().splitlines()[0]:
+ pytest.skip("--help errored")
+
+ @pytest.fixture(scope="class")
+ def slash_syntax(self, bash, help_success):
+ if "/help" not in self._help(bash):
+ pytest.skip("Not slash syntax")
+
+ @pytest.fixture(scope="class")
+ def dash_syntax(self, bash):
+ if "/help" in self._help(bash):
+ pytest.skip("Not dash syntax")
+
+ @pytest.mark.complete("xfreerdp /", require_cmd=True)
+ def test_1(self, bash, completion, help_success, slash_syntax):
+ assert completion
+
+ @pytest.mark.complete("xfreerdp -", require_cmd=True)
+ def test_2(self, completion, help_success):
+ assert completion
+
+ @pytest.mark.complete("xfreerdp +", require_cmd=True)
+ def test_3(self, bash, completion, help_success, slash_syntax):
+ assert completion
+
+ @pytest.mark.complete(
+ "xfreerdp /kbd:",
+ require_cmd=True,
+ skipif='test -z "$(xfreerdp /kbd-list 2>/dev/null)"',
+ )
+ def test_4(self, bash, completion, help_success, slash_syntax):
+ assert completion
+
+ @pytest.mark.complete("xfreerdp /help ", require_cmd=True)
+ def test_5(self, completion, help_success):
+ assert not completion
+
+ @pytest.mark.complete("xfreerdp -k ", require_cmd=True)
+ def test_6(self, bash, completion, help_success, dash_syntax):
+ assert completion
+
+ @pytest.mark.complete("xfreerdp --help ", require_cmd=True)
+ def test_7(self, completion):
+ assert not completion