summaryrefslogtreecommitdiffstats
path: root/package/kvm-unit-tests
diff options
context:
space:
mode:
Diffstat (limited to 'package/kvm-unit-tests')
-rw-r--r--package/kvm-unit-tests/Config.in21
-rw-r--r--package/kvm-unit-tests/kvm-unit-tests.mk49
2 files changed, 70 insertions, 0 deletions
diff --git a/package/kvm-unit-tests/Config.in b/package/kvm-unit-tests/Config.in
new file mode 100644
index 0000000000..f77189601d
--- /dev/null
+++ b/package/kvm-unit-tests/Config.in
@@ -0,0 +1,21 @@
+config BR2_PACKAGE_KVM_UNIT_TESTS
+ bool "kvm-unit-tests"
+ depends on BR2_arm || BR2_i386 || BR2_powerpc64 || \
+ BR2_powerpc64le || BR2_x86_64
+ 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
diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk
new file mode 100644
index 0000000000..989d398529
--- /dev/null
+++ b/package/kvm-unit-tests/kvm-unit-tests.mk
@@ -0,0 +1,49 @@
+################################################################################
+#
+# kvm-unit-tests
+#
+################################################################################
+
+KVM_UNIT_TESTS_VERSION = 682187afcc998bc3dd25061e98b43792cc340b33
+KVM_UNIT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/scm/virt/kvm/kvm-unit-tests.git
+KVM_UNIT_TESTS_SITE_METHOD = git
+KVM_UNIT_TESTS_LICENSE = LGPLv2
+KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT
+
+ifeq ($(BR2_arm),y)
+KVM_UNIT_TESTS_ARCH = arm
+else ifeq ($(BR2_i386),y)
+KVM_UNIT_TESTS_ARCH = i386
+else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y)
+KVM_UNIT_TESTS_ARCH = ppc64
+else ifeq ($(BR2_x86_64),y)
+KVM_UNIT_TESTS_ARCH = x86_84
+endif
+
+ifeq ($(BR2_ENDIAN),"LITTLE")
+KVM_UNIT_TESTS_ENDIAN = little
+else
+KVM_UNIT_TESTS_ENDIAN = big
+endif
+
+KVM_UNIT_TESTS_CONF_OPTS =\
+ --arch="$(KERNEL_ARCH)" \
+ --cross-prefix="$(TARGET_CROSS)" \
+ --endian="$(KVM_UNIT_TESTS_ENDIAN)"
+
+define KVM_UNIT_TESTS_CONFIGURE_CMDS
+ cd $(@D) && ./configure $(KVM_UNIT_TESTS_CONF_OPTS)
+endef
+
+define KVM_UNIT_TESTS_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) standalone
+endef
+
+define KVM_UNIT_TESTS_INSTALL_TARGET_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+ DESTDIR=$(TARGET_DIR)/usr/share/kvm-unit-tests/ \
+ install
+endef
+
+# Does use configure script but not an autotools one
+$(eval $(generic-package))
OpenPOWER on IntegriCloud