tests: Run kernel tests on HyperKit when running on OSX

With the updated HyperKit go bindings we can redirect the VM output
and check for test results. Use this for all kernel tests as this
speeds up running the tests on OSX.

Also enable 'set -x' so we see the commands being executed and don't
fail the test if the cleanup failed.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
Rolf Neugebauer 2017-06-07 15:53:40 +01:00
parent 8e647fe974
commit d449ef6901
4 changed files with 13 additions and 10 deletions

View File

@ -10,13 +10,13 @@ set -e
. "${RT_PROJECT_ROOT}/_lib/lib.sh"
clean_up() {
find . -iname "test-kernel-config*" -not -iname "*.yml" -exec rm -rf {} \;
find . -iname "test-kernel-config*" -not -iname "*.yml" -exec rm -rf {} \; || true
}
trap clean_up EXIT
# Test code goes here
moby build -output kernel+initrd test-kernel-config.yml
RESULT="$(linuxkit run qemu -kernel test-kernel-config)"
RESULT="$(linuxkit run test-kernel-config)"
echo "${RESULT}" | grep -q "suite PASSED"
exit 0

View File

@ -10,13 +10,13 @@ set -e
. "${RT_PROJECT_ROOT}/_lib/lib.sh"
clean_up() {
find . -iname "test-kernel-config*" -not -iname "*.yml" -exec rm -rf {} \;
find . -iname "test-kernel-config*" -not -iname "*.yml" -exec rm -rf {} \; || true
}
trap clean_up EXIT
# Test code goes here
moby build -output kernel+initrd test-kernel-config.yml
RESULT="$(linuxkit run qemu test-kernel-config)"
RESULT="$(linuxkit run test-kernel-config)"
echo "${RESULT}" | grep -q "suite PASSED"
exit 0

View File

@ -10,13 +10,13 @@ set -e
. "${RT_PROJECT_ROOT}/_lib/lib.sh"
clean_up() {
find . -iname "test-kernel-config*" -not -iname "*.yml" -exec rm -rf {} \;
find . -iname "test-kernel-config*" -not -iname "*.yml" -exec rm -rf {} \; || true
}
trap clean_up EXIT
# Test code goes here
moby build -output kernel+initrd test-kernel-config.yml
RESULT="$(linuxkit run qemu test-kernel-config)"
RESULT="$(linuxkit run test-kernel-config)"
echo "${RESULT}" | grep -q "suite PASSED"
exit 0

View File

@ -13,7 +13,7 @@ IMAGE_NAME="kmod-test"
clean_up() {
docker rmi ${IMAGE_NAME} || true
find . -iname "kmod*" -not -iname "*.yml" -exec rm -rf {} \;
find . -iname "kmod*" -not -iname "*.yml" -exec rm -rf {} \; || true
}
trap clean_up EXIT
@ -21,7 +21,10 @@ trap clean_up EXIT
docker pull linuxkit/kernel:4.9.x
# Build a package
docker build -t ${IMAGE_NAME} .
# Build a LinuxKit image with kernel module (and test script)
# Build and run a LinuxKit image with kernel module (and test script)
moby build -output kernel+initrd kmod.yml
# Run it
linuxkit run qemu kmod | grep -q "Hello LinuxKit"
RESULT="$(linuxkit run kmod)"
echo "${RESULT}" | grep -q "Hello LinuxKit"
exit 0