28 Commits

Author SHA1 Message Date
Filip Gołaś dbfb729875 Creating custom linux bootentries (#1221)
* util/bootentries-fix.robot: Add PoC for adding bootentries

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* options-lib_dcu.robot: Fix faulty comparison of bootid to empty

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/flash.robot: Add bootorder replacement when flashing fw and tesing via ssh

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Execute Reboot Command: Use BOOTED_OS_ID to determine reboot type

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* novacustom-v540tu.robot: Resture Ubuntu as default boot os

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/custom_bootentries.robot: Add library for managing bootorder

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/flash.robot: Migrate smmstore when flashing without access to serial

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* util/bootentries-fix.robot: Clean up the suite

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* util/bootentries-fix.robot: Move to self-tests/bootentries-persistence.robot

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* util/basic-platform-setup: Add BPS005.002 for creating defaultboot entires

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* BPS009: Add suite that adds DEFAULT_BOOT_OS_ID entry

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* bootentries-persistence.robot: Make it depend on basic platform setup done

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* lib/custom_bootentries.robot: Make sure esp are skipped

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* environment-test-ids.py: Extend Windows bootmenu name

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* BPS009: make sure windows bootentry is created

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

* Execute Shutdown Command: Skip if no POWER_CTRL

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>

---------

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2026-02-04 16:39:03 +01:00
Michał Żygowski 5019ad3cac util/basic-platform-setup.robot: Increase timeout for serial output
Some platforms may not boot up in 2 minutes after flashing. This will
lead to failure of msot test cases in BPS suite.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-12-01 11:21:11 +01:00
Mateusz Maciejewski c6466471e6 platform-configs/include/pcengines.robot: keyboard config updated
PC Engines-specific conditions removed from:

USB keybard test skip:
dasharo-compatibility/usb-hid-misc-msc-support.robot

Flash WP GPIO manipulation:
util/basic-platform-setup.robot
lib/flash.robot

Signed-off-by: Mateusz Maciejewski <mateusz.maciejewski@3mdeb.com>
2025-11-24 11:24:20 +01:00
Mateusz Maciejewski a2221e41c1 USB & BPS test fixes for APU platforms
USB keyboard test in FW skipped
Windows BPS tests skipped

Signed-off-by: Mateusz Maciejewski <mateusz.maciejewski@3mdeb.com>
2025-11-21 16:24:20 +01:00
Michał Żygowski 4f10afbdbc Odroid h4 ultra tests (#881)
* dasharo-compatibility/network-speed.robot: Move keywords to lib

The keywords are generic for network performance testing. They can
be reused by other tests, e.g. incoming ODROID netcard test.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/odroid-netcard.robot: Add netcard test

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/memory-ibecc.robot: Add IBECC tests

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs: Add ODROID H4 Ultra

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-performance/fast-boot.robot: Make the test work with telnet

The test assumed that the device is already booted to an OS, which probably
is true for laptops. Add necessary Power On's and initial booting to OS
on the beginning of the test to handle a case where the serial connection
can be used to navigate and select OSes to boot.

Also do not log in to OS again after "Measure FW Boot Time On Linux",
because this keyword keeps the connection to the OS.

TEST=Run the test and PASS it on ODROID H4 Ultra

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/sleep-lib.robot: Make sleep tests work with telnet

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* test_cases.json: Add new test cases

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Do not verify FW version after flashing

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/custom-network-boot-entries.robot: Ensure netboot is enabled

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Add CPU temperature threshold

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Update release date

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* variables.robot: Fix the configs for ODROID platforms

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/miniPCIe-slot-verification.robot: Fix skip

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/nvme-support.robot: Use configs to get disk name

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs: Drop unused CLEVO_DISK

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Synchronize configs

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Enable Windows tests

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* os-config/ansible/os-specific-tasks/201.yaml: Add docker installation

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* scripts/lib/robot.sh: Fix typo in directory name

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Disable fan speed measurements

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/usb-hid-msc-lib.robot: Fix condition for mounting USB

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/device-detection.robot: Close connections at the end of teardown

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/device-detection.robot: Add proper checks for suite skip

Judging by the content of test cases, the suite depends on the
SSH connection method and the DCU backed for option manipulation.
It is not suitable for runnign in other configuration, like
telnet connection method and option management via firmware setup.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Update release version

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/efibootmgr.robot: Make test suitable for telnet platforms

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* keywords.robot: Wait for the power to stabilize before pressing power button

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* util/basic-platform-setup.robot: Mark suite as automated

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* test_cases.json: Sort new tests by ID

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/audio-subsystem.robot: Use generic keyword for command

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/cpu-fan-speed-measure.robot: Skip suite earlier to save time

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/network.robot: Make intervals larger for Get Hostname Ip

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Disable hybrid core support

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/network.robot: Add variable for Get Ip interval

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* scripts/regression-rerun-failed.sh: Add script to rerun failed tests

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/efibootmgr.robot: Ensure network boot is disabled initially

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Fix CPU temperature threshold

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/power-after-fail-lib.robot: Fix import failure

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/reset-to-defaults.robot: Skip fan profile test if not supported

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/platform-suspend-and-resume.robot: Check for skip in suite setup

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* compatibility/reset-to-defaults.robot: Skip sleep type test if not supported

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* Deploy UEFI Shell where necessary

Basic platform setup deploye UEFI SHell, however running a whole
suite like comaptibility, e.g. during regression, causes the FW
to eb flashed again and the UEFI Shell is lost right after basic
platform setup finishes its job.

Ensure the UEFI Shell is deployed wherever it is used.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/esp-scanning-lib.robot: Sync filesystem after cleaning ESP

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/DTS: Skip flashing if FW variable not set

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/dasharo-tools-suite.robot: Fix internal flashing

"Flash Via Internal Programmer" sends a file to DUT from host. However,
the test downloads th binary with wget prior to the keyword execution.
Skip the wrapper and call "Flash Via Internal Programmer With Args"
directly.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-security/tpm: Fix TPM tests

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-security/verified-boot.robot: Sync filesystem before power cycling

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/audio-subsystem.robot: Fix headphones Windows tests

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/audio-subsystem.robot: Make audo devices platform-specific

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/bios/menus.robot: Fix variable type

Fixes the error of variable value not a list or list-like.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-security/verified-boot.robot: Drop VBO011.001 duplication

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/sleep-lib.robot: Fix suspend test on Telnet

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Remove obsolete override

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* scripts/regression.sh: Run stability suite too

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4-ultra.robot: Sync DTS E2E variables

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4: Sync DMI info

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-stability/tpm-detect.robot: Drop check for NVME in TPM detection

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/power-after-fail.robot: Fix powering on based on var state

When power after fail test are executed, the state of power after fail variable
is changed. The Power On keyword does not take it int oaccount and uses only
the default state of the variable. This results in obsolete power button presses
which often lead to powering off the platform right after PSU is powered on.
Because of that the tests fail due to power LED not being lit up.

Define another variable that is updated runtime and represents current state of
the power after faile variable.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* keywords: Fix usage in teardown

Fixes the problem: 'Set Tags' cannot be used in suite teardown.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility: Fix list comparison in Ethernet tests

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs/odroid-h4-ultra.robot: Update Ethernet info

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* util/basic-platform-setup.robot: Add minimal-regression tag

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/secure-boot-lib.robot: Fix launching UEFI Shell

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* lib/linux.robot: Add MKTME to dmesg error allowlist

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* variables.robot: Add ODROID H4 Ultra

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility: Move netcard test to ETHPERF

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/network-speed.robot: merge netcard test with ETHPERF001

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* dasharo-compatibility/device-detection.robot: Fix duplicated close connection

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

* platform-configs: Drop unused ODROID_NETCARD_SUPPORT

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>

---------

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-09-24 07:47:30 +02:00
Filip Gołaś 55cc7b6fae basic-platform-setup.robot: BPS006: Use SSH from the start
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-08-29 10:54:48 +02:00
Michał Żygowski f17a6d2f4e util/basic-platform-setup.robotl Skip tests if connection not supported
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-08-19 12:27:14 +02:00
Maciej Pijanowski 2bd2e50c9b robocop: enable ReplaceWithVAR formatter
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2025-07-29 10:41:24 +02:00
Mateusz Maciejewski e9366820b8 util/basic-platform-setup.robot: connection check in Run Ansible Playbook
Added Check Internet Connection On Linux in Run Ansible Playbook
keyword, to avoid SSH "host unreachable" error when network interface
initialization takes a little longer.

Signed-off-by: Mateusz Maciejewski <mateusz.maciejewski@3mdeb.com>
2025-04-10 11:50:30 +02:00
Filip Gołaś 3e92b66bf4 Remove manually installing coreboot tools from all files
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-04-02 16:37:53 +02:00
Filip Gołaś ef89299887 robotidy after rebasing
develop was not treated with a linter

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-04-02 16:37:53 +02:00
Filip Gołaś 5d9b156caa basic-platform-setup: Remove downloading flashrom, reorder tests
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-04-02 16:37:52 +02:00
Filip Gołaś ae5983f261 basic-platform-setup: Add skips for when the tests are not supported
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-04-02 16:37:52 +02:00
Filip Gołaś c8bc6c537a basic-platform-setup: Move Ansible setup to separate test case
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-04-02 16:37:52 +02:00
Filip Gołaś af966d468b os-config/ansible/vars: Add all packages required in osfv
except for acpi_call on fedora, which is not in fedora
repositories, has to be installed manually

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-04-02 16:37:50 +02:00
Filip Gołaś f3756ac25e basic-platform-setup: Ansible config: Dont save known hosts
SSH will sometimes not allow connecting to the same IP and port
despite NoStrictKeyChecking. Not saving the known hosts
is a better workaround

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-04-02 16:37:50 +02:00
Filip Gołaś a0ebe3521e util/basic-platform-setup: Add Run Ansible Playbooks kwd
The kwd uses the configs at os-config/ansible
to install packages required for the regression

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-04-02 16:37:49 +02:00
Michał Żygowski a0e2726e63 util/basic-platform-setup.robot: Check power LED when powering on/off
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-25 12:37:59 +01:00
Michał Żygowski a2d1501ab8 util/basic-platform-setup.robot; Remove quotes from match strings
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-20 17:22:35 +01:00
Maciej Pijanowski 7119324822 tree-wide: rename remaining Get From Cloud kwds
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2025-03-14 12:22:42 +01:00
Maciej Pijanowski a87e7e083f tree-wide: drop host-cache, use osfv-test-data module
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2025-03-12 17:53:06 +01:00
Michał Żygowski abe967790e util/basic-platform-setup.robot: Add CMOS clear test
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-12 15:46:25 +01:00
Maciej Pijanowski 9cecce43c0 util/basic-platform-setup.robot: rework considering the PSU abstraction
We no longer control Relay or Sonoff directly in OSFV, we use PSU
abstraction configured in osfv_cli libraries instead.

Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2025-03-12 14:35:57 +01:00
Filip Gołaś 15f3fc1841 Boot System Or From Connected Disk: Use ENV_ID instead of name globally
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2025-03-06 18:27:34 +01:00
Maciej Pijanowski f976d349ce pikvm: use package instead of submodule
Toe be used with: https://github.com/3mdeb/pikvm-rest-api/pull/19

Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2025-01-16 22:01:09 +01:00