summaryrefslogtreecommitdiff
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.py31
1 files changed, 29 insertions, 2 deletions
diff --git a/test/t/test_slapt_src.py b/test/t/test_slapt_src.py
index dd443b04..b55b722d 100644
--- a/test/t/test_slapt_src.py
+++ b/test/t/test_slapt_src.py
@@ -1,16 +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 == "--build"
+ assert completion == "ild" or "--build" in completion
@pytest.mark.complete("slapt-src --ins", require_cmd=True)
def test_3(self, completion):
- assert completion == "--install"
+ 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()