iotests.py: Assume a couple of variables as given
commit3e0105e0590d74e8deaf9a52a0009334e0bbe74f
authorMax Reitz <mreitz@redhat.com>
Mon, 18 Jan 2021 10:57:11 +0000 (18 11:57 +0100)
committerMax Reitz <mreitz@redhat.com>
Tue, 26 Jan 2021 13:36:37 +0000 (26 14:36 +0100)
tree9a5a66b3933e1a04e9b2e77b46f1709c1eac1a58
parent205736f4888e6c2bf1a78712cf0fc84d9f7cbcee
iotests.py: Assume a couple of variables as given

There are a couple of environment variables that we fetch with
os.environ.get() without supplying a default.  Clearly they are required
and expected to be set by the ./check script (as evidenced by
execute_setup_common(), which checks for test_dir and
qemu_default_machine to be set, and aborts if they are not).

Using .get() this way has the disadvantage of returning an Optional[str]
type, which mypy will complain about when tests just assume these values
to be str.

Use [] instead, which raises a KeyError for environment variables that
are not set.  When this exception is raised, catch it and move the abort
code from execute_setup_common() there.

Drop the 'assert iotests.sock_dir is not None' from iotest 300, because
that sort of thing is precisely what this patch wants to prevent.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20210118105720.14824-2-mreitz@redhat.com>
tests/qemu-iotests/300
tests/qemu-iotests/iotests.py