summaryrefslogtreecommitdiff
path: root/test/v9fs_driver_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/v9fs_driver_test.py')
-rw-r--r--test/v9fs_driver_test.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/v9fs_driver_test.py b/test/v9fs_driver_test.py
new file mode 100644
index 00000000..9781c4fe
--- /dev/null
+++ b/test/v9fs_driver_test.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python3
+"""Unprivileged regression checks for the v9fs helper launcher."""
+import os
+import sys
+import unittest
+
+from v9fs import run_helper
+
+
+class HelperLaunchTests(unittest.TestCase):
+ def test_preserves_session_for_terminal_scoped_sudo_credentials(self):
+ output = run_helper([sys.executable, '-c', 'import os; print(os.getsid(0))'])
+ self.assertEqual(int(output), os.getsid(0))
+
+ def test_failure_preserves_diagnostics(self):
+ with self.assertRaisesRegex(RuntimeError, r'(?s)failed \(7\).*mount refused'):
+ run_helper([sys.executable, '-c',
+ 'import sys; print("mount refused", file=sys.stderr); sys.exit(7)'])
+
+ def test_timeout_is_not_a_passing_probe(self):
+ with self.assertRaisesRegex(RuntimeError, 'timed out; no compatibility result'):
+ run_helper([sys.executable, '-c', 'import time; time.sleep(60)'], timeout=.1)
+
+
+if __name__ == '__main__':
+ unittest.main()