summaryrefslogtreecommitdiffstats
path: root/test/t/test_valgrind.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/t/test_valgrind.py')
-rw-r--r--test/t/test_valgrind.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/t/test_valgrind.py b/test/t/test_valgrind.py
new file mode 100644
index 0000000..0553b55
--- /dev/null
+++ b/test/t/test_valgrind.py
@@ -0,0 +1,42 @@
+import os
+
+import pytest
+
+
+class TestValgrind:
+
+ # b: Assume we have at least bash that starts with b in PATH
+ @pytest.mark.complete("valgrind b")
+ def test_1(self, completion):
+ assert completion
+
+ @pytest.mark.complete("valgrind -", require_cmd=True)
+ def test_2(self, completion):
+ assert completion
+
+ @pytest.mark.complete("valgrind --tool=memche", require_cmd=True)
+ def test_3(self, completion):
+ assert completion == "ck" or "--tool=memcheck" in completion
+
+ @pytest.mark.complete(
+ "valgrind --tool=helgrind --history-l", require_cmd=True
+ )
+ def test_4(self, completion):
+ assert completion == "evel=" or "--history-level=" in completion
+ assert not completion.endswith(" ")
+
+ @pytest.mark.complete(r"valgrind --log-file=v\ 0.log ./bin/", cwd="shared")
+ def test_5(self, completion):
+ expected = sorted(
+ [
+ "%s/"
+ for x in os.listdir("shared/bin")
+ if os.path.isdir("shared/bin/%s" % x)
+ ]
+ + [
+ x
+ for x in os.listdir("shared/bin")
+ if os.path.isfile("shared/bin/%s" % x)
+ ]
+ )
+ assert completion == expected