hwdb: fix screen rotation for EXO Wings 2in1 w1125 (#36283)
[systemd.io.git] / test / TEST-64-UDEV-STORAGE / nvme_basic.configure
blobed8304d804355a5fe993d2fe090af0d1e038704f
1 #!/usr/bin/python3
2 # SPDX-License-Identifier: LGPL-2.1-or-later
4 import json
5 import os
6 import shutil
7 import subprocess
8 import sys
11 config = json.load(sys.stdin)
13 qemu = shutil.which("/usr/libexec/qemu-kvm") or f"qemu-system-{os.environ['QEMU_ARCHITECTURE']}"
14 result = subprocess.run([qemu, "-device", "help"], check=True, text=True, stdout=subprocess.PIPE)
15 if 'name "nvme"' not in result.stdout:
16     print("nvme device driver is not available, skipping test...", file=sys.stderr)
17     exit(77)
19 def add_drive(i: int, serial: str) -> None:
20     global config
21     id = f"nvme{i}"
22     config["Drives"] += [
23         {
24             "Id": id,
25             "Size": "1M",
26             "Options": "cache=unsafe",
27         }
28     ]
29     config["QemuArgs"] += ["-device", f"nvme,drive={id},serial={serial},max_ioqpairs=8"]
31 for i in range(5):
32     add_drive(i, serial=f"deadbeef{i}")
33 for i in range(5, 10):
34     add_drive(i, serial=f"    deadbeef  {i}   ")
35 for i in range(10, 15):
36     add_drive(i, serial=f"    dead/beef/{i}   ")
37 for i in range(15, 20):
38     add_drive(i, serial=f"dead/../../beef/{i}")
40 json.dump(config, sys.stdout)