about summary refs log tree commit diff
path: root/nixos/lib
diff options
context:
space:
mode:
authorMarijan Petričević <marijan.petricevic94@gmail.com>2022-01-25 11:14:57 +0100
committerMarijan Petričević <marijan.petricevic94@gmail.com>2022-01-25 11:14:57 +0100
commit03c90974a74fd31dc03af58e6aeedb0c9d1f3a35 (patch)
tree3df86b1be1967413223d3777fb47fc5c28a754ef /nixos/lib
parente17fcbc9663040c932fd49664dc7b8cbd3b5894c (diff)
downloadnixlib-03c90974a74fd31dc03af58e6aeedb0c9d1f3a35.tar
nixlib-03c90974a74fd31dc03af58e6aeedb0c9d1f3a35.tar.gz
nixlib-03c90974a74fd31dc03af58e6aeedb0c9d1f3a35.tar.bz2
nixlib-03c90974a74fd31dc03af58e6aeedb0c9d1f3a35.tar.lz
nixlib-03c90974a74fd31dc03af58e6aeedb0c9d1f3a35.tar.xz
nixlib-03c90974a74fd31dc03af58e6aeedb0c9d1f3a35.tar.zst
nixlib-03c90974a74fd31dc03af58e6aeedb0c9d1f3a35.zip
add tmp_dir access check
Diffstat (limited to 'nixos/lib')
-rw-r--r--nixos/lib/test-driver/test_driver/driver.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/nixos/lib/test-driver/test_driver/driver.py b/nixos/lib/test-driver/test_driver/driver.py
index 656e04143c17..10914a8c7aee 100644
--- a/nixos/lib/test-driver/test_driver/driver.py
+++ b/nixos/lib/test-driver/test_driver/driver.py
@@ -30,9 +30,22 @@ class Driver:
         self.tests = tests
         self.out_dir = out_dir
 
-        tmp_dir = Path(os.environ.get("TMPDIR", tempfile.gettempdir()))
+        tmp_dir = Path(tempfile.gettempdir())
         tmp_dir.mkdir(mode=0o700, exist_ok=True)
 
+        if not tmp_dir.is_dir():
+            raise NotADirectoryError(
+                "The directory defined by TMPDIR, TEMP, TMP or CWD: {0} is not a directory".format(
+                    tmp_dir
+                )
+            )
+        if not os.access(tmp_dir, os.W_OK):
+            raise PermissionError(
+                "The directory defined by TMPDIR, TEMP, TMP or CWD: {0} is not writeable".format(
+                    tmp_dir
+                )
+            )
+
         with rootlog.nested("start all VLans"):
             self.vlans = [VLan(nr, tmp_dir) for nr in vlans]