aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@kernel.org>2019-09-27 14:32:12 -0700
committerAndy Lutomirski <luto@kernel.org>2019-09-27 14:32:12 -0700
commita2223d11b58097b0cbb8eeacf66b17699ddada7f (patch)
tree11507ae41124c3ad90d20f36dfe727be67a7f032
parent47f18f58c2ac4f699b91263b4115c29baa01f20e (diff)
downloadvirtme-a2223d11b58097b0cbb8eeacf66b17699ddada7f.tar.gz
Add more type annotations and fix run return value buglet
Signed-off-by: Andy Lutomirski <luto@kernel.org>
-rw-r--r--virtme/commands/run.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/virtme/commands/run.py b/virtme/commands/run.py
index 3e6465b..a205069 100644
--- a/virtme/commands/run.py
+++ b/virtme/commands/run.py
@@ -31,7 +31,7 @@ uname = os.uname()
class SilentError(Exception):
pass
-def make_parser():
+def make_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(
description='Virtualize your system (or another) under a kernel image',
)
@@ -131,7 +131,7 @@ def arg_fail(message, show_usage=True) -> NoReturn:
_ARGPARSER.print_usage()
sys.exit(1)
-def is_file_more_recent(a, b):
+def is_file_more_recent(a, b) -> bool:
return os.stat(a).st_mtime > os.stat(b).st_mtime
class Kernel:
@@ -154,7 +154,7 @@ class Kernel:
if m:
self.config[m.group(1)] = m.group(2)
-def find_kernel_and_mods(arch, args):
+def find_kernel_and_mods(arch, args) -> Kernel:
kernel = Kernel()
kernel.use_root_mods = False
@@ -230,7 +230,7 @@ def find_kernel_and_mods(arch, args):
return kernel
-def export_virtfs(qemu, arch, qemuargs, path, mount_tag, security_model='none', readonly=True):
+def export_virtfs(qemu, arch, qemuargs, path, mount_tag, security_model='none', readonly=True) -> None:
# NB: We can't use -virtfs for this, because it can't handle a mount_tag
# that isn't a valid QEMU identifier.
fsid = 'virtfs%d' % len(qemuargs)
@@ -239,7 +239,7 @@ def export_virtfs(qemu, arch, qemuargs, path, mount_tag, security_model='none',
security_model, ',readonly' if readonly else '')])
qemuargs.extend(['-device', '%s,fsdev=%s,mount_tag=%s' % (arch.virtio_dev_type('9p'), fsid, qemu.quote_optarg(mount_tag))])
-def quote_karg(arg):
+def quote_karg(arg: str) -> str:
if '"' in arg:
raise ValueError("cannot quote '\"' in kernel args")
@@ -253,7 +253,7 @@ _SAFE_PATH_PATTERN = '[a-zA-Z0-9_+ /.-]+'
_RWDIR_RE = re.compile('^(%s)(?:=(%s))?$' %
(_SAFE_PATH_PATTERN, _SAFE_PATH_PATTERN))
-def do_it():
+def do_it() -> int:
args = _ARGPARSER.parse_args()
arch = architectures.get(args.arch)
@@ -567,9 +567,11 @@ def do_it():
if not args.dry_run:
os.execv(qemu.qemubin, qemuargs)
-def main():
+ return 0
+
+def main() -> int:
try:
- do_it()
+ return do_it()
except SilentError:
return 1