qemu-cr16/tests/functional/qemu_test/utils.py
Thomas Huth 45117fd75e tests/functional: Fix problems in utils.py reported by pylint
- put the doc strings in the right locations (after the "def" line)
- use the right indentation (4 spaces)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20251015095454.1575318-7-thuth@redhat.com>
2025-11-03 08:27:58 +01:00

39 lines
986 B
Python

# Utilities for python-based QEMU tests
#
# Copyright 2024 Red Hat, Inc.
#
# Authors:
# Thomas Huth <thuth@redhat.com>
#
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
import os
from qemu.utils import get_info_usernet_hostfwd_port
def get_usernet_hostfwd_port(vm):
res = vm.cmd('human-monitor-command', command_line='info usernet')
return get_info_usernet_hostfwd_port(res)
def pow2ceil(x):
"""
Round up to next power of 2
"""
return 1 if x == 0 else 2**(x - 1).bit_length()
def file_truncate(path, size):
if size != os.path.getsize(path):
with open(path, 'ab+') as fd:
fd.truncate(size)
def image_pow2ceil_expand(path):
"""
Expand file size to next power of 2
"""
size = os.path.getsize(path)
size_aligned = pow2ceil(size)
if size != size_aligned:
with open(path, 'ab+') as fd:
fd.truncate(size_aligned)