On Tue, May 25, 2021 at 06:26:28PM +0100, Alex Bennée wrote: > When running the test in TCG we are basically running on bare metal so > don't rely on having a particular kernel errata applied. > > You might wonder why we handle this with a totally new test name > instead of adjusting the append to take an extra parameter? Well the > run_migration shell script uses eval "$@" which unwraps the -append > leading to any second parameter being split and leaving QEMU very > confused and the test hanging. This seemed simpler than re-writing all > the test running logic in something sane ;-) Yes, bash is a pain for this. I may try to get migration with more than one parameter to work at some point though. But, for generally determining if a unit test is running with tcg or with kvm, we have the QEMU_ACCEL environment variable. So you could just do getenv("QEMU_ACCEL") in the unit test. However, I wouldn't use it for this case, since the purpose is just to force errata to be ignored. We have the "ERRATA_FORCE" environment variable for that already. You can set it yourself, e.g. $ ERRATA_FORCE=y tests/its-migration or, if you plan to run all tests, then with $ ./run_tests.sh -a but that also runs nodefault tests. Maybe we should teach run_tests.sh to always set ERRATA_FORCE=y when running with TCG? Thanks, drew