diff mbox series

[v32,21/22] BootLinuxConsoleTest: Test the RX-Virt machine

Message ID 20200224141923.82118-22-ysato@users.sourceforge.jp
State New
Headers show
Series Add RX archtecture support | expand

Commit Message

Yoshinori Sato Feb. 24, 2020, 2:19 p.m. UTC
From: Philippe Mathieu-Daudé <philmd@redhat.com>

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é <philmd@redhat.com>
Based-on: 20190517045136.3509-1-richard.henderson@linaro.org
"RX architecture support"
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
---
 tests/acceptance/boot_linux_console.py | 46 ++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

Comments

Philippe Mathieu-Daudé March 8, 2020, 4:20 p.m. UTC | #1
On 2/24/20 3:19 PM, Yoshinori Sato wrote:
> From: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> 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é <philmd@redhat.com>
> Based-on: 20190517045136.3509-1-richard.henderson@linaro.org
> "RX architecture support"
> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> ---
>   tests/acceptance/boot_linux_console.py | 46 ++++++++++++++++++++++++++
>   1 file changed, 46 insertions(+)
> 
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index 34d37eba3b..367cf480a5 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -686,3 +686,49 @@ class BootLinuxConsole(Test):
>           tar_hash = '49e88d9933742f0164b60839886c9739cb7a0d34'
>           self.vm.add_args('-cpu', 'dc233c')
>           self.do_test_advcal_2018('02', tar_hash, 'santas-sleigh-ride.elf')
> +
> +    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')

Sourceforge URL are not very stable, I'm now getting:

HTTP request sent, awaiting response... 302 Found
Location: https://osdn.dl.osdn.net/users/23/23887/rx-qemu.dtb [following]
--2020-03-08 17:17:31--  https://osdn.dl.osdn.net/users/23/23887/rx-qemu.dtb
Resolving osdn.dl.osdn.net (osdn.dl.osdn.net)... 202.221.179.23
Connecting to osdn.dl.osdn.net (osdn.dl.osdn.net)|202.221.179.23|:443... 
connected.
HTTP request sent, awaiting response... 404 Not Found
2020-03-08 17:17:32 ERROR 404: Not Found.

> +        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')
>
Yoshinori Sato March 9, 2020, 6:30 a.m. UTC | #2
On Mon, 09 Mar 2020 01:20:05 +0900,
Philippe Mathieu-Daudé wrote:
> 
> On 2/24/20 3:19 PM, Yoshinori Sato wrote:
> > From: Philippe Mathieu-Daudé <philmd@redhat.com>
> > 
> > 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é <philmd@redhat.com>
> > Based-on: 20190517045136.3509-1-richard.henderson@linaro.org
> > "RX architecture support"
> > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> > ---
> >   tests/acceptance/boot_linux_console.py | 46 ++++++++++++++++++++++++++
> >   1 file changed, 46 insertions(+)
> > 
> > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> > index 34d37eba3b..367cf480a5 100644
> > --- a/tests/acceptance/boot_linux_console.py
> > +++ b/tests/acceptance/boot_linux_console.py
> > @@ -686,3 +686,49 @@ class BootLinuxConsole(Test):
> >           tar_hash = '49e88d9933742f0164b60839886c9739cb7a0d34'
> >           self.vm.add_args('-cpu', 'dc233c')
> >           self.do_test_advcal_2018('02', tar_hash, 'santas-sleigh-ride.elf')
> > +
> > +    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')
> 
> Sourceforge URL are not very stable, I'm now getting:
> 
> HTTP request sent, awaiting response... 302 Found
> Location: https://osdn.dl.osdn.net/users/23/23887/rx-qemu.dtb [following]
> --2020-03-08 17:17:31--  https://osdn.dl.osdn.net/users/23/23887/rx-qemu.dtb
> Resolving osdn.dl.osdn.net (osdn.dl.osdn.net)... 202.221.179.23
> Connecting to osdn.dl.osdn.net
> (osdn.dl.osdn.net)|202.221.179.23|:443... connected.
> HTTP request sent, awaiting response... 404 Not Found
> 2020-03-08 17:17:32 ERROR 404: Not Found.

Permernet link is bellow.
https://osdn.net/users/ysato/pf/qemu/dl/u-boot.bin.gz
https://osdn.net/users/ysato/pf/qemu/dl/rx-virt.dtb
https://osdn.net/users/ysato/pf/qemu/dl/zImage

I was misunderstanding. sorry.

