mirror of
https://github.com/systemd/systemd.git
synced 2025-01-11 09:18:07 +03:00
5692f87160
We add a configure script for each subtest to add the required qemu arguments. Co-authored-by: Richard Maw <richard.maw@codethink.co.uk>
40 lines
1.1 KiB
Python
Executable File
40 lines
1.1 KiB
Python
Executable File
#!/usr/bin/python3
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
import json
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
|
|
|
|
config = json.load(sys.stdin)
|
|
|
|
qemu = f"qemu-system-{os.environ["QEMU_ARCHITECTURE"]}"
|
|
result = subprocess.run([qemu, '-device', 'help'], check=True, text=True, stdout=subprocess.PIPE)
|
|
if 'name "nvme"' not in result.stdout:
|
|
print("nvme device driver is not available, skipping test...", file=sys.stderr)
|
|
exit(77)
|
|
|
|
for id in ("nvme0", "nvme1"):
|
|
config["QemuDrives"] += [
|
|
{
|
|
"Id": id,
|
|
"Size": "1M",
|
|
"Options": "cache=unsafe",
|
|
}
|
|
|
|
]
|
|
|
|
config["QemuArgs"] += [
|
|
# Create an NVM Subsystem Device
|
|
"-device", "nvme-subsys,id=nvme-subsys-64,nqn=subsys64",
|
|
# Attach two NVM controllers to it
|
|
"-device", "nvme,subsys=nvme-subsys-64,serial=deadbeef",
|
|
"-device", "nvme,subsys=nvme-subsys-64,serial=deadbeef",
|
|
# And create two shared namespaces attached to both controllers
|
|
"-device", "nvme-ns,drive=nvme0,nsid=16,shared=on",
|
|
"-device", "nvme-ns,drive=nvme1,nsid=17,shared=on",
|
|
]
|
|
|
|
json.dump(config, sys.stdout)
|