xref: /qemu/tests/functional/test_riscv64_tuxrun.py (revision 6ff5da16000f908140723e164d33a0b51a6c4162)
1#!/usr/bin/env python3
2#
3# Functional test that boots known good tuxboot images the same way
4# that tuxrun (www.tuxrun.org) does. This tool is used by things like
5# the LKFT project to run regression tests on kernels.
6#
7# Copyright (c) 2023 Linaro Ltd.
8#
9# Author:
10#  Alex Bennée <alex.bennee@linaro.org>
11#
12# SPDX-License-Identifier: GPL-2.0-or-later
13
14from qemu_test import Asset
15from qemu_test.tuxruntest import TuxRunBaselineTest
16
17class TuxRunRiscV64Test(TuxRunBaselineTest):
18
19    ASSET_RISCV64_KERNEL = Asset(
20        'https://storage.tuxboot.com/buildroot/20241119/riscv64/Image',
21        '2bd8132a3bf21570290042324fff48c987f42f2a00c08de979f43f0662ebadba')
22    ASSET_RISCV64_ROOTFS = Asset(
23        'https://storage.tuxboot.com/buildroot/20241119/riscv64/rootfs.ext4.zst',
24        'aa4736a9872651dfc0d95e709465eedf1134fd19d42b8cb305bfd776f9801004')
25
26    ASSET_RISCV32_KERNEL = Asset(
27        'https://storage.tuxboot.com/buildroot/20241119/riscv32/Image',
28        '872bc8f8e0d4661825d5f47f7bec64988e9d0a8bd5db8917d57e16f66d83b329')
29    ASSET_RISCV32_ROOTFS = Asset(
30        'https://storage.tuxboot.com/buildroot/20241119/riscv32/rootfs.ext4.zst',
31        '511ad34e63222db08d6c1da16fad224970de36517a784110956ba6a24a0ee5f6')
32
33    def test_riscv64(self):
34        self.set_machine('virt')
35        self.common_tuxrun(kernel_asset=self.ASSET_RISCV64_KERNEL,
36                           rootfs_asset=self.ASSET_RISCV64_ROOTFS)
37
38    def test_riscv64_maxcpu(self):
39        self.set_machine('virt')
40        self.cpu='max'
41        self.common_tuxrun(kernel_asset=self.ASSET_RISCV64_KERNEL,
42                           rootfs_asset=self.ASSET_RISCV64_ROOTFS)
43
44    def test_riscv64_rv32(self):
45        self.set_machine('virt')
46        self.cpu='rv32'
47        self.common_tuxrun(kernel_asset=self.ASSET_RISCV32_KERNEL,
48                           rootfs_asset=self.ASSET_RISCV32_ROOTFS)
49
50if __name__ == '__main__':
51    TuxRunBaselineTest.main()
52