mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
tests/avocado: update the tcg_plugins test
There are a number of things that are broken on the test currently so
lets fix that up:
- replace retired Debian kernel for tuxrun_baseline one
- remove "detected repeat instructions test" since ea185a55
- log total counted instructions/memory accesses
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231106185112.2755262-8-alex.bennee@linaro.org>
This commit is contained in:
parent
21750c3c89
commit
119599965e
1 changed files with 18 additions and 10 deletions
|
@ -54,13 +54,11 @@ class PluginKernelBase(LinuxKernelTest):
|
||||||
class PluginKernelNormal(PluginKernelBase):
|
class PluginKernelNormal(PluginKernelBase):
|
||||||
|
|
||||||
def _grab_aarch64_kernel(self):
|
def _grab_aarch64_kernel(self):
|
||||||
kernel_url = ('http://security.debian.org/'
|
kernel_url = ('https://storage.tuxboot.com/20230331/arm64/Image')
|
||||||
'debian-security/pool/updates/main/l/linux-signed-arm64/'
|
kernel_sha256 = 'ce95a7101a5fecebe0fe630deee6bd97b32ba41bc8754090e9ad8961ea8674c7'
|
||||||
'linux-image-4.19.0-12-arm64_4.19.152-1_arm64.deb')
|
kernel_path = self.fetch_asset(kernel_url,
|
||||||
kernel_sha1 = '2036c2792f80ac9c4ccaae742b2e0a28385b6010'
|
asset_hash=kernel_sha256,
|
||||||
kernel_deb = self.fetch_asset(kernel_url, asset_hash=kernel_sha1)
|
algorithm = "sha256")
|
||||||
kernel_path = self.extract_from_deb(kernel_deb,
|
|
||||||
"/boot/vmlinuz-4.19.0-12-arm64")
|
|
||||||
return kernel_path
|
return kernel_path
|
||||||
|
|
||||||
def test_aarch64_virt_insn(self):
|
def test_aarch64_virt_insn(self):
|
||||||
|
@ -88,6 +86,10 @@ class PluginKernelNormal(PluginKernelBase):
|
||||||
m = re.search(br"insns: (?P<count>\d+)", s)
|
m = re.search(br"insns: (?P<count>\d+)", s)
|
||||||
if "count" not in m.groupdict():
|
if "count" not in m.groupdict():
|
||||||
self.fail("Failed to find instruction count")
|
self.fail("Failed to find instruction count")
|
||||||
|
else:
|
||||||
|
count = int(m.group("count"))
|
||||||
|
self.log.info(f"Counted: {count} instructions")
|
||||||
|
|
||||||
|
|
||||||
def test_aarch64_virt_insn_icount(self):
|
def test_aarch64_virt_insn_icount(self):
|
||||||
"""
|
"""
|
||||||
|
@ -111,9 +113,13 @@ class PluginKernelNormal(PluginKernelBase):
|
||||||
|
|
||||||
with plugin_log as lf, \
|
with plugin_log as lf, \
|
||||||
mmap.mmap(lf.fileno(), 0, access=mmap.ACCESS_READ) as s:
|
mmap.mmap(lf.fileno(), 0, access=mmap.ACCESS_READ) as s:
|
||||||
m = re.search(br"detected repeat execution @ (?P<addr>0x[0-9A-Fa-f]+)", s)
|
|
||||||
if m is not None and "addr" in m.groupdict():
|
m = re.search(br"insns: (?P<count>\d+)", s)
|
||||||
self.fail("detected repeated instructions")
|
if "count" not in m.groupdict():
|
||||||
|
self.fail("Failed to find instruction count")
|
||||||
|
else:
|
||||||
|
count = int(m.group("count"))
|
||||||
|
self.log.info(f"Counted: {count} instructions")
|
||||||
|
|
||||||
def test_aarch64_virt_mem_icount(self):
|
def test_aarch64_virt_mem_icount(self):
|
||||||
"""
|
"""
|
||||||
|
@ -145,3 +151,5 @@ class PluginKernelNormal(PluginKernelBase):
|
||||||
callback = int(m[1])
|
callback = int(m[1])
|
||||||
if inline != callback:
|
if inline != callback:
|
||||||
self.fail("mismatched access counts")
|
self.fail("mismatched access counts")
|
||||||
|
else:
|
||||||
|
self.log.info(f"Counted {inline} memory accesses")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue