Browse Source
test: Add a configuration with MENDER_GRUB_D_INTEGRATION turned off.
This already broke once in our pipeline, so let's add this job
configuration so that we keep testing it.
Signed-off-by: Kristian Amlie <kristian.amlie@northern.tech>
create-pull-request/patch
Kristian Amlie
2 years ago
No known key found for this signature in database
GPG Key ID: F464407C996AF03F
7 changed files with
36 additions and
3 deletions
.gitlab-ci.yml
configs/testing/no-grub.d_config
mender-convert-package
scripts/test/mender-convert-qemu
scripts/test/run-tests.sh
tests/mender-image-tests
tests/test_grub_integration.py
@ -258,6 +258,13 @@ test_acceptance_ubuntu_qemux86_64:
- cp versions_override_config input/config/versions_override_config
- ./scripts/test/run-tests.sh --config input/config/versions_override_config --only ubuntu-qemux86-64
test_acceptance_ubuntu_qemux86_64_no_grub_d:
<< : *test_acceptance
script:
- mkdir -p input/config
- cp versions_override_config input/config/versions_override_config
- ./scripts/test/run-tests.sh --config input/config/versions_override_config --only ubuntu-qemux86-64-no-grub-d
test_acceptance_debian_qemux86_64:
<< : *test_acceptance
script:
@ -0,0 +1 @@
MENDER_GRUB_D_INTEGRATION=n
@ -388,6 +388,7 @@ testscfg_add "MENDER_ARTIFACT_NAME" "${MENDER_ARTIFACT_NAME}"
testscfg_add "MENDER_FEATURES" "${mender_features}"
testscfg_add "DEPLOY_DIR_IMAGE" "${PWD}/deploy"
testscfg_add "MENDER_MACHINE" "${device_type}"
testscfg_add "MENDER_GRUB_D_INTEGRATION" "${MENDER_GRUB_D_INTEGRATION}"
# Outputting device base only relevant for some configurations
if [ "${MENDER_ENABLE_PARTUUID}" != "y" ]; then
@ -27,6 +27,10 @@ if [ -z "${ovmf_file}" ]; then
exit 1
fi
if [ "$QEMU_NO_SECURE_BOOT" != "1" ]; then
OVMF_VARS="-drive file=$(dirname "$0")/../../tests/uefi-nvram/OVMF_VARS.fd,if=pflash,format=raw,unit=1,readonly=on"
fi
qemu-system-x86_64 \
-enable-kvm \
-nographic \
@ -34,7 +38,7 @@ qemu-system-x86_64 \
-net user,hostfwd=tcp::8822-:22 \
-net nic,macaddr=52:54:00$(od -txC -An -N3 /dev/urandom|tr \ :) \
-drive file=${ovmf_file},if=pflash,format=raw,unit=0,readonly=on \
-drive file=" $(dirname "$0")/../../tests/uefi-nvram/ OVMF_VARS.fd",if=pflash,format=raw,unit=1,readonly=on \
$OVMF_VARS \
-drive format=raw,file=${DISK_IMG} &
qemu_pid=$!
@ -123,6 +123,21 @@ else
assert " ${ ret } " "0" "Expected uncompressed file deploy/Ubuntu-Focal-x86-64-qemux86-64-mender.img"
fi
if [ " $TEST_ALL " = = "1" -o " $TEST_PLATFORM " = = "ubuntu-qemux86-64-no-grub-d" ] ; then
wget --progress= dot:giga -N ${ UBUNTU_IMAGE_URL } -P input/image/
mkdir -p input/tests
cp -r "tests/ssh-public-key-overlay" "input/tests/ssh-public-key-overlay"
QEMU_NO_SECURE_BOOT = 1 \
convert_and_test \
"qemux86-64" \
"release-1" \
"input/image/Ubuntu-Focal-x86-64.img.gz" \
"--overlay input/tests/ssh-public-key-overlay" \
"--config configs/ubuntu-qemux86-64_config" \
" --config configs/testing/no-grub.d_config $EXTRA_CONFIG " \
|| test_result = $?
fi
if [ " $TEST_ALL " = = "1" -o " $TEST_PLATFORM " = = "raspberrypi3" ] ; then
wget --progress= dot:giga -N ${ RASPBIAN_IMAGE_URL } -P input/image/
RASPBIAN_IMAGE = " ${ RASPBIAN_IMAGE_URL ##*/ } "
@ -1 +1 @@
Subproject commit 43385d2db58224a12e36d1cd63c3b6057f4e6809
Subproject commit 0513c601b27599f13692295c50e87ee28425b310
@ -76,8 +76,13 @@ def check_all_root_occurrences_valid(grub_cfg):
assert found_expected , " Expected content ( %s ) not found " % expected
@pytest . fixture ( scope = " session " )
def only_grub_d_integration ( bitbake_variables ) :
if bitbake_variables [ " MENDER_GRUB_D_INTEGRATION " ] == " n " :
pytest . skip ( " grub.d integration is off, skipping test " )
@pytest . mark . usefixtures ( " setup_board " , " cleanup_boot_scripts " )
@pytest . mark . usefixtures ( " setup_board " , " cleanup_boot_scripts " , " only_grub_d_integration " )
class TestGrubIntegration :
@pytest . mark . min_mender_version ( " 1.0.0 " )
def test_no_root_occurrences ( self , connection , latest_part_image ) :