From 89e762757674ae464cd53beb4a462a65d8f3be19 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Thu, 13 Jul 2017 13:42:24 +0100 Subject: [PATCH] Split linuxkit.build.outputs into distinct tests This test was building all the supported output formats and so was taking orders of magnitude longer than every other test. It was also obscuring which output formats were slow and/or broken. The vhd test remains skipped. Signed-off-by: Ian Campbell --- .../000_outputs/000_kernel+initrd/test.sh | 26 +++++++++++++++ .../000_outputs/001_iso-bios/test.sh | 24 ++++++++++++++ .../000_build/000_outputs/002_iso-efi/test.sh | 24 ++++++++++++++ .../000_build/000_outputs/003_gcp/test.sh | 24 ++++++++++++++ .../000_build/000_outputs/004_raw/test.sh | 24 ++++++++++++++ .../000_build/000_outputs/005_qcow2/test.sh | 24 ++++++++++++++ .../000_build/000_outputs/006_vhd/test.sh | 25 ++++++++++++++ .../000_build/000_outputs/007_vmdk/test.sh | 24 ++++++++++++++ test/cases/000_build/000_outputs/test.sh | 33 ------------------- 9 files changed, 195 insertions(+), 33 deletions(-) create mode 100644 test/cases/000_build/000_outputs/000_kernel+initrd/test.sh create mode 100644 test/cases/000_build/000_outputs/001_iso-bios/test.sh create mode 100644 test/cases/000_build/000_outputs/002_iso-efi/test.sh create mode 100644 test/cases/000_build/000_outputs/003_gcp/test.sh create mode 100644 test/cases/000_build/000_outputs/004_raw/test.sh create mode 100644 test/cases/000_build/000_outputs/005_qcow2/test.sh create mode 100644 test/cases/000_build/000_outputs/006_vhd/test.sh create mode 100644 test/cases/000_build/000_outputs/007_vmdk/test.sh delete mode 100644 test/cases/000_build/000_outputs/test.sh diff --git a/test/cases/000_build/000_outputs/000_kernel+initrd/test.sh b/test/cases/000_build/000_outputs/000_kernel+initrd/test.sh new file mode 100644 index 000000000..46ff58cc6 --- /dev/null +++ b/test/cases/000_build/000_outputs/000_kernel+initrd/test.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# SUMMARY: Check that kernel+initrd output format is generated +# LABELS: + +set -e + +# Source libraries. Uncomment if needed/defined +#. "${RT_LIB}" +. "${RT_PROJECT_ROOT}/_lib/lib.sh" + +NAME=check + +clean_up() { + # remove any images + find . -depth -iname "${NAME}*" -exec rm -rf {} \; + rm -f test.yml +} + +trap clean_up EXIT + +moby build -output kernel+initrd -name "${NAME}" ../test.yml +[ -f "${NAME}-kernel" ] || exit 1 +[ -f "${NAME}-initrd.img" ] || exit 1 +[ -f "${NAME}-cmdline" ] || exit 1 + +exit 0 diff --git a/test/cases/000_build/000_outputs/001_iso-bios/test.sh b/test/cases/000_build/000_outputs/001_iso-bios/test.sh new file mode 100644 index 000000000..e11545b49 --- /dev/null +++ b/test/cases/000_build/000_outputs/001_iso-bios/test.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# SUMMARY: Check that iso-bios output format is generated +# LABELS: + +set -e + +# Source libraries. Uncomment if needed/defined +#. "${RT_LIB}" +. "${RT_PROJECT_ROOT}/_lib/lib.sh" + +NAME=check + +clean_up() { + # remove any images + find . -depth -iname "${NAME}*" -exec rm -rf {} \; + rm -f test.yml +} + +trap clean_up EXIT + +moby build -output iso-bios -name "${NAME}" ../test.yml +[ -f "${NAME}.iso" ] || exit 1 + +exit 0 diff --git a/test/cases/000_build/000_outputs/002_iso-efi/test.sh b/test/cases/000_build/000_outputs/002_iso-efi/test.sh new file mode 100644 index 000000000..ebc599fbc --- /dev/null +++ b/test/cases/000_build/000_outputs/002_iso-efi/test.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# SUMMARY: Check that iso-efi output format is generated +# LABELS: + +set -e + +# Source libraries. Uncomment if needed/defined +#. "${RT_LIB}" +. "${RT_PROJECT_ROOT}/_lib/lib.sh" + +NAME=check + +clean_up() { + # remove any images + find . -depth -iname "${NAME}*" -exec rm -rf {} \; + rm -f test.yml +} + +trap clean_up EXIT + +moby build -output iso-efi -name "${NAME}" ../test.yml +[ -f "${NAME}-efi.iso" ] || exit 1 + +exit 0 diff --git a/test/cases/000_build/000_outputs/003_gcp/test.sh b/test/cases/000_build/000_outputs/003_gcp/test.sh new file mode 100644 index 000000000..06d4d4f7e --- /dev/null +++ b/test/cases/000_build/000_outputs/003_gcp/test.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# SUMMARY: Check that gcp output format is generated +# LABELS: + +set -e + +# Source libraries. Uncomment if needed/defined +#. "${RT_LIB}" +. "${RT_PROJECT_ROOT}/_lib/lib.sh" + +NAME=check + +clean_up() { + # remove any images + find . -depth -iname "${NAME}*" -exec rm -rf {} \; + rm -f test.yml +} + +trap clean_up EXIT + +moby build -output gcp -name "${NAME}" ../test.yml +[ -f "${NAME}.img.tar.gz" ] || exit 1 + +exit 0 diff --git a/test/cases/000_build/000_outputs/004_raw/test.sh b/test/cases/000_build/000_outputs/004_raw/test.sh new file mode 100644 index 000000000..831b47989 --- /dev/null +++ b/test/cases/000_build/000_outputs/004_raw/test.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# SUMMARY: Check that raw output format is generated +# LABELS: + +set -e + +# Source libraries. Uncomment if needed/defined +#. "${RT_LIB}" +. "${RT_PROJECT_ROOT}/_lib/lib.sh" + +NAME=check + +clean_up() { + # remove any images + find . -depth -iname "${NAME}*" -exec rm -rf {} \; + rm -f test.yml +} + +trap clean_up EXIT + +moby build -output raw -name "${NAME}" ../test.yml +[ -f "${NAME}.raw" ] || exit 1 + +exit 0 diff --git a/test/cases/000_build/000_outputs/005_qcow2/test.sh b/test/cases/000_build/000_outputs/005_qcow2/test.sh new file mode 100644 index 000000000..2c0470dec --- /dev/null +++ b/test/cases/000_build/000_outputs/005_qcow2/test.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# SUMMARY: Check that qcow2 output format is generated +# LABELS: + +set -e + +# Source libraries. Uncomment if needed/defined +#. "${RT_LIB}" +. "${RT_PROJECT_ROOT}/_lib/lib.sh" + +NAME=check + +clean_up() { + # remove any images + find . -depth -iname "${NAME}*" -exec rm -rf {} \; + rm -f test.yml +} + +trap clean_up EXIT + +moby build -output qcow2 -name "${NAME}" ../test.yml +[ -f "${NAME}.qcow2" ] || exit 1 + +exit 0 diff --git a/test/cases/000_build/000_outputs/006_vhd/test.sh b/test/cases/000_build/000_outputs/006_vhd/test.sh new file mode 100644 index 000000000..a2a67f448 --- /dev/null +++ b/test/cases/000_build/000_outputs/006_vhd/test.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# SUMMARY: Check that vhd format is generated +# LABELS: skip +# VHD currently requires a lot of memory, disable for now + +set -e + +# Source libraries. Uncomment if needed/defined +#. "${RT_LIB}" +. "${RT_PROJECT_ROOT}/_lib/lib.sh" + +NAME=check + +clean_up() { + # remove any images + find . -depth -iname "${NAME}*" -exec rm -rf {} \; + rm -f test.yml +} + +trap clean_up EXIT + +moby build -output vhd -name "${NAME}" ../test.yml +[ -f "${NAME}.vhd" ] || exit 1 + +exit 0 diff --git a/test/cases/000_build/000_outputs/007_vmdk/test.sh b/test/cases/000_build/000_outputs/007_vmdk/test.sh new file mode 100644 index 000000000..44cca5ecf --- /dev/null +++ b/test/cases/000_build/000_outputs/007_vmdk/test.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# SUMMARY: Check that vmdk output format is generated +# LABELS: + +set -e + +# Source libraries. Uncomment if needed/defined +#. "${RT_LIB}" +. "${RT_PROJECT_ROOT}/_lib/lib.sh" + +NAME=check + +clean_up() { + # remove any images + find . -depth -iname "${NAME}*" -exec rm -rf {} \; + rm -f test.yml +} + +trap clean_up EXIT + +moby build -output vmdk -name "${NAME}" ../test.yml +[ -f "${NAME}.vmdk" ] || exit 1 + +exit 0 diff --git a/test/cases/000_build/000_outputs/test.sh b/test/cases/000_build/000_outputs/test.sh deleted file mode 100644 index 3c7058520..000000000 --- a/test/cases/000_build/000_outputs/test.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -# SUMMARY: Check that all supported output formats are generated -# LABELS: - -set -e - -# Source libraries. Uncomment if needed/defined -#. "${RT_LIB}" -. "${RT_PROJECT_ROOT}/_lib/lib.sh" - -NAME=check - -clean_up() { - # remove any images - find . -depth -iname "${NAME}*" -exec rm -rf {} \; -} - -trap clean_up EXIT - -moby build -output kernel+initrd,iso-bios,iso-efi,gcp,raw,qcow2,vmdk -name "${NAME}" test.yml -[ -f "${NAME}-kernel" ] || exit 1 -[ -f "${NAME}-initrd.img" ] || exit 1 -[ -f "${NAME}-cmdline" ] || exit 1 -[ -f "${NAME}.iso" ] || exit 1 -[ -f "${NAME}-efi.iso" ] || exit 1 -[ -f "${NAME}.img.tar.gz" ] || exit 1 -[ -f "${NAME}.raw" ] || exit 1 -[ -f "${NAME}.qcow2" ] || exit 1 -# VHD currently requires a lot of memory, disable for now -# [ -f "${NAME}.vhd" ] || exit 1 -[ -f "${NAME}.vmdk" ] || exit 1 - -exit 0