package/kvm-unit-tests: new package
PATCH 1/1 package/kvm-unit-tests: new package
The unit tests are tiny guest operating systems that generally execute only tens of lines of C and assembler test code in order to obtain its PASS/FAIL result. Unit tests provide KVM and virt hardware functional testing by targeting the features through minimal implementations of their use per the hardware specification. The simplicity of unit tests make them easy to verify they are correct, easy to maintain, and easy to use in timing measurements. Unit tests are also often used for quick and dirty bug reproducers. The reproducers may then be kept as regression tests. It's strongly encouraged that patches implementing new KVM features are submitted with accompanying unit tests.
http://www.linux-kvm.org/page/KVM-unit-tests
--- package/Config.in | 1 + package/kvm-unit-tests/Config.in | 17 ++++++++++++ package/kvm-unit-tests/kvm-unit-tests.mk | 45 ++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 package/kvm-unit-tests/Config.in create mode 100644 package/kvm-unit-tests/kvm-unit-tests.mk
package/Config.in +1 -0
@@ -82,6 +82,7 @@ menu "Debugging, profiling and benchmark" source "package/kexec/Config.in" source "package/kexec-lite/Config.in" source "package/ktap/Config.in" + source "package/kvm-unit-tests/Config.in" source "package/kyua/Config.in" source "package/latencytop/Config.in" source "package/lmbench/Config.in"
package/kvm-unit-tests/Config.in new file +17 -0
@@ -0,0 +1,17 @@ +config BR2_PACKAGE_KVM_UNIT_TESTS + bool "kvm-unit-tests" + depends on BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 || BR2_i386 || BR2_arm + help + kvm-unit-tests is a project as old as KVM. As its name suggests, + it's purpose is to provide unit tests for KVM. The unit tests are tiny + guest operating systems that generally execute only tens of lines of C + and assembler test code in order to obtain its PASS/FAIL result. Unit + tests provide KVM and virt hardware functional testing by targeting + the features through minimal implementations of their use per the + hardware specification. The simplicity of unit tests make them easy to + verify they are correct, easy to maintain, and easy to use in timing + measurements. Unit tests are also often used for quick and dirty bug + reproducers. The reproducers may then be kept as regression tests. + It's strongly encouraged that patches implementing new KVM features + are submitted with accompanying unit tests. + http://www.linux-kvm.org/page/KVM-unit-tests
package/kvm-unit-tests/kvm-unit-tests.mk new file +45 -0
45 lines not on this page · raw message
Signature · 1 line
2.9.3
Thomas Petazzoni
AppliedPATCH 1/1 package/kvm-unit-tests: new package
Hello,
Quoted 12 lines · Cyril Bur
The unit tests are tiny guest operating systems that generally execute only tens of lines of C and assembler test code in order to obtain its PASS/FAIL result. Unit tests provide KVM and virt hardware functional testing by targeting the features through minimal implementations of their use per the hardware specification. The simplicity of unit tests make them easy to verify they are correct, easy to maintain, and easy to use in timing measurements. Unit tests are also often used for quick and dirty bug reproducers. The reproducers may then be kept as regression tests. It's strongly encouraged that patches implementing new KVM features are submitted with accompanying unit tests.
http://www.linux-kvm.org/page/KVM-unit-tests
Quoted 8 lines
Signed-off-by Cyril Bur <[email protected]>--- package/Config.in | 1 + package/kvm-unit-tests/Config.in | 17 ++++++++++++ package/kvm-unit-tests/kvm-unit-tests.mk | 45 ++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 package/kvm-unit-tests/Config.in create mode 100644 package/kvm-unit-tests/kvm-unit-tests.mk
Applied to master with the following changes:
[Thomas:
- order architecture dependencies in Config.in alphabetically.
- rewrap Config.in help text, lines were too long
- add an empty line between the package description and the upstream project URL in the Config.in help text
- don't make KVM_UNIT_TESTS_ARCH default to $(ARCH). This was not correct for i386 for example. Instead, just handle the few architectures that the package supports.
- remove useless double quotes in variable definitions.
- remove --prefix="$(TARGET_DIR)" from CONF_OPTS. It was installing everything in /share/ and not /usr/share/, and setting the prefix to TARGET_DIR at configure time is not good. Instead, pass DESTDIR at installation time.]
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 package/kvm-unit-tests: new package
Quoted 27 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Hello,
Quoted 12 lines · Cyril Bur
The unit tests are tiny guest operating systems that generally execute only tens of lines of C and assembler test code in order to obtain its PASS/FAIL result. Unit tests provide KVM and virt hardware functional testing by targeting the features through minimal implementations of their use per the hardware specification. The simplicity of unit tests make them easy to verify they are correct, easy to maintain, and easy to use in timing measurements. Unit tests are also often used for quick and dirty bug reproducers. The reproducers may then be kept as regression tests. It's strongly encouraged that patches implementing new KVM features are submitted with accompanying unit tests.
http://www.linux-kvm.org/page/KVM-unit-testsQuoted 8 lines
Signed-off-by Cyril Bur <[email protected]>---
package/Config.in | 1 + package/kvm-unit-tests/Config.in | 17 ++++++++++++ package/kvm-unit-tests/kvm-unit-tests.mk | 45 ++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+)create mode 100644 package/kvm-unit-tests/Config.in create mode 100644
package/kvm-unit-tests/kvm-unit-tests.mkApplied to master with the following changes:
Quoted 13 lines
[Thomas:
- order architecture dependencies in Config.in alphabetically.
- rewrap Config.in help text, lines were too long
- add an empty line between the package description and the upstream project URL in the Config.in help text
- don't makeKVM_UNIT_TESTS_ARCHdefault to $(ARCH). This was not correct for i386 for example. Instead, just handle the few architectures that the package supports.
- remove useless double quotes in variable definitions.
- remove --prefix="$(TARGET_DIR)" fromCONF_OPTS. It was installing everything in /share/ and not/usr/share/, and setting the prefix toTARGET_DIRat configure time is not good. Instead, pass DESTDIR at installation time.]
It unfortunately fails on x86-64:
http://autobuild.buildroot.org/results/445/4453e8001406a658ae4dc58448baaceb6d93cbf1/
As it contains 32bit code and our toolchains (normally) aren't multilib. I guess we need to build those parts using the host compiler and depend on BR2_HOSTARCH_NEEDS_IA32_COMPILER like we do for grub/syslinux.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 package/kvm-unit-tests: new package
In reply to Thomas PetazzoniQuoted 46 lines · Thomas Petazzoni
Hello,
Quoted 22 lines · Cyril Bur
The unit tests are tiny guest operating systems that generally execute
only tens of lines of C and assembler test code in order to obtain its
PASS/FAIL result. Unit tests provide KVM and virt hardware functional
testing by targeting the features through minimal implementations of
their use per the hardware specification. The simplicity of unit tests
make them easy to verify they are correct, easy to maintain, and easy
to use in timing measurements. Unit tests are also often used for quick and dirty bug reproducers. The reproducers may then be kept as
regression tests. It's strongly encouraged that patches implementing
new KVM features are submitted with accompanying unit tests.
http://www.linux-kvm.org/page/KVM-unit-testsSigned-off-by Cyril Bur <[email protected]>Quoted 8 lines
---
?package/Config.in????????????????????????|??1 + ?package/kvm-unit-tests/Config.in?????????| 17 ++++++++++++ ?package/kvm-unit-tests/kvm-unit-tests.mk | 45++++++++++++++++++++++++++++++++
?3 files changed, 63 insertions(+)
?create mode 100644 package/kvm-unit-tests/Config.in ?create mode 100644package/kvm-unit-tests/kvm-unit-tests.mkApplied to master with the following changes:
????[Thomas:
?????- order architecture dependencies in Config.in alphabetically. ?????- rewrap Config.in help text, lines were too long ?????- add an empty line between the package description and the upstream
???????project URL in the Config.in help text
?????- don't makeKVM_UNIT_TESTS_ARCHdefault to $(ARCH). This was not
???????correct for i386 for example. Instead, just handle the few ???????architectures that the package supports.
Quoted 9 lines
?????- remove useless double quotes in variable definitions. ?????- remove --prefix="$(TARGET_DIR)" from
CONF_OPTS. It was installing
???????everything in /share/ and not/usr/share/, and setting the prefix to
???????TARGET_DIR at configure time is not good. Instead, pass DESTDIR at
???????installation time.]
Thanks for the fixups.
Cyril
Quoted 1 line
Thomas
PATCH 1/1 package/kvm-unit-tests: new package
In reply to Cyril BurHello,
Quoted 12 lines · Cyril Bur
The unit tests are tiny guest operating systems that generally execute only tens of lines of C and assembler test code in order to obtain its PASS/FAIL result. Unit tests provide KVM and virt hardware functional testing by targeting the features through minimal implementations of their use per the hardware specification. The simplicity of unit tests make them easy to verify they are correct, easy to maintain, and easy to use in timing measurements. Unit tests are also often used for quick and dirty bug reproducers. The reproducers may then be kept as regression tests. It's strongly encouraged that patches implementing new KVM features are submitted with accompanying unit tests.
http://www.linux-kvm.org/page/KVM-unit-tests
Quoted 1 line
Signed-off-by Cyril Bur <[email protected]>
This package is causing a good number of build failures. See:
arm | kvm-unit-tests-682187afcc99... | NOK | http://autobuild.buildroot.net/results/a81d40f1453ee027c7e2a9da01f482e1d09b464d i686 | kvm-unit-tests-682187afcc99... | NOK | http://autobuild.buildroot.net/results/20efe1e310fe71a587774bbe8490d6357acc8edd x86_64 | kvm-unit-tests-682187afcc99... | NOK | http://autobuild.buildroot.net/results/07deb6183ed23447de5182ee20df6c9c49e5ca49
Could you have a look and provide patches to address these?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 package/kvm-unit-tests: new package
Quoted 28 lines · Thomas Petazzoni
Hello,
Quoted 21 lines · Cyril Bur
The unit tests are tiny guest operating systems that generally execute
only tens of lines of C and assembler test code in order to obtain its
PASS/FAIL result. Unit tests provide KVM and virt hardware functional
testing by targeting the features through minimal implementations of
their use per the hardware specification. The simplicity of unit tests
make them easy to verify they are correct, easy to maintain, and easy
to use in timing measurements. Unit tests are also often used for quick and dirty bug reproducers. The reproducers may then be kept as
regression tests. It's strongly encouraged that patches implementing
new KVM features are submitted with accompanying unit tests.
http://www.linux-kvm.org/page/KVM-unit-testsQuoted 1 line
Signed-off-by Cyril Bur <[email protected]>This package is causing a good number of build failures. See:
Quoted 9 lines
?????????arm | kvm-unit-tests-682187afcc99... | NOK | http://autobuil
d.buildroot.net/results/a81d40f1453ee027c7e2a9da01f482e1d09b464d ????????i686 | kvm-unit-tests-682187afcc99... | NOK | http://autobuil
d.buildroot.net/results/20efe1e310fe71a587774bbe8490d6357acc8edd ??????x86_64 | kvm-unit-tests-682187afcc99... | NOK | http://autobuil
d.buildroot.net/results/07deb6183ed23447de5182ee20df6c9c49e5ca49Could you have a look and provide patches to address these?
Sure i'll see what appears to be happening.
Quoted 3 lines
Thanks,
Thomas
PATCH 1/1 package/kvm-unit-tests: new package
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Cyril" == Cyril Bur <[email protected]> writes:
Hi,
Quoted 9 lines
Quoted 9 lines
This package is causing a good number of build failures. See:
?????????arm | kvm-unit-tests-682187afcc99... | NOK | http://autobuil
d.buildroot.net/results/a81d40f1453ee027c7e2a9da01f482e1d09b464d ????????i686 | kvm-unit-tests-682187afcc99... | NOK | http://autobuil
d.buildroot.net/results/20efe1e310fe71a587774bbe8490d6357acc8edd ??????x86_64 | kvm-unit-tests-682187afcc99... | NOK | http://autobuil
d.buildroot.net/results/07deb6183ed23447de5182ee20df6c9c49e5ca49
Quoted 4 lines
Quoted 2 lines
Could you have a look and provide patches to address these?
Sure i'll see what appears to be happening.
Some of the issues are that it expects the x86-64 toolchain to support -m32 for bootstrap code (which our cross compilers normally don't), so we need the same workaround as we do for syslinux and grub to build those with the host compiler.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 package/kvm-unit-tests: new package
Hello,
Quoted 12 lines · Peter Korsgaard
Quoted 11 lines
Quoted 11 lines
This package is causing a good number of build failures. See:
?????????arm | kvm-unit-tests-682187afcc99... | NOK | http://autobuil
d.buildroot.net/results/a81d40f1453ee027c7e2a9da01f482e1d09b464d ????????i686 | kvm-unit-tests-682187afcc99... | NOK | http://autobuil
d.buildroot.net/results/20efe1e310fe71a587774bbe8490d6357acc8edd ??????x86_64 | kvm-unit-tests-682187afcc99... | NOK | http://autobuil
d.buildroot.net/results/07deb6183ed23447de5182ee20df6c9c49e5ca49Could you have a look and provide patches to address these?
Quoted 6 lines
Quoted 1 line
Sure i'll see what appears to be happening.
Some of the issues are that it expects the x86-64 toolchain to support -m32 for bootstrap code (which our cross compilers normally don't), so we need the same workaround as we do for syslinux and grub to build those with the host compiler.
I guess this explains the build failure on x86-64, but not the ones on arm and i686.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 package/kvm-unit-tests: new package
Quoted 9 lines
Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Some of the issues are that it expects the x86-64 toolchain to support -m32 for bootstrap code (which our cross compilers normally don't), so we need the same workaround as we do for syslinux and grub to build those with the host compiler.
I guess this explains the build failure on x86-64, but not the ones on arm and i686.
Indeed - That's why I wrote 'some' ;)
Signature · 2 lines
Venlig hilsen, Peter Korsgaard
PATCH 1/1 package/kvm-unit-tests: new package
In reply to Peter KorsgaardQuoted 24 lines · Peter Korsgaard
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
"Cyril" == Cyril Bur <[email protected]> writes:
Hi,
?>> This package is causing a good number of build failures. See:
?>>?
?>> ?????????arm | kvm-unit-tests-682187afcc99... | NOK | http://auto
buil
?>> d.buildroot.net/results/a81d40f1453ee027c7e2a9da01f482e1d09b464d ?>> ????????i686 | kvm-unit-tests-682187afcc99... | NOK | http://auto
buil
?>> d.buildroot.net/results/20efe1e310fe71a587774bbe8490d6357acc8edd ?>> ??????x86_64 | kvm-unit-tests-682187afcc99... | NOK | http://auto
buil
?>> d.buildroot.net/results/07deb6183ed23447de5182ee20df6c9c49e5ca49 ?>>?
?>> Could you have a look and provide patches to address these? ?>>?
Quoted 2 lines
?> Sure i'll see what appears to be happening.
So the i686 problem is actually fixed upstream so I've sent a patch to bump the version.
I tried select BR2_HOSTARCH_NEEDS_IA32_COMPILER for x86_64 but didn't seem to solve the problem. I know almost nothing about x86 asm so I'm at a bit of a loss, it looks like gcc is generating instructions from C that should be 16bit but then later it realises it messed up?
Still chasing but having BR2_HOSTARCH_NEEDS_IA32_COMPILER=y didn't solve.
Cyril
Quoted 7 lines
Some of the issues are that it expects the x86-64 toolchain to support
-m32 for bootstrap code (which our cross compilers normally don't), so
we need the same workaround as we do for syslinux and grub to build those with the host compiler.
PATCH 1/1 package/kvm-unit-tests: new package
Hello,
Quoted 10 lines · Cyril Bur
So the i686 problem is actually fixed upstream so I've sent a patch to bump the version.
I tried select
BR2_HOSTARCH_NEEDS_IA32_COMPILERforx86_64but didn't seem to solve the problem. I know almost nothing about x86 asm so I'm at a bit of a loss, it looks like gcc is generating instructions from C that should be 16bit but then later it realises it messed up?Still chasing but having BR2_HOSTARCH_NEEDS_IA32_COMPILER=y didn't solve.
No, you need this *and* use the host compiler when building kvm-unit-tests on x86_64. By using the host compiler, you use a compiler that can generate 32 bits code.
See syslinux and grub, like Peter suggested.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 package/kvm-unit-tests: new package
Quoted 17 lines · Thomas Petazzoni
Hello,
Quoted 13 lines · Cyril Bur
So the i686 problem is actually fixed upstream so I've sent a patch to
bump the version.I tried select
BR2_HOSTARCH_NEEDS_IA32_COMPILERforx86_64but didn't
seem to solve the problem. I know almost nothing about x86 asm so I'm
at a bit of a loss, it looks like gcc is generating instructions from C
that should be 16bit but then later it realises it messed up?
Quoted 9 lines
Quoted 2 lines
Still chasing but having BR2_HOSTARCH_NEEDS_IA32_COMPILER=y didn't solve.
No, you need this *and* use the host compiler when building kvm-unit-tests on
x86_64. By using the host compiler, you use a compiler that can generate 32 bits code.See syslinux and grub, like Peter suggested.
Yeah I had a look, sorry, I must have missed that part. Will do.
Thanks,
Cyril
Quoted 3 lines
Thanks!
Thomas