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
parent
commit
511179a79a
No known key found for this signature in database GPG Key ID: F464407C996AF03F
  1. 7
      .gitlab-ci.yml
  2. 1
      configs/testing/no-grub.d_config
  3. 1
      mender-convert-package
  4. 6
      scripts/test/mender-convert-qemu
  5. 15
      scripts/test/run-tests.sh
  6. 2
      tests/mender-image-tests
  7. 7
      tests/test_grub_integration.py

7
.gitlab-ci.yml

@ -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:

1
configs/testing/no-grub.d_config

@ -0,0 +1 @@
MENDER_GRUB_D_INTEGRATION=n

1
mender-convert-package

@ -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

6
scripts/test/mender-convert-qemu

@ -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=$!

15
scripts/test/run-tests.sh

@ -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##*/}"

2
tests/mender-image-tests

@ -1 +1 @@
Subproject commit 43385d2db58224a12e36d1cd63c3b6057f4e6809
Subproject commit 0513c601b27599f13692295c50e87ee28425b310

7
tests/test_grub_integration.py

@ -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):

Loading…
Cancel
Save