[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
From: |
Ani Sinha |
Subject: |
Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits |
Date: |
Mon, 27 Jun 2022 21:46:32 +0530 |
On Mon, Jun 27, 2022 at 1:02 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> On Mon, Jun 27, 2022 at 12:25 PM Ani Sinha <ani@anisinha.ca> wrote:
> >
> > On Mon, Jun 27, 2022 at 12:22 PM Ani Sinha <ani@anisinha.ca> wrote:
> > >
> > > On Mon, Jun 27, 2022 at 12:14 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > >
> > > > Biosbits is a software written by Josh Triplett that can be downloaded
> > > > by
> > > > visiting https://biosbits.org/. The github codebase can be found here:
> > > > https://github.com/biosbits/bits/tree/master. It is a software that
> > > > exercizes
> > > > the bios components such as acpi and smbios tables directly through
> > > > acpica
> > > > bios interpreter (a freely available C based library written by Intel,
> > > > downloadable from https://acpica.org/ and is included with biosbits)
> > > > without an
> > > > operating system getting involved in between.
> > > > There are several advantages to directly testing the bios in a real
> > > > physical
> > > > machine or VM as opposed to indirectly discovering bios issues through
> > > > the
> > > > operating system. For one thing, the OSes tend to hide bios problems
> > > > from the
> > > > end user. The other is that we have more control of what we wanted to
> > > > test
> > > > and how by directly using acpica interpreter on top of the bios on a
> > > > running
> > > > system. More details on the inspiration for developing biosbits and its
> > > > real
> > > > life uses can be found in (a) and (b).
> > > > This patchset contains QEMU qtests written in python that exercizes the
> > > > QEMU
> > > > bios components using biosbits and reports test failures.
> > > >
> > > > Details of each of the files added by this patchset are provided in the
> > > > README
> > > > file which is part of Patch 11. Every effort to contact Josh, through
> > > > various
> > > > means including email, twitter, linkedIn etc has failed. Hence, the
> > > > changes to
> > > > build biosbits with the newer compiler, upgrade acpica and other
> > > > changes are
> > > > currently maintained in a forked project in my personal github. We may
> > > > want to
> > > > maintain bits in a separate fork in a stable repository that is
> > > > accessible by
> > > > QEMU developers.
> > > >
> > > > The newly introduced qtest currently only run for x86_64 platform. They
> > > > pass
> > > > both when running make check on a baremetal box as well as from inside
> > > > a vm.
> > > >
> > > > Thanks to Igor M for pointing me to this work.
> > > >
> > > > (a)
> > > > https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
> > > > (b) https://www.youtube.com/watch?v=36QIepyUuhg
> > >
> > > Doh, sending the patch series failed since google won't allow file
> > > sizes larger than 25 MB. The bits prebuilt binaries have sizes 30 MB
> > > and 40 MB in two separate patches :(
> >
> > I have pushed the patchset here:
> > https://gitlab.com/anisinha/qemu/-/commits/acpi-bits .
>
> I have re-sent all the patches except patches 2 and 3 that contain
> pre-built biosbits archives. For those two patches, please see the
> gitlab repo above.
I took a peek at our avocado framework. Seems binary artefacts like
these are stored in github. For example,
https://github.com/philmd/qemu-testing-blob/tree/malta_i6400/mips/malta/mips64el
.
Maybe in this case, we can do the same - store this in my github and
the test wgets it. The flip side is that this will introduce external
dependencies for this test. I will wait for further comments from
reviewers on this.
>
> >
> > >
> > > >
> > > > Ani Sinha (12):
> > > > qtest: meson.build changes required to integrate python based qtests
> > > > acpi/tests/bits: add prebuilt bios bits zip archive
> > > > acpi/tests/bits: add prebuilt bits generated grub modules and scripts
> > > > acpi/tests/bits: initial commit of test scripts that are run by
> > > > biosbits
> > > > acpi/tests/bits: disable acpi PSS tests that are failing in biosbits
> > > > acpi/tests/bits: add smilatency test suite from bits in order to
> > > > disable it
> > > > acpi/tests/bits: disable smilatency test since it does not pass
> > > > everytime
> > > > acpi/tests/bits: add biosbits config file for running bios tests
> > > > acpi/tests/bits: add acpi and smbios python tests that uses biosbits
> > > > acpi/tests/bits: add acpi bits qtest directory in meson for running
> > > > tests
> > > > acpi/tests/bits: add README file for bits qtests
> > > > MAINTAINERS: add myself as the maintainer for acpi biosbits qtests
> > > >
> > > > MAINTAINERS | 5 +
> > > > tests/qtest/acpi-bits/README | 168 ++
> > > > tests/qtest/acpi-bits/acpi-bits-test-venv.sh | 59 +
> > > > tests/qtest/acpi-bits/acpi-bits-test.py | 327 +++
> > > > .../qtest/acpi-bits/bits-config/bits-cfg.txt | 18 +
> > > > tests/qtest/acpi-bits/bits-config/meson.build | 11 +
> > > > tests/qtest/acpi-bits/bits-tests/meson.build | 11 +
> > > > tests/qtest/acpi-bits/bits-tests/smbios.py | 2430 +++++++++++++++++
> > > > .../qtest/acpi-bits/bits-tests/smilatency.py | 103 +
> > > > tests/qtest/acpi-bits/bits-tests/testacpi.py | 283 ++
> > > > tests/qtest/acpi-bits/bits-tests/testcpuid.py | 83 +
> > > > tests/qtest/acpi-bits/meson.build | 39 +
> > > > .../acpi-bits/prebuilt/bits-2095-grub.tar.gz | Bin 0 -> 41416278
> > > > bytes
> > > > tests/qtest/acpi-bits/prebuilt/bits-2095.zip | Bin 0 -> 31922898
> > > > bytes
> > > > tests/qtest/acpi-bits/prebuilt/meson.build | 11 +
> > > > tests/qtest/acpi-bits/requirements.txt | 1 +
> > > > tests/qtest/meson.build | 7 +-
> > > > 17 files changed, 3555 insertions(+), 1 deletion(-)
> > > > create mode 100644 tests/qtest/acpi-bits/README
> > > > create mode 100644 tests/qtest/acpi-bits/acpi-bits-test-venv.sh
> > > > create mode 100644 tests/qtest/acpi-bits/acpi-bits-test.py
> > > > create mode 100644 tests/qtest/acpi-bits/bits-config/bits-cfg.txt
> > > > create mode 100644 tests/qtest/acpi-bits/bits-config/meson.build
> > > > create mode 100644 tests/qtest/acpi-bits/bits-tests/meson.build
> > > > create mode 100644 tests/qtest/acpi-bits/bits-tests/smbios.py
> > > > create mode 100644 tests/qtest/acpi-bits/bits-tests/smilatency.py
> > > > create mode 100644 tests/qtest/acpi-bits/bits-tests/testacpi.py
> > > > create mode 100644 tests/qtest/acpi-bits/bits-tests/testcpuid.py
> > > > create mode 100644 tests/qtest/acpi-bits/meson.build
> > > > create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095-grub.tar.gz
> > > > create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095.zip
> > > > create mode 100644 tests/qtest/acpi-bits/prebuilt/meson.build
> > > > create mode 100644 tests/qtest/acpi-bits/requirements.txt
> > > >
> > > > --
> > > > 2.25.1
> > > >
- [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits, Ani Sinha, 2022/06/27
- [PATCH 05/12] acpi/tests/bits: disable acpi PSS tests that are failing in biosbits, Ani Sinha, 2022/06/27
- [PATCH 06/12] acpi/tests/bits: add smilatency test suite from bits in order to disable it, Ani Sinha, 2022/06/27
- [PATCH 07/12] acpi/tests/bits: disable smilatency test since it does not pass everytime, Ani Sinha, 2022/06/27
- [PATCH 08/12] acpi/tests/bits: add biosbits config file for running bios tests, Ani Sinha, 2022/06/27
- [PATCH 09/12] acpi/tests/bits: add acpi and smbios python tests that uses biosbits, Ani Sinha, 2022/06/27