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
@ -54,13 +54,11 @@ class PluginKernelBase(LinuxKernelTest):
|
||||
class PluginKernelNormal(PluginKernelBase):
|
||||
|
||||
def _grab_aarch64_kernel(self):
|
||||
kernel_url = ('http://security.debian.org/'
|
||||
'debian-security/pool/updates/main/l/linux-signed-arm64/'
|
||||
'linux-image-4.19.0-12-arm64_4.19.152-1_arm64.deb')
|
||||
kernel_sha1 = '2036c2792f80ac9c4ccaae742b2e0a28385b6010'
|
||||
kernel_deb = self.fetch_asset(kernel_url, asset_hash=kernel_sha1)
|
||||
kernel_path = self.extract_from_deb(kernel_deb,
|
||||
"/boot/vmlinuz-4.19.0-12-arm64")
|
||||
kernel_url = ('https://storage.tuxboot.com/20230331/arm64/Image')
|
||||
kernel_sha256 = 'ce95a7101a5fecebe0fe630deee6bd97b32ba41bc8754090e9ad8961ea8674c7'
|
||||
kernel_path = self.fetch_asset(kernel_url,
|
||||
asset_hash=kernel_sha256,
|
||||
algorithm = "sha256")
|
||||
return kernel_path
|
||||
|
||||
def test_aarch64_virt_insn(self):
|
||||
@ -88,6 +86,10 @@ class PluginKernelNormal(PluginKernelBase):
|
||||
m = re.search(br"insns: (?P<count>\d+)", s)
|
||||
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_insn_icount(self):
|
||||
"""
|
||||
@ -111,9 +113,13 @@ class PluginKernelNormal(PluginKernelBase):
|
||||
|
||||
with plugin_log as lf, \
|
||||
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():
|
||||
self.fail("detected repeated instructions")
|
||||
|
||||
m = re.search(br"insns: (?P<count>\d+)", s)
|
||||
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):
|
||||
"""
|
||||
@ -145,3 +151,5 @@ class PluginKernelNormal(PluginKernelBase):
|
||||
callback = int(m[1])
|
||||
if inline != callback:
|
||||
self.fail("mismatched access counts")
|
||||
else:
|
||||
self.log.info(f"Counted {inline} memory accesses")
|
||||
|
Loading…
Reference in New Issue
Block a user