[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 5/6] tests/acceptance: Add bFLT loader linux-user test
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v4 5/6] tests/acceptance: Add bFLT loader linux-user test |
Date: |
Mon, 1 Nov 2021 23:41:57 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 |
On 11/1/21 18:51, Willian Rampazzo wrote:
> Hi, Phill,
>
> On Mon, Sep 27, 2021 at 1:31 PM Philippe Mathieu-Daudé <f4bug@amsat.org>
> wrote:
>>
>> Add a very quick test that runs a busybox binary in bFLT format:
>>
>> $ AVOCADO_ALLOW_UNTRUSTED_CODE=1 \
>> avocado --show=app run -t linux_user tests/acceptance/load_bflt.py
>> JOB ID : db94d5960ce564c50904d666a7e259148c27e88f
>> JOB LOG : ~/avocado/job-results/job-2019-06-25T10.52-db94d59/job.log
>> (1/1) tests/acceptance/load_bflt.py:LoadBFLT.test_stm32: PASS (0.15 s)
>> RESULTS : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 |
>> CANCEL 0
>> JOB TIME : 0.54 s
>>
>> Reviewed-by: Willian Rampazzo <willianr@redhat.com>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>> tests/acceptance/load_bflt.py | 54 +++++++++++++++++++++++++++++++++++
>> 1 file changed, 54 insertions(+)
>> create mode 100644 tests/acceptance/load_bflt.py
>>
>> diff --git a/tests/acceptance/load_bflt.py b/tests/acceptance/load_bflt.py
>> new file mode 100644
>> index 00000000000..f071a979d8e
>> --- /dev/null
>> +++ b/tests/acceptance/load_bflt.py
>> @@ -0,0 +1,54 @@
>> +# Test the bFLT loader format
>> +#
>> +# Copyright (C) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
>> +#
>> +# SPDX-License-Identifier: GPL-2.0-or-later
>> +
>> +import os
>> +import bz2
>> +import subprocess
>> +
>> +from avocado import skipUnless
>> +from avocado_qemu import QemuUserTest
>> +from avocado_qemu import has_cmd
>> +
>> +
>> +class LoadBFLT(QemuUserTest):
>> +
>> + def extract_cpio(self, cpio_path):
>> + """
>> + Extracts a cpio archive into the test workdir
>> +
>> + :param cpio_path: path to the cpio archive
>> + """
>> + cwd = os.getcwd()
>> + os.chdir(self.workdir)
>> + with bz2.open(cpio_path, 'rb') as archive_cpio:
>> + subprocess.run(['cpio', '-i'], input=archive_cpio.read(),
>> + stderr=subprocess.DEVNULL)
>> + os.chdir(cwd)
>> +
>> + @skipUnless(*has_cmd('cpio'))
>> + @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
>> + def test_stm32(self):
>> + """
>> + :avocado: tags=arch:arm
>> + :avocado: tags=linux_user
>> + :avocado: tags=quick
>> + """
>> + # See https://elinux.org/STM32#User_Space
>> + rootfs_url = ('https://elinux.org/images/5/51/'
>> + 'Stm32_mini_rootfs.cpio.bz2')
>> + rootfs_hash = '9f065e6ba40cce7411ba757f924f30fcc57951e6'
>> + rootfs_path_bz2 = self.fetch_asset(rootfs_url,
>> asset_hash=rootfs_hash)
>> + busybox_path = self.workdir + "/bin/busybox"
>
> If there are other changes to this patch, also, change this to use the
> `os` library:
>
> busybox_path = os.path.join(self.workdir, "/bin/busybox")
OK, I'll update.