diff --git a/dts/dts-e2e.robot b/dts/dts-e2e.robot index 240742001f..110078582f 100644 --- a/dts/dts-e2e.robot +++ b/dts/dts-e2e.robot @@ -323,6 +323,7 @@ E2E010.001 Failure to read flash during update should stop workflow ... DCR ... ${DTS_PLATFORM_VARIABLES}[novacustom-v540tu] ... ${DTS_CONFIG_REF} + Execute Command In Terminal export TEST_BIOS_VERSION="Dasharo (coreboot+UEFI) 0.9.0" Execute Command In Terminal export TEST_LAYOUT_READ_SHOULD_FAIL="true" Write Into Terminal dts-boot @@ -343,6 +344,7 @@ E2E011.001 Aborting update after smmstore migration failure should stop workflow ... DCR ... ${DTS_PLATFORM_VARIABLES}[novacustom-v540tu] ... ${DTS_CONFIG_REF} + Execute Command In Terminal export TEST_BIOS_VERSION="Dasharo (coreboot+UEFI) 0.9.0" Execute Command In Terminal export TEST_BOARD_HAS_SMMSTORE="false" Write Into Terminal dts-boot @@ -365,6 +367,7 @@ E2E012.001 Continuing update after smmstore migration failure should succeed ... DCR ... ${DTS_PLATFORM_VARIABLES}[novacustom-v540tu] ... ${DTS_CONFIG_REF} + Execute Command In Terminal export TEST_BIOS_VERSION="Dasharo (coreboot+UEFI) 0.9.0" Execute Command In Terminal export TEST_BOARD_HAS_SMMSTORE="false" Write Into Terminal dts-boot @@ -380,6 +383,10 @@ E2E012.001 Continuing update after smmstore migration failure should succeed Wait For Checkpoint Rebooting in Wait For Checkpoint Rebooting +################################################################################ +# FUM tests +################################################################################ + E2E013.001 Verify that FUM update doesn't start automatically [Documentation] Test that booting via FUM doesn't start update without ... user input @@ -390,13 +397,14 @@ E2E013.001 Verify that FUM update doesn't start automatically Wait For Checkpoint You have entered Firmware Update Mode Wait For Checkpoint ${DTS_ASK_FOR_CHOICE_PROMPT} -E2E014.001 Verify that FUM update succeeds +E2E013.002 Verify that FUM update succeeds [Documentation] Test that FUM update succeeds without user input Export Shell Variables For Emulation ... UEFI Update ... DCR ... ${DTS_PLATFORM_VARIABLES}[novacustom-v540tu] ... ${DTS_CONFIG_REF} + Execute Command In Terminal export TEST_BIOS_VERSION="Dasharo (coreboot+UEFI) 0.9.0" Execute Command In Terminal export TEST_FUM="true" Write Into Terminal dts-boot @@ -404,7 +412,7 @@ E2E014.001 Verify that FUM update succeeds Wait For Checkpoint Rebooting in Wait For Checkpoint Rebooting -E2E015.001 Verify that entering DTS menu in FUM works +E2E013.003 Verify that entering DTS menu in FUM works [Documentation] Test that booting via FUM doesn't start update without ... user input Execute Command In Terminal export DTS_TESTING="true" @@ -414,6 +422,80 @@ E2E015.001 Verify that entering DTS menu in FUM works Wait For Checkpoint And Write ${DTS_ASK_FOR_CHOICE_PROMPT} ${DTS_FUM_MENU_OPT} Wait For Checkpoint ${DTS_CHECKPOINT} +################################################################################ +# https://github.com/Dasharo/dasharo-issues/issues/1759 tests +################################################################################ + +E2E014.001 Verify that capsule update while in FUM stops if unsupported + [Documentation] Test that FUM update is stopped with expected error + ... message when trying to use capsule update on firmware version that + ... doesn't support this combination + Export Shell Variables For Emulation + ... Fuse Platform + ... DCR + ... ${DTS_PLATFORM_VARIABLES}[novacustom-v540tu] + ... ${DTS_CONFIG_REF} + Execute Command In Terminal export TEST_BIOS_VERSION="Dasharo (coreboot+UEFI) 1.0.0" + Execute Command In Terminal export TEST_FUM="true" + Write Into Terminal dts-boot + + Wait For Checkpoint And Write ${DTS_ASK_FOR_CHOICE_PROMPT} ${DTS_FUM_UPDATE_OPT} + Wait For Checkpoint ${CAP_FUM_ERROR} + Wait For Checkpoint ${ERROR_LOGS_QUESTION} + +E2E014.002 Verify that fusing while in FUM stops if unsupported + [Documentation] Test that fusing while in FUM is stopped with expected + ... error message when trying to do it on firmware version that doesn't + ... support this combination + Export Shell Variables For Emulation + ... UEFI Update + ... DCR + ... ${DTS_PLATFORM_VARIABLES}[novacustom-v540tu] + ... ${DTS_CONFIG_REF} + Execute Command In Terminal export TEST_BIOS_VERSION="Dasharo (coreboot+UEFI) 1.0.0" + Execute Command In Terminal export TEST_FUM="true" + Write Into Terminal dts-boot + + Wait For Checkpoint And Write ${DTS_ASK_FOR_CHOICE_PROMPT} ${DTS_FUM_MENU_OPT} + Wait For Checkpoint And Write Bare ${DTS_CHECKPOINT} ${DTS_FUSE_OPT} + Wait For Checkpoint ${CAP_FUM_ERROR} + Wait For Checkpoint ${ERROR_LOGS_QUESTION} + +E2E014.003 Verify that capsule update while in FUM works if supported + [Documentation] Test that FUM capsule update works correctly when on + ... firmware version that supports this combination + Export Shell Variables For Emulation + ... Fuse Platform + ... DCR + ... ${DTS_PLATFORM_VARIABLES}[novacustom-v540tu] + ... ${DTS_CONFIG_REF} + Execute Command In Terminal export TEST_BIOS_VERSION="Dasharo (coreboot+UEFI) 1.0.1" + Execute Command In Terminal export TEST_SYSTEM_VENDOR="3mdeb_test_config" + Execute Command In Terminal export TEST_SYSTEM_MODEL="fum_cap_test" + Execute Command In Terminal export TEST_FUM="true" + Write Into Terminal dts-boot + + Wait For Checkpoint And Write ${DTS_ASK_FOR_CHOICE_PROMPT} ${DTS_FUM_UPDATE_OPT} + Wait For Checkpoint Rebooting in + Wait For Checkpoint Rebooting + +E2E014.004 Verify that fusing while in FUM works if supported + [Documentation] Test that fusing while in FUM works if done on firmware + ... version that supports this combination + Export Shell Variables For Emulation + ... Fuse Platform + ... DCR + ... ${DTS_PLATFORM_VARIABLES}[novacustom-v540tu] + ... ${DTS_CONFIG_REF} + Execute Command In Terminal export TEST_BIOS_VERSION="Dasharo (coreboot+UEFI) 1.0.1" + Execute Command In Terminal export TEST_SYSTEM_VENDOR="3mdeb_test_config" + Execute Command In Terminal export TEST_SYSTEM_MODEL="fum_cap_test" + Execute Command In Terminal export TEST_FUM="true" + Write Into Terminal dts-boot + + Wait For Checkpoint And Write ${DTS_ASK_FOR_CHOICE_PROMPT} ${DTS_FUM_MENU_OPT} + Go Through Fusing Platform + ################################################################################ # IBG signature tests ################################################################################ diff --git a/lib/dts-lib.robot b/lib/dts-lib.robot index 02bfabc72e..cadef90a25 100644 --- a/lib/dts-lib.robot +++ b/lib/dts-lib.robot @@ -24,11 +24,12 @@ ${DTS_HEADS_SWITCH_QUESTION}= Would you like to switch to Dash ${DTS_ME_WARN}= ... Skip ME flashing and proceed with BIOS/firmware flashing/updating? [y|n] ${DTS_BOARD_QUESTION}= Choose your board model: -${DTS_FUSE_WARN}= Fusing is irreversible. Are you sure you want to continue? [y|n] +${DTS_FUSE_WARN}= Are you sure you want to continue? [y|n] ${DTS_13_GEN_REGRESSION}= Aborting deployment... ${DPP_EMAIL_CHECKPOINT}= Enter DPP email: ${DPP_PASSWORD_CHECKPOINT}= Enter password: ${DTS_ASK_FOR_CHOICE_PROMPT}= Select an option: +${CAP_FUM_ERROR}= Current firmware doesn't support capsules while in Firmware Update Mode # DTS initial deployment menupoints: ${DTS_DCR_UEFI_MENUPOINT}= Community version ${DTS_DPP_UEFI_MENUPOINT}= DPP version (coreboot + UEFI)