[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v18 29/29] BootLinuxConsoleTest: Test the RX-Virt ma
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH v18 29/29] BootLinuxConsoleTest: Test the RX-Virt machine |
Date: |
Fri, 7 Jun 2019 17:37:25 +0200 |
Add two tests for the rx-virt machine, based on the recommended test
setup from Yoshinori Sato:
https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg03586.html
- U-Boot prompt
- Linux kernel with Sash shell
These are very quick tests:
$ avocado run -t arch:rx tests/acceptance/boot_linux_console.py
JOB ID : 84a6ef01c0b87975ecbfcb31a920afd735753ace
JOB LOG :
/home/phil/avocado/job-results/job-2019-05-24T05.02-84a6ef0/job.log
(1/2) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_rx_uboot:
PASS (0.11 s)
(2/2) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_rx_linux:
PASS (0.45 s)
RESULTS : PASS 2 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 |
CANCEL 0
Tests can also be run with:
$ avocado --show=console run -t arch:rx tests/acceptance/boot_linux_console.py
console: U-Boot 2016.05-rc3-23705-ga1ef3c71cb-dirty (Feb 05 2019 - 21:56:06
+0900)
console: Linux version 4.19.0+ (yo-satoh@yo-satoh-debian) (gcc version 9.0.0
20181105 (experimental) (GCC)) #137 Wed Feb 20 23:20:02 JST 2019
console: Built 1 zonelists, mobility grouping on. Total pages: 8128
...
console: SuperH (H)SCI(F) driver initialized
console: 88240.serial: ttySC0 at MMIO 0x88240 (irq = 215, base_baud = 0) is a
sci
console: console [ttySC0] enabled
console: 88248.serial: ttySC1 at MMIO 0x88248 (irq = 219, base_baud = 0) is a
sci
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
Based-on: address@hidden
"RX architecture support"
---
tests/acceptance/boot_linux_console.py | 51 ++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/tests/acceptance/boot_linux_console.py
b/tests/acceptance/boot_linux_console.py
index d5c500ea30..f68aab1df8 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -45,6 +45,11 @@ class BootLinuxConsole(Test):
fail = 'Failure message found in console: %s' % failure_message
self.fail(fail)
+ def exec_command_and_wait_for_pattern(self, command, success_message):
+ command += '\n'
+ self.vm.console_socket.sendall(command.encode())
+ self.wait_for_console_pattern(success_message)
+
def extract_from_deb(self, deb, path):
"""
Extracts a file from a deb package into the test workdir
@@ -217,3 +222,49 @@ class BootLinuxConsole(Test):
self.vm.launch()
console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern)
+
+ def test_rx_uboot(self):
+ """
+ :avocado: tags=arch:rx
+ :avocado: tags=machine:rx-virt
+ :avocado: tags=endian:little
+ """
+ uboot_url = ('https://acc.dl.osdn.jp/users/23/23888/u-boot.bin.gz')
+ uboot_hash = '9b78dbd43b40b2526848c0b1ce9de02c24f4dcdb'
+ uboot_path = self.fetch_asset(uboot_url, asset_hash=uboot_hash)
+ uboot_path = archive.uncompress(uboot_path, self.workdir)
+
+ self.vm.set_machine('rx-virt')
+ self.vm.set_console()
+ self.vm.add_args('-bios', uboot_path,
+ '-no-reboot')
+ self.vm.launch()
+ uboot_version = 'U-Boot 2016.05-rc3-23705-ga1ef3c71cb-dirty'
+ self.wait_for_console_pattern(uboot_version)
+ gcc_version = 'rx-unknown-linux-gcc (GCC) 9.0.0 20181105
(experimental)'
+ # FIXME limit baudrate on chardev, else we type too fast
+ #self.exec_command_and_wait_for_pattern('version', gcc_version)
+
+ def test_rx_linux(self):
+ """
+ :avocado: tags=arch:rx
+ :avocado: tags=machine:rx-virt
+ :avocado: tags=endian:little
+ """
+ dtb_url = ('https://acc.dl.osdn.jp/users/23/23887/rx-qemu.dtb')
+ dtb_hash = '7b4e4e2c71905da44e86ce47adee2210b026ac18'
+ dtb_path = self.fetch_asset(dtb_url, asset_hash=dtb_hash)
+ kernel_url = ('http://acc.dl.osdn.jp/users/23/23845/zImage')
+ kernel_hash = '39a81067f8d72faad90866ddfefa19165d68fc99'
+ kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
+
+ self.vm.set_machine('rx-virt')
+ self.vm.set_console()
+ kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'earlycon'
+ self.vm.add_args('-kernel', kernel_path,
+ '-dtb', dtb_path,
+ '-no-reboot')
+ self.vm.launch()
+ self.wait_for_console_pattern('Sash command shell (version 1.1.1)')
+ self.exec_command_and_wait_for_pattern('printenv',
+ 'TERM=linux')
--
2.20.1
- [Qemu-devel] [PATCH v18 00/29] Add RX archtecture support, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 28/29] hw/rx: Fix comments, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 26/29] target/rx: Restrict access to extable[], Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 27/29] hw/rx: Restrict the RX62N microcontroller to the RX62N CPU core, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 25/29] target/rx: Dump bytes for each insn during disassembly, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 29/29] BootLinuxConsoleTest: Test the RX-Virt machine,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH v18 24/29] target/rx: Collect all bytes during disassembly, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 23/29] target/rx: Emit all disassembly in one prt(), Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 22/29] target/rx: Use prt_ldmi for XCHG_mr disassembly, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 21/29] target/rx: Replace operand with prt_ldmi in disassembler, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 18/29] Add rx-softmmu, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 20/29] target/rx: Disassemble rx_index_addr into a string, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 11/29] !fixup hw/rx: RX Target hardware definition, Philippe Mathieu-Daudé, 2019/06/07
- [Qemu-devel] [PATCH v18 04/29] !fixup target/rx: CPU definition, Philippe Mathieu-Daudé, 2019/06/07