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
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231103195956.1998255-8-alex.bennee@linaro.org>
---
tests/avocado/tcg_plugins.py | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/tests/avocado/tcg_plugins.py b/tests/avocado/tcg_plugins.py
index 642d2e49e3..15fd87b2c1 100644
--- a/tests/avocado/tcg_plugins.py
+++ b/tests/avocado/tcg_plugins.py
@@ -54,13 +54,11 @@ def run_vm(self, kernel_path, kernel_command_line,
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 @@ def test_aarch64_virt_insn(self):
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 @@ def test_aarch64_virt_insn_icount(self):
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 @@ def test_aarch64_virt_mem_icount(self):
callback = int(m[1])
if inline != callback:
self.fail("mismatched access counts")
+ else:
+ self.log.info(f"Counted {inline} memory accesses")
--
2.39.2