Move the arch_tests_uart and systests_standalone assets from v0.2.14, and arch_tests_semihosting from v0.2.9, to v0.3.1.
The changes add test bugfixes and additional coverage: - test_guest_mode now covers direct-to-guest events. - test_pagecross_tlbmissx checks ELR on a page-straddling fetch. - pend_wake_wait asserts the thread enable mask and no longer takes k0lock in its ISR, which caused hangs. - lock_verify skipped for now: before v0.2.22 it had bugs exposed by mttcg, and v0.3.1 still has invalid assertions about SWI delivery. - test_l2vic covers VID write, interrupt delivery and ciad-l2vic acks. - test_int_steering didn't iterate enough when waiting and would fail on a heavily loaded system. - The systests package is built with SDK 6.7.0.0. - swi_touch_memory is introduced to cover semihosting buffer alignment/paging. Signed-off-by: Brian Cain <[email protected]> --- tests/functional/hexagon/meson.build | 1 + tests/functional/hexagon/test_arch_tests.py | 10 ++++++---- tests/functional/hexagon/test_systests.py | 14 +++++++++++--- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/tests/functional/hexagon/meson.build b/tests/functional/hexagon/meson.build index 0fd90e491a2..f17584d751a 100644 --- a/tests/functional/hexagon/meson.build +++ b/tests/functional/hexagon/meson.build @@ -8,6 +8,7 @@ tests_hexagon_system_thorough = [ ] test_hexagon_timeouts = { + 'arch_tests': 180, 'qcom_dsp_firmware': 240, 'systests': 180, } diff --git a/tests/functional/hexagon/test_arch_tests.py b/tests/functional/hexagon/test_arch_tests.py index 28bf2f02d39..a437e4d4aac 100755 --- a/tests/functional/hexagon/test_arch_tests.py +++ b/tests/functional/hexagon/test_arch_tests.py @@ -21,13 +21,15 @@ class ArchTestsUart(QemuSystemTest): ASSET_TARBALL = Asset( "https://github.com/qualcomm/qemu-hexagon-testing/releases/" - "download/v0.2.14/arch_tests_uart.tar.gz", - "ce93cb90b9d757c1946dfe8fe6abcec8292b08a66546ac51b2dd48650b05fa91", + "download/v0.3.1/arch_tests_uart.tar.gz", + "1baba59ad29c24a3d38043cc9f6846fd" + "fd3f88e8b67501c13722916c6c744c3c", ) ASSET_SEMIHOSTING_TARBALL = Asset( "https://github.com/qualcomm/qemu-hexagon-testing/releases/" - "download/v0.2.9/arch_tests_semihosting.tar.gz", - "f0ce731dc8dc2b861792b8bd60808cb714fd1922c0dc793af65090c0ba525bb0", + "download/v0.3.1/arch_tests_semihosting.tar.gz", + "37b460146e7a2a6898ba6454dfea7e1c" + "64053b31e8e3acf7c97e7e82209b6bda", ) def run_uart_test(self, test_name: str, diff --git a/tests/functional/hexagon/test_systests.py b/tests/functional/hexagon/test_systests.py index 1c1d5440bb6..fb1d2454fd1 100755 --- a/tests/functional/hexagon/test_systests.py +++ b/tests/functional/hexagon/test_systests.py @@ -13,7 +13,7 @@ _TARBALL_BIN_PATH = ( "systests_standalone_package", - "StandaloneSysTests_6.4.0.2_v68", + "StandaloneSysTests_6.7.0.0_v68", "bin", ) @@ -21,8 +21,10 @@ class SysTestsStandaloneTests(QemuSystemTest): SYSTEST_TIMEOUT_SEC = 30 ASSET_TARBALL = Asset( - "https://github.com/qualcomm/qemu-hexagon-testing/releases/download/v0.2.14/systests_standalone.tar.gz", - "f0c535d746384126954757b6ce54452c5fe82624618c79862495eec24718a6ff", + "https://github.com/qualcomm/qemu-hexagon-testing/releases/" + "download/v0.3.1/systests_standalone.tar.gz", + "40163fa94d67a63e5ef645fc83682e4e" + "b56e1d79a9068614055e74f35d4cf70d", ) def setUp(self): @@ -90,6 +92,10 @@ def test_access(self): def test_semihost(self): self.run_console_pattern("semihost", "PASS", "-append", "arg1", "arg2") + def test_swi_touch_memory(self): + """A semihosting read restarts after a fault on its second page.""" + self.run_exit_zero("swi_touch_memory") + def test_dtg_interrupt(self): self.run_exit_zero("dtg_interrupt") @@ -108,6 +114,8 @@ def test_hvx_multi(self): def test_standalone_vec(self): self.run_exit_zero("standalone_vec") + @unittest.skip("lock_verify has timing defects before v0.2.22 " + "and in v0.3.1") def test_lock_verify(self): self.run_exit_zero("lock_verify") -- 2.34.1