> > +        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')
> > 
> 
>
Philippe Mathieu-Daudé March 9, 2020, 10:54 a.m. UTC | #3
On 3/9/20 7:30 AM, Yoshinori Sato wrote:
> On Mon, 09 Mar 2020 01:20:05 +0900,
> Philippe Mathieu-Daudé wrote:
>>
>> On 2/24/20 3:19 PM, Yoshinori Sato wrote:
>>> From: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>
>>> 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é <philmd@redhat.com>
>>> Based-on: 20190517045136.3509-1-richard.henderson@linaro.org
>>> "RX architecture support"
>>> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
>>> ---
>>>    tests/acceptance/boot_linux_console.py | 46 ++++++++++++++++++++++++++
>>>    1 file changed, 46 insertions(+)
>>>
>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
>>> index 34d37eba3b..367cf480a5 100644
>>> --- a/tests/acceptance/boot_linux_console.py
>>> +++ b/tests/acceptance/boot_linux_console.py
>>> @@ -686,3 +686,49 @@ class BootLinuxConsole(Test):
>>>            tar_hash = '49e88d9933742f0164b60839886c9739cb7a0d34'
>>>            self.vm.add_args('-cpu', 'dc233c')
>>>            self.do_test_advcal_2018('02', tar_hash, 'santas-sleigh-ride.elf')
>>> +
>>> +    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')
>>
>> Sourceforge URL are not very stable, I'm now getting:
>>
>> HTTP request sent, awaiting response... 302 Found
>> Location: https://osdn.dl.osdn.net/users/23/23887/rx-qemu.dtb [following]
>> --2020-03-08 17:17:31--  https://osdn.dl.osdn.net/users/23/23887/rx-qemu.dtb
>> Resolving osdn.dl.osdn.net (osdn.dl.osdn.net)... 202.221.179.23
>> Connecting to osdn.dl.osdn.net
>> (osdn.dl.osdn.net)|202.221.179.23|:443... connected.
>> HTTP request sent, awaiting response... 404 Not Found
>> 2020-03-08 17:17:32 ERROR 404: Not Found.
> 
> Permernet link is bellow.
> https://osdn.net/users/ysato/pf/qemu/dl/u-boot.bin.gz
> https://osdn.net/users/ysato/pf/qemu/dl/rx-virt.dtb
> https://osdn.net/users/ysato/pf/qemu/dl/zImage

Acceptance tests assert that "something that used to work in the past is 
still working today". The artifact hash is here to verify the file has 
not been modified (for security reasons or replaced by something else) 
so we keep testing the same.

If you upgrade these files, we should keep testing the older version, 
and eventually add a new test (or entry in the same test) to test the 
new files.

> 
> I was misunderstanding. sorry.
> 
>>> +        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')
>>>
>>
>>
>
Yoshinori Sato March 9, 2020, 1:36 p.m. UTC | #4
On Mon, 09 Mar 2020 19:54:20 +0900,
Philippe Mathieu-Daudé wrote:
> 
> On 3/9/20 7:30 AM, Yoshinori Sato wrote:
> > On Mon, 09 Mar 2020 01:20:05 +0900,
> > Philippe Mathieu-Daudé wrote:
> >> 
> >> On 2/24/20 3:19 PM, Yoshinori Sato wrote:
> >>> From: Philippe Mathieu-Daudé <philmd@redhat.com>
> >>> 
> >>> 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é <philmd@redhat.com>
> >>> Based-on: 20190517045136.3509-1-richard.henderson@linaro.org
> >>> "RX architecture support"
> >>> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> >>> ---
> >>>    tests/acceptance/boot_linux_console.py | 46 ++++++++++++++++++++++++++
> >>>    1 file changed, 46 insertions(+)
> >>> 
> >>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> >>> index 34d37eba3b..367cf480a5 100644
> >>> --- a/tests/acceptance/boot_linux_console.py
> >>> +++ b/tests/acceptance/boot_linux_console.py
> >>> @@ -686,3 +686,49 @@ class BootLinuxConsole(Test):
> >>>            tar_hash = '49e88d9933742f0164b60839886c9739cb7a0d34'
> >>>            self.vm.add_args('-cpu', 'dc233c')
> >>>            self.do_test_advcal_2018('02', tar_hash, 'santas-sleigh-ride.elf')
> >>> +
> >>> +    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')
> >> 
> >> Sourceforge URL are not very stable, I'm now getting:
> >> 
> >> HTTP request sent, awaiting response... 302 Found
> >> Location: https://osdn.dl.osdn.net/users/23/23887/rx-qemu.dtb [following]
> >> --2020-03-08 17:17:31--  https://osdn.dl.osdn.net/users/23/23887/rx-qemu.dtb
> >> Resolving osdn.dl.osdn.net (osdn.dl.osdn.net)... 202.221.179.23
> >> Connecting to osdn.dl.osdn.net
> >> (osdn.dl.osdn.net)|202.221.179.23|:443... connected.
> >> HTTP request sent, awaiting response... 404 Not Found
> >> 2020-03-08 17:17:32 ERROR 404: Not Found.
> > 
> > Permernet link is bellow.
> > https://osdn.net/users/ysato/pf/qemu/dl/u-boot.bin.gz
> > https://osdn.net/users/ysato/pf/qemu/dl/rx-virt.dtb
> > https://osdn.net/users/ysato/pf/qemu/dl/zImage
> 
> Acceptance tests assert that "something that used to work in the past
> is still working today". The artifact hash is here to verify the file
> has not been modified (for security reasons or replaced by something
> else) so we keep testing the same.
> 
> If you upgrade these files, we should keep testing the older version,
> and eventually add a new test (or entry in the same test) to test the
> new files.

OK.
The binary was prepared for qemu testing, so keep it as it is.

> > 
> > I was misunderstanding. sorry.
> > 
> >>> +        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')
> >>> 
> >> 
> >> 
> > 
>
diff mbox series

Patch

diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 34d37eba3b..367cf480a5 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -686,3 +686,49 @@  class BootLinuxConsole(Test):
         tar_hash = '49e88d9933742f0164b60839886c9739cb7a0d34'
         self.vm.add_args('-cpu', 'dc233c')
         self.do_test_advcal_2018('02', tar_hash, 'santas-sleigh-ride.elf')
+
+    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')