1*438eff63SJamin Lin# Functional test that boots the ASPEED SoCs with firmware
2*438eff63SJamin Lin#
3*438eff63SJamin Lin# Copyright (C) 2022 ASPEED Technology Inc
4*438eff63SJamin Lin#
5*438eff63SJamin Lin# This work is licensed under the terms of the GNU GPL, version 2 or
6*438eff63SJamin Lin# later.  See the COPYING file in the top-level directory.
7*438eff63SJamin Lin
8*438eff63SJamin Linfrom avocado_qemu import QemuSystemTest
9*438eff63SJamin Linfrom avocado_qemu import wait_for_console_pattern
10*438eff63SJamin Linfrom avocado_qemu import exec_command_and_wait_for_pattern
11*438eff63SJamin Linfrom avocado.utils import archive
12*438eff63SJamin Lin
13*438eff63SJamin Lin
14*438eff63SJamin Linclass AST1030Machine(QemuSystemTest):
15*438eff63SJamin Lin    """Boots the zephyr os and checks that the console is operational"""
16*438eff63SJamin Lin
17*438eff63SJamin Lin    timeout = 10
18*438eff63SJamin Lin
19*438eff63SJamin Lin    def test_ast1030_zephyros(self):
20*438eff63SJamin Lin        """
21*438eff63SJamin Lin        :avocado: tags=arch:arm
22*438eff63SJamin Lin        :avocado: tags=machine:ast1030-evb
23*438eff63SJamin Lin        """
24*438eff63SJamin Lin        tar_url = ('https://github.com/AspeedTech-BMC'
25*438eff63SJamin Lin                   '/zephyr/releases/download/v00.01.04/ast1030-evb-demo.zip')
26*438eff63SJamin Lin        tar_hash = '4c6a8ce3a8ba76ef1a65dae419ae3409343c4b20'
27*438eff63SJamin Lin        tar_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
28*438eff63SJamin Lin        archive.extract(tar_path, self.workdir)
29*438eff63SJamin Lin        kernel_file = self.workdir + "/ast1030-evb-demo/zephyr.elf"
30*438eff63SJamin Lin        self.vm.set_console()
31*438eff63SJamin Lin        self.vm.add_args('-kernel', kernel_file,
32*438eff63SJamin Lin                         '-nographic')
33*438eff63SJamin Lin        self.vm.launch()
34*438eff63SJamin Lin        wait_for_console_pattern(self, "Booting Zephyr OS")
35*438eff63SJamin Lin        exec_command_and_wait_for_pattern(self, "help",
36*438eff63SJamin Lin                                          "Available commands")
37