summary refs log tree commit diff
path: root/nixos/lib/test-driver
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-04-25 08:48:47 +0000
committerAlyssa Ross <hi@alyssa.is>2023-04-25 08:55:30 +0000
commitd6e84a4574a200de63e8fe86ef8574b507fd366e (patch)
tree1b64390b06375630554d7c999d1a083387719c19 /nixos/lib/test-driver
parent6d69171610869050b8c1daa07ec2446a5c897c19 (diff)
downloadnixpkgs-d6e84a4574a200de63e8fe86ef8574b507fd366e.tar
nixpkgs-d6e84a4574a200de63e8fe86ef8574b507fd366e.tar.gz
nixpkgs-d6e84a4574a200de63e8fe86ef8574b507fd366e.tar.bz2
nixpkgs-d6e84a4574a200de63e8fe86ef8574b507fd366e.tar.lz
nixpkgs-d6e84a4574a200de63e8fe86ef8574b507fd366e.tar.xz
nixpkgs-d6e84a4574a200de63e8fe86ef8574b507fd366e.tar.zst
nixpkgs-d6e84a4574a200de63e8fe86ef8574b507fd366e.zip
nixosTest: remove hostname limitations
Diffstat (limited to 'nixos/lib/test-driver')
-rw-r--r--nixos/lib/test-driver/test_driver/driver.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/nixos/lib/test-driver/test_driver/driver.py b/nixos/lib/test-driver/test_driver/driver.py
index ad52f365737..ea6ba4b65b5 100644
--- a/nixos/lib/test-driver/test_driver/driver.py
+++ b/nixos/lib/test-driver/test_driver/driver.py
@@ -2,6 +2,7 @@ from contextlib import contextmanager
 from pathlib import Path
 from typing import Any, Dict, Iterator, List, Union, Optional, Callable, ContextManager
 import os
+import re
 import tempfile
 
 from test_driver.logger import rootlog
@@ -28,6 +29,10 @@ def get_tmp_dir() -> Path:
     return tmp_dir
 
 
+def pythonize_name(name: str) -> str:
+    return re.sub(r"^[^A-z_]|[^A-z0-9_]", "_", name)
+
+
 class Driver:
     """A handle to the driver that sets up the environment
     and runs the tests"""
@@ -113,7 +118,7 @@ class Driver:
             polling_condition=self.polling_condition,
             Machine=Machine,  # for typing
         )
-        machine_symbols = {m.name: m for m in self.machines}
+        machine_symbols = {pythonize_name(m.name): m for m in self.machines}
         # If there's exactly one machine, make it available under the name
         # "machine", even if it's not called that.
         if len(self.machines) == 1: