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