summaryrefslogtreecommitdiffstats
path: root/test/t/test_slapt_src.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/t/test_slapt_src.py')
-rw-r--r--test/t/test_slapt_src.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/t/test_slapt_src.py b/test/t/test_slapt_src.py
new file mode 100644
index 0000000..b55b722
--- /dev/null
+++ b/test/t/test_slapt_src.py
@@ -0,0 +1,43 @@
+import os
+from tempfile import mkstemp
+
+import pytest
+
+from conftest import assert_complete, is_bash_type
+
+
+@pytest.mark.bashcomp(cmd="slapt-src")
+class TestSlaptSrc:
+ @pytest.fixture(scope="class")
+ def slapt_srcrc(self, request, bash):
+ fd, fname = mkstemp(prefix="slapt-srcrc.", text=True)
+ request.addfinalizer(lambda: os.remove(fname))
+ with os.fdopen(fd, "w") as f:
+ print(
+ "BUILDDIR=%s/"
+ % os.path.join(
+ bash.cwd, *"slackware usr src slapt-src".split()
+ ),
+ file=f,
+ )
+ return fname
+
+ @pytest.mark.complete("slapt-src -", require_cmd=True)
+ def test_1(self, completion):
+ assert completion
+
+ @pytest.mark.complete("slapt-src --bu", require_cmd=True)
+ def test_2(self, completion):
+ assert completion == "ild" or "--build" in completion
+
+ @pytest.mark.complete("slapt-src --ins", require_cmd=True)
+ def test_3(self, completion):
+ assert completion == "tall" or "--install" in completion
+
+ def test_install(self, bash, slapt_srcrc):
+ if not is_bash_type(bash, "slapt-src"):
+ pytest.skip("slapt-src not found")
+ completion = assert_complete(
+ bash, "slapt-src --config %s --install " % slapt_srcrc
+ )
+ assert completion == "abc:4 qwe:2.1".split()