On Tue, Sep 27, 2022 at 11:44:56PM +0200, Paolo Bonzini wrote: > I also second the idea of using avocado instead of pytest, by the way. > > Paolo
I do not think this is a good fit for bios tests. bios tests are intended for a wide audience of ACPI developers across a variety of host systems. They basically do not need anything from the host and they need to be super easy to configure since we have lots of drive through contributors. Problem is I don't think avocado is yet at the level where I can ask random developers to use it to check their ACPI patches. I just went ahead and rechecked and the situation isn't much better yet. I think the focus of avocado is system testing of full guests with KVM, not unit testing of ACPI. Let's start with installation on a clean box: following https://avocado-framework.readthedocs.io/en/98.0/guides/user/chapters/installing.html Ugh pip, will install a bunch of stuff in ~/.local and ask me to tweak PATH ... and what about security? No thanks! So ... do I want LTS or latest? Well I donnu .... let's try LTS? $ dnf module enable avocado:82lts [sudo] password for mst: Last metadata expiration check: 6 days, 15:20:21 ago on Wed 21 Sep 2022 02:33:31 AM EDT. Dependencies resolved. ========================================================================================================================================== Package Architecture Version Repository Size ========================================================================================================================================== Enabling module streams: avocado 82lts Transaction Summary ========================================================================================================================================== Is this ok [y/N]: y Complete! [mst@tuck linux]$ dnf module install avocado Last metadata expiration check: 6 days, 15:20:41 ago on Wed 21 Sep 2022 02:33:31 AM EDT. No default profiles for module avocado:82lts. Available profiles: default, minimal Error: Problems in request: broken groups or modules: avocado Ugh I guess latest then? [mst@tuck linux]$ dnf module enable avocado:latest Last metadata expiration check: 6 days, 15:25:21 ago on Wed 21 Sep 2022 02:33:31 AM EDT. Dependencies resolved. The operation would result in switching of module 'avocado' stream '82lts' to stream 'latest' Error: It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch. It is recommended to rather remove all installed content from the module, and reset the module using 'dnf module reset <module_name>' command. After you reset the module, you can install the other stream. Scary ... I don't really know what are streams and I am guessing module is avocado here? and what will this affect. Oh well, I'll risk this: [mst@tuck linux]$ dnf module reset avocado Last metadata expiration check: 6 days, 15:25:46 ago on Wed 21 Sep 2022 02:33:31 AM EDT. Dependencies resolved. ========================================================================================================================================== Package Architecture Version Repository Size ========================================================================================================================================== Resetting modules: avocado Transaction Summary ========================================================================================================================================== Is this ok [y/N]: y Complete! [mst@tuck linux]$ dnf module enable avocado:latest Last metadata expiration check: 6 days, 15:25:55 ago on Wed 21 Sep 2022 02:33:31 AM EDT. Dependencies resolved. ========================================================================================================================================== Package Architecture Version Repository Size ========================================================================================================================================== Enabling module streams: avocado latest Transaction Summary ========================================================================================================================================== Is this ok [y/N]: y Complete! [mst@tuck linux]$ dnf module install avocado Last metadata expiration check: 6 days, 15:26:03 ago on Wed 21 Sep 2022 02:33:31 AM EDT. Dependencies resolved. ========================================================================================================================================== Package Architecture Version Repository Size ========================================================================================================================================== Installing group/module packages: python3-avocado noarch 97.0-1.module_f35+14550+3bc43fee updates-modular 603 k python3-avocado-plugins-output-html noarch 97.0-1.module_f35+14550+3bc43fee updates-modular 99 k python3-avocado-plugins-varianter-yaml-to-mux noarch 97.0-1.module_f35+14550+3bc43fee updates-modular 29 k Installing dependencies: gdb-gdbserver x86_64 12.1-1.fc35 updates 300 k python-avocado-common noarch 97.0-1.module_f35+14550+3bc43fee updates-modular 29 k Installing module profiles: avocado/default Transaction Summary ========================================================================================================================================== Install 5 Packages Total download size: 1.0 M Installed size: 3.5 M Is this ok [y/N]: y Downloading Packages: (1/5): python-avocado-common-97.0-1.module_f35+14550+3bc43fee.noarch.rpm 40 kB/s | 29 kB 00:00 (2/5): python3-avocado-plugins-output-html-97.0-1.module_f35+14550+3bc43fee.noarch.rpm 109 kB/s | 99 kB 00:00 (3/5): python3-avocado-plugins-varianter-yaml-to-mux-97.0-1.module_f35+14550+3bc43fee.noarch.rpm 28 kB/s | 29 kB 00:01 (4/5): python3-avocado-97.0-1.module_f35+14550+3bc43fee.noarch.rpm 479 kB/s | 603 kB 00:01 (5/5): gdb-gdbserver-12.1-1.fc35.x86_64.rpm 232 kB/s | 300 kB 00:01 ------------------------------------------------------------------------------------------------------------------------------------------ Total 204 kB/s | 1.0 MB 00:05 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Regex version mismatch, expected: 10.40 2022-04-14 actual: 10.35 2020-05-09 Preparing : 1/1 Installing : python-avocado-common-97.0-1.module_f35+14550+3bc43fee.noarch 1/5 Installing : gdb-gdbserver-12.1-1.fc35.x86_64 2/5 Installing : python3-avocado-97.0-1.module_f35+14550+3bc43fee.noarch 3/5 Installing : python3-avocado-plugins-output-html-97.0-1.module_f35+14550+3bc43fee.noarch 4/5 Installing : python3-avocado-plugins-varianter-yaml-to-mux-97.0-1.module_f35+14550+3bc43fee.noarch 5/5 Running scriptlet: python3-avocado-plugins-varianter-yaml-to-mux-97.0-1.module_f35+14550+3bc43fee.noarch 5/5 Verifying : gdb-gdbserver-12.1-1.fc35.x86_64 1/5 Verifying : python-avocado-common-97.0-1.module_f35+14550+3bc43fee.noarch 2/5 Verifying : python3-avocado-97.0-1.module_f35+14550+3bc43fee.noarch 3/5 Verifying : python3-avocado-plugins-output-html-97.0-1.module_f35+14550+3bc43fee.noarch 4/5 Verifying : python3-avocado-plugins-varianter-yaml-to-mux-97.0-1.module_f35+14550+3bc43fee.noarch 5/5 Installed: gdb-gdbserver-12.1-1.fc35.x86_64 python-avocado-common-97.0-1.module_f35+14550+3bc43fee.noarch python3-avocado-97.0-1.module_f35+14550+3bc43fee.noarch python3-avocado-plugins-output-html-97.0-1.module_f35+14550+3bc43fee.noarch python3-avocado-plugins-varianter-yaml-to-mux-97.0-1.module_f35+14550+3bc43fee.noarch Complete! Great! Except I want avocado-vt of course. I will pretend someone told me that I need it. Installing Avocado-VT on Fedora or Enterprise Linux is a matter of installing the avocado-plugins-vt package. Install it with: $ yum install avocado-plugins-vt I guess I will replace yum with dnf then? [mst@tuck linux]$ dnf install avocado-plugins-vt Last metadata expiration check: 6 days, 15:31:16 ago on Wed 21 Sep 2022 02:33:31 AM EDT. No match for argument: avocado-plugins-vt Error: Unable to find a match: avocado-plugins-vt And this is Fedora. What do people do on debian? non Linux? -- MST