| Message ID | 20260426154724.2042569-1-dario.binacchi@amarulasolutions.com |
|---|---|
| Headers | show |
| Series |
|
| Related | show |
On 4/26/26 17:46, Dario Binacchi wrote: > This series, the mainline version of [1], provides the necessary changes > in U-Boot to support the metadata-driven A/B update flow for STM32MP25 > boards. It implements the logic required to dynamically select the boot > bank based on FWU metadata. > > These changes are designed to be backward compatible while providing > the necessary infrastructure for the A/B scheme. > > The series has been tested on the STM32MP257F-EV1 board. > > Additionally, some patches in the series propose changes with > general-purpose utility: > > 1/7 lib: uuid: add partition type GUID for extended bootloader > 4/7 cmd: part: support lookup by UUID in 'part number' > 6/7 fwu: add helper to get image GUID by type and bank index > > [1] https://github.com/STMicroelectronics/u-boot/pull/6 > > Changes in v7: > - Add Reviewed-by of Simon Glass for patc 7/8 of "test: dm: > fwu_mdata: add test for fwu_mdata_get_image_guid". > > Changes in v6: > - Add Reviewed-by of Simon Glass to patch 3/8 "test: cmd: add unit > tests for part command" > > Changes in v5: > - Update doc/usage/cmd/part.rst to reflect the changes related to the > part command. > - Add Acked-by of Ilias Apalodimas to patch 6/8 "fwu: add helper to get > image GUID by type and bank index" > > Changes in v4: > - Place the part command tests in the cmd suite rather than the dm > suite. > - Order the include files according the U-Boot coding style. > - Add patch 7/8 test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid > > Changes in v3: > - Wrap lines exceeding 80 columns in test/cmd/part.c file. > - Combine run_command() and ut_asserteq() -> ut_asserteq(1, run_command( > - Add kerneldoc comment for fwu_mdata_get_image_guid() above its declaration > in fwu.h. > - Add log_warning() messages to fwu_platform_hook() to catch inconsistent > FWU metadata (boot GUID found but root GUID missing or viceversa), as > suggested by Simon Glass. > > Changes in v2: > - Add links to the XBOOTLDR specification in the commit message of patch > 1/7 lib: uuid: add partition type GUID for extended bootloader. > - Update help for 'part start', 'part size' to mention UUID. > - Add kerneldoc comment for fwu_mdata_get_image_guid(). > - Pass efi_guid_t by pointer in fwu_mdata_get_image_guid(). > - Add patches: > 5/7 test: cmd: part: add UUID lookup tests > 3/7 test: cmd: add unit tests for part command > 2/7 test: dm: part: add test for part_get_info_by_uuid > > Dario Binacchi (8): > lib: uuid: add partition type GUID for extended bootloader > test: dm: part: add test for part_get_info_by_uuid > test: cmd: add unit tests for part command > cmd: part: support lookup by UUID > test: cmd: part: add UUID lookup tests > fwu: add helper to get image GUID by type and bank index > test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid > board: st: stm32mp25: support dynamic A/B bank bootup > > board/st/stm32mp2/stm32mp2.c | 32 ++++ > cmd/part.c | 12 +- > doc/README.gpt | 2 + > doc/usage/cmd/part.rst | 6 +- > include/configs/stm32mp25_st_common.h | 15 ++ > include/fwu.h | 11 ++ > include/part_efi.h | 3 + > lib/fwu_updates/fwu.c | 33 ++++ > lib/uuid.c | 1 + > test/cmd/Makefile | 1 + > test/cmd/part.c | 209 ++++++++++++++++++++++++++ > test/dm/fwu_mdata.c | 48 ++++++ > test/dm/part.c | 53 +++++++ > 13 files changed, 419 insertions(+), 7 deletions(-) > create mode 100644 test/cmd/part.c > Hi Dario I am preparing a pull request for STM32 including this series. Unfortunately, there is an error linked to tests test/cmd/part.c You can use my temporary pull request tag u-boot-stm32-20260429 You will find the error logs here encountered with qemu test : https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/29932 Thanks Patrice To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.
Hello Patrice, Sorry, but I can't log in. My Custodian account has expired, and that might be the reason. I need to ask Tom Rini to reactivate it. In the meantime, can you please give me some information about the error? Thanks and regards, Dario On Wed, Apr 29, 2026 at 11:14 AM Patrice CHOTARD < patrice.chotard@foss.st.com> wrote: > > > On 4/26/26 17:46, Dario Binacchi wrote: > > This series, the mainline version of [1], provides the necessary changes > > in U-Boot to support the metadata-driven A/B update flow for STM32MP25 > > boards. It implements the logic required to dynamically select the boot > > bank based on FWU metadata. > > > > These changes are designed to be backward compatible while providing > > the necessary infrastructure for the A/B scheme. > > > > The series has been tested on the STM32MP257F-EV1 board. > > > > Additionally, some patches in the series propose changes with > > general-purpose utility: > > > > 1/7 lib: uuid: add partition type GUID for extended bootloader > > 4/7 cmd: part: support lookup by UUID in 'part number' > > 6/7 fwu: add helper to get image GUID by type and bank index > > > > [1] https://github.com/STMicroelectronics/u-boot/pull/6 > > > > Changes in v7: > > - Add Reviewed-by of Simon Glass for patc 7/8 of "test: dm: > > fwu_mdata: add test for fwu_mdata_get_image_guid". > > > > Changes in v6: > > - Add Reviewed-by of Simon Glass to patch 3/8 "test: cmd: add unit > > tests for part command" > > > > Changes in v5: > > - Update doc/usage/cmd/part.rst to reflect the changes related to the > > part command. > > - Add Acked-by of Ilias Apalodimas to patch 6/8 "fwu: add helper to get > > image GUID by type and bank index" > > > > Changes in v4: > > - Place the part command tests in the cmd suite rather than the dm > > suite. > > - Order the include files according the U-Boot coding style. > > - Add patch 7/8 test: dm: fwu_mdata: add test for > fwu_mdata_get_image_guid > > > > Changes in v3: > > - Wrap lines exceeding 80 columns in test/cmd/part.c file. > > - Combine run_command() and ut_asserteq() -> ut_asserteq(1, run_command( > > - Add kerneldoc comment for fwu_mdata_get_image_guid() above its > declaration > > in fwu.h. > > - Add log_warning() messages to fwu_platform_hook() to catch inconsistent > > FWU metadata (boot GUID found but root GUID missing or viceversa), as > > suggested by Simon Glass. > > > > Changes in v2: > > - Add links to the XBOOTLDR specification in the commit message of patch > > 1/7 lib: uuid: add partition type GUID for extended bootloader. > > - Update help for 'part start', 'part size' to mention UUID. > > - Add kerneldoc comment for fwu_mdata_get_image_guid(). > > - Pass efi_guid_t by pointer in fwu_mdata_get_image_guid(). > > - Add patches: > > 5/7 test: cmd: part: add UUID lookup tests > > 3/7 test: cmd: add unit tests for part command > > 2/7 test: dm: part: add test for part_get_info_by_uuid > > > > Dario Binacchi (8): > > lib: uuid: add partition type GUID for extended bootloader > > test: dm: part: add test for part_get_info_by_uuid > > test: cmd: add unit tests for part command > > cmd: part: support lookup by UUID > > test: cmd: part: add UUID lookup tests > > fwu: add helper to get image GUID by type and bank index > > test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid > > board: st: stm32mp25: support dynamic A/B bank bootup > > > > board/st/stm32mp2/stm32mp2.c | 32 ++++ > > cmd/part.c | 12 +- > > doc/README.gpt | 2 + > > doc/usage/cmd/part.rst | 6 +- > > include/configs/stm32mp25_st_common.h | 15 ++ > > include/fwu.h | 11 ++ > > include/part_efi.h | 3 + > > lib/fwu_updates/fwu.c | 33 ++++ > > lib/uuid.c | 1 + > > test/cmd/Makefile | 1 + > > test/cmd/part.c | 209 ++++++++++++++++++++++++++ > > test/dm/fwu_mdata.c | 48 ++++++ > > test/dm/part.c | 53 +++++++ > > 13 files changed, 419 insertions(+), 7 deletions(-) > > create mode 100644 test/cmd/part.c > > > > > > Hi Dario > > I am preparing a pull request for STM32 including this series. > Unfortunately, there is an error linked to tests test/cmd/part.c > > You can use my temporary pull request tag u-boot-stm32-20260429 > > You will find the error logs here encountered with qemu test : > https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/29932 > > Thanks > Patrice > >
Hi Dario Please find the log of test.py execution for qemu-riscv32 test which triggers the error mentioned. For information, 9 qemu tests are failed with the same error. qemu-riscv32 test.py qemu-riscv32_spl test.py qemu-riscv64 test.py qemu-riscv64_smode test.py qemu-riscv64_smode_acpi test.py qemu-riscv64_spl test.py qemu-x86_64 test.py qemu_arm64 test.py qemu_arm test.py Thanks Patrice On 4/29/26 11:19, Dario Binacchi wrote: > Hello Patrice, > > Sorry, but I can't log in. My Custodian account has expired, and that might > be the reason. I need to ask Tom Rini to reactivate it. > In the meantime, can you please give me some information about the error? > > Thanks and regards, > Dario > > On Wed, Apr 29, 2026 at 11:14 AM Patrice CHOTARD < > patrice.chotard@foss.st.com> wrote: > >> >> >> On 4/26/26 17:46, Dario Binacchi wrote: >>> This series, the mainline version of [1], provides the necessary changes >>> in U-Boot to support the metadata-driven A/B update flow for STM32MP25 >>> boards. It implements the logic required to dynamically select the boot >>> bank based on FWU metadata. >>> >>> These changes are designed to be backward compatible while providing >>> the necessary infrastructure for the A/B scheme. >>> >>> The series has been tested on the STM32MP257F-EV1 board. >>> >>> Additionally, some patches in the series propose changes with >>> general-purpose utility: >>> >>> 1/7 lib: uuid: add partition type GUID for extended bootloader >>> 4/7 cmd: part: support lookup by UUID in 'part number' >>> 6/7 fwu: add helper to get image GUID by type and bank index >>> >>> [1] https://github.com/STMicroelectronics/u-boot/pull/6 >>> >>> Changes in v7: >>> - Add Reviewed-by of Simon Glass for patc 7/8 of "test: dm: >>> fwu_mdata: add test for fwu_mdata_get_image_guid". >>> >>> Changes in v6: >>> - Add Reviewed-by of Simon Glass to patch 3/8 "test: cmd: add unit >>> tests for part command" >>> >>> Changes in v5: >>> - Update doc/usage/cmd/part.rst to reflect the changes related to the >>> part command. >>> - Add Acked-by of Ilias Apalodimas to patch 6/8 "fwu: add helper to get >>> image GUID by type and bank index" >>> >>> Changes in v4: >>> - Place the part command tests in the cmd suite rather than the dm >>> suite. >>> - Order the include files according the U-Boot coding style. >>> - Add patch 7/8 test: dm: fwu_mdata: add test for >> fwu_mdata_get_image_guid >>> >>> Changes in v3: >>> - Wrap lines exceeding 80 columns in test/cmd/part.c file. >>> - Combine run_command() and ut_asserteq() -> ut_asserteq(1, run_command( >>> - Add kerneldoc comment for fwu_mdata_get_image_guid() above its >> declaration >>> in fwu.h. >>> - Add log_warning() messages to fwu_platform_hook() to catch inconsistent >>> FWU metadata (boot GUID found but root GUID missing or viceversa), as >>> suggested by Simon Glass. >>> >>> Changes in v2: >>> - Add links to the XBOOTLDR specification in the commit message of patch >>> 1/7 lib: uuid: add partition type GUID for extended bootloader. >>> - Update help for 'part start', 'part size' to mention UUID. >>> - Add kerneldoc comment for fwu_mdata_get_image_guid(). >>> - Pass efi_guid_t by pointer in fwu_mdata_get_image_guid(). >>> - Add patches: >>> 5/7 test: cmd: part: add UUID lookup tests >>> 3/7 test: cmd: add unit tests for part command >>> 2/7 test: dm: part: add test for part_get_info_by_uuid >>> >>> Dario Binacchi (8): >>> lib: uuid: add partition type GUID for extended bootloader >>> test: dm: part: add test for part_get_info_by_uuid >>> test: cmd: add unit tests for part command >>> cmd: part: support lookup by UUID >>> test: cmd: part: add UUID lookup tests >>> fwu: add helper to get image GUID by type and bank index >>> test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid >>> board: st: stm32mp25: support dynamic A/B bank bootup >>> >>> board/st/stm32mp2/stm32mp2.c | 32 ++++ >>> cmd/part.c | 12 +- >>> doc/README.gpt | 2 + >>> doc/usage/cmd/part.rst | 6 +- >>> include/configs/stm32mp25_st_common.h | 15 ++ >>> include/fwu.h | 11 ++ >>> include/part_efi.h | 3 + >>> lib/fwu_updates/fwu.c | 33 ++++ >>> lib/uuid.c | 1 + >>> test/cmd/Makefile | 1 + >>> test/cmd/part.c | 209 ++++++++++++++++++++++++++ >>> test/dm/fwu_mdata.c | 48 ++++++ >>> test/dm/part.c | 53 +++++++ >>> 13 files changed, 419 insertions(+), 7 deletions(-) >>> create mode 100644 test/cmd/part.c >>> >> >> >> >> Hi Dario >> >> I am preparing a pull request for STM32 including this series. >> Unfortunately, there is an error linked to tests test/cmd/part.c >> >> You can use my temporary pull request tag u-boot-stm32-20260429 >> >> You will find the error logs here encountered with qemu test : >> https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/29932 >> >> Thanks >> Patrice >> >> > To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com. [0KRunning with gitlab-runner 17.8.1 (a1fca00e)[0;m [0K on konsulko-guru t2_5yocyD, system ID: s_99166040f6c2[0;m section_start:1777450862:prepare_executor [0K[0K[36;1mPreparing the "docker" executor[0;m[0;m [0KUsing Docker executor with image docker.io/trini/u-boot-gitlab-ci-runner:noble-20251013-23Jan2026 ...[0;m [0KPulling docker image docker.io/trini/u-boot-gitlab-ci-runner:noble-20251013-23Jan2026 ...[0;m [0KUsing docker image sha256:e118b97f1903bd9673d5b36dffcdd2b4c244aa5b9bb5993fd39c3443dc71ed78 for docker.io/trini/u-boot-gitlab-ci-runner:noble-20251013-23Jan2026 with digest trini/u-boot-gitlab-ci-runner@sha256:1b426dc40e93eebbc214d97b73f26ba394f5655c46b6d1eb4f14650b1efec4e8 ...[0;m section_end:1777450864:prepare_executor [0Ksection_start:1777450864:prepare_script [0K[0K[36;1mPreparing environment[0;m[0;m Running on runner-t25yocyd-project-543-concurrent-0 via guru... section_end:1777450864:prepare_script [0Ksection_start:1777450864:get_sources [0K[0K[36;1mGetting source from Git repository[0;m[0;m [32;1mFetching changes...[0;m Reinitialized existing Git repository in /builds/u-boot/custodians/u-boot-stm/.git/ [32;1mChecking out 33961ee1 as detached HEAD (ref is u-boot-stm32-20260429)...[0;m Removing test/py/.pytest_cache/ Removing test/py/__pycache__/ Removing test/py/tests/__pycache__/ Removing test/py/tests/test_android/__pycache__/ Removing test/py/tests/test_efi_capsule/__pycache__/ Removing test/py/tests/test_efi_secboot/__pycache__/ Removing test/py/tests/test_fs/__pycache__/ Removing test/py/tests/test_fs/test_squashfs/__pycache__/ Removing test/py/tests/test_semihosting/__pycache__/ Removing tools/buildman/__pycache__/ Removing tools/patman/__pycache__/ Removing tools/u_boot_pylib/__pycache__/ [32;1mSkipping Git submodules setup[0;m section_end:1777450869:get_sources [0Ksection_start:1777450869:step_script [0K[0K[36;1mExecuting "step_script" stage of the job script[0;m[0;m [0KUsing docker image sha256:e118b97f1903bd9673d5b36dffcdd2b4c244aa5b9bb5993fd39c3443dc71ed78 for docker.io/trini/u-boot-gitlab-ci-runner:noble-20251013-23Jan2026 with digest trini/u-boot-gitlab-ci-runner@sha256:1b426dc40e93eebbc214d97b73f26ba394f5655c46b6d1eb4f14650b1efec4e8 ...[0;m [32;1m$ git config --global --add safe.directory "${CI_PROJECT_DIR}"[0;m [32;1m$ git clone --depth=1 https://source.denx.de/u-boot/u-boot-test-hooks /tmp/uboot-test-hooks[0;m Cloning into '/tmp/uboot-test-hooks'... warning: redirecting to https://source.denx.de/u-boot/u-boot-test-hooks.git/ [32;1m$ ln -s conf.qemu_arm64 /tmp/uboot-test-hooks/bin/travis-ci/conf.qemu_arm64_lwip_na[0;m [32;1m$ ln -s u_boot_boardenv_qemu_arm64_na.py /tmp/uboot-test-hooks/py/travis-ci/u_boot_boardenv_qemu_arm64_lwip_na.py[0;m [32;1m$ ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`[0;m [32;1m$ ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`[0;m [32;1m$ if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]] || [[ "${TEST_PY_BD}" == "xilinx_mbv32_smode" ]]; then wget -O - https://github.com/riscv-software-src/opensbi/releases/download/v1.3.1/opensbi-1.3.1-rv-bin.tar.xz | tar -C /tmp -xJ; export OPENSBI=/tmp/opensbi-1.3.1-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin; fi[0;m [32;1m$ if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]] || [[ "${TEST_PY_BD}" == "sifive_unleashed" ]] || [[ "${TEST_PY_BD}" == "xilinx_mbv64_smode" ]]; then wget -O - https://github.com/riscv-software-src/opensbi/releases/download/v1.3.1/opensbi-1.3.1-rv-bin.tar.xz | tar -C /tmp -xJ; export OPENSBI=/tmp/opensbi-1.3.1-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin; fi[0;m [32;1m$ if [[ "${TEST_PY_BD}" == "qemu-arm-sbsa" ]]; then wget -O /tmp/bl1.bin https://artifacts.codelinaro.org/artifactory/linaro-419-sbsa-ref/latest/tf-a/bl1.bin; wget -O /tmp/fip.bin https://artifacts.codelinaro.org/artifactory/linaro-419-sbsa-ref/latest/tf-a/fip.bin; export BINMAN_INDIRS=/tmp; fi[0;m [32;1m$ python3 -m venv /tmp/venv; . /tmp/venv/bin/activate; pip install -r test/py/requirements.txt -r tools/binman/requirements.txt -r tools/buildman/requirements.txt -r tools/u_boot_pylib/requirements.txt setuptools[0;m Collecting setuptools Downloading setuptools-82.0.1-py3-none-any.whl.metadata (6.5 kB) Collecting filelock==3.20.3 (from -r test/py/requirements.txt (line 1)) Using cached filelock-3.20.3-py3-none-any.whl.metadata (2.1 kB) Collecting pycryptodomex==3.21.0 (from -r test/py/requirements.txt (line 2)) Using cached pycryptodomex-3.21.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (3.4 kB) Collecting pytest==8.4.2 (from -r test/py/requirements.txt (line 3)) Using cached pytest-8.4.2-py3-none-any.whl.metadata (7.7 kB) Collecting pytest-xdist==2.5.0 (from -r test/py/requirements.txt (line 4)) Using cached pytest_xdist-2.5.0-py3-none-any.whl.metadata (21 kB) Collecting FATtools==1.0.42 (from -r test/py/requirements.txt (line 5)) Using cached FATtools-1.0.42-py3-none-any.whl.metadata (8.6 kB) Collecting coverage==7.8.0 (from -r tools/binman/requirements.txt (line 1)) Using cached coverage-7.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (8.5 kB) Collecting importlib_resources==6.5.2 (from -r tools/binman/requirements.txt (line 2)) Using cached importlib_resources-6.5.2-py3-none-any.whl.metadata (3.9 kB) Collecting jsonschema==4.23.0 (from -r tools/binman/requirements.txt (line 3)) Using cached jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB) Collecting pyelftools==0.31 (from -r tools/binman/requirements.txt (line 5)) Using cached pyelftools-0.31-py3-none-any.whl.metadata (381 bytes) Collecting yamllint==1.35.1 (from -r tools/binman/requirements.txt (line 6)) Using cached yamllint-1.35.1-py3-none-any.whl.metadata (4.2 kB) Collecting concurrencytest==0.1.2 (from -r tools/u_boot_pylib/requirements.txt (line 1)) Using cached concurrencytest-0.1.2-py3-none-any.whl Collecting iniconfig>=1 (from pytest==8.4.2->-r test/py/requirements.txt (line 3)) Using cached iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) Collecting packaging>=20 (from pytest==8.4.2->-r test/py/requirements.txt (line 3)) Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB) Collecting pluggy<2,>=1.5 (from pytest==8.4.2->-r test/py/requirements.txt (line 3)) Using cached pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) Collecting pygments>=2.7.2 (from pytest==8.4.2->-r test/py/requirements.txt (line 3)) Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB) Collecting execnet>=1.1 (from pytest-xdist==2.5.0->-r test/py/requirements.txt (line 4)) Using cached execnet-2.1.2-py3-none-any.whl.metadata (2.9 kB) Collecting pytest-forked (from pytest-xdist==2.5.0->-r test/py/requirements.txt (line 4)) Using cached pytest_forked-1.6.0-py3-none-any.whl.metadata (3.5 kB) Collecting hexdump (from FATtools==1.0.42->-r test/py/requirements.txt (line 5)) Using cached hexdump-3.3-py3-none-any.whl Collecting attrs>=22.2.0 (from jsonschema==4.23.0->-r tools/binman/requirements.txt (line 3)) Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB) Collecting jsonschema-specifications>=2023.03.6 (from jsonschema==4.23.0->-r tools/binman/requirements.txt (line 3)) Using cached jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB) Collecting referencing>=0.28.4 (from jsonschema==4.23.0->-r tools/binman/requirements.txt (line 3)) Using cached referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB) Collecting rpds-py>=0.7.1 (from jsonschema==4.23.0->-r tools/binman/requirements.txt (line 3)) Using cached rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (4.1 kB) Collecting pathspec>=0.5.3 (from yamllint==1.35.1->-r tools/binman/requirements.txt (line 6)) Downloading pathspec-1.1.1-py3-none-any.whl.metadata (14 kB) Collecting pyyaml (from yamllint==1.35.1->-r tools/binman/requirements.txt (line 6)) Using cached pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.metadata (2.4 kB) Collecting python-subunit (from concurrencytest==0.1.2->-r tools/u_boot_pylib/requirements.txt (line 1)) Using cached python_subunit-1.4.5-py3-none-any.whl.metadata (22 kB) Collecting testtools (from concurrencytest==0.1.2->-r tools/u_boot_pylib/requirements.txt (line 1)) Downloading testtools-2.9.1-py3-none-any.whl.metadata (5.4 kB) Collecting typing-extensions>=4.4.0 (from referencing>=0.28.4->jsonschema==4.23.0->-r tools/binman/requirements.txt (line 3)) Using cached typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) Collecting py (from pytest-forked->pytest-xdist==2.5.0->-r test/py/requirements.txt (line 4)) Using cached py-1.11.0-py2.py3-none-any.whl.metadata (2.8 kB) Collecting iso8601 (from python-subunit->concurrencytest==0.1.2->-r tools/u_boot_pylib/requirements.txt (line 1)) Using cached iso8601-2.1.0-py3-none-any.whl.metadata (3.7 kB) Using cached filelock-3.20.3-py3-none-any.whl (16 kB) Using cached pycryptodomex-3.21.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB) Using cached pytest-8.4.2-py3-none-any.whl (365 kB) Using cached pytest_xdist-2.5.0-py3-none-any.whl (41 kB) Using cached FATtools-1.0.42-py3-none-any.whl (132 kB) Using cached coverage-7.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (245 kB) Using cached importlib_resources-6.5.2-py3-none-any.whl (37 kB) Using cached jsonschema-4.23.0-py3-none-any.whl (88 kB) Using cached pyelftools-0.31-py3-none-any.whl (180 kB) Using cached yamllint-1.35.1-py3-none-any.whl (66 kB) Downloading setuptools-82.0.1-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 7.4 MB/s eta 0:00:00 Downloading attrs-26.1.0-py3-none-any.whl (67 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 67.5/67.5 kB 14.4 MB/s eta 0:00:00 Using cached execnet-2.1.2-py3-none-any.whl (40 kB) Using cached iniconfig-2.3.0-py3-none-any.whl (7.5 kB) Using cached jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB) Downloading packaging-26.2-py3-none-any.whl (100 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.2/100.2 kB 11.3 MB/s eta 0:00:00 Downloading pathspec-1.1.1-py3-none-any.whl (57 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.3/57.3 kB 9.8 MB/s eta 0:00:00 Using cached pluggy-1.6.0-py3-none-any.whl (20 kB) Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 9.9 MB/s eta 0:00:00 Using cached referencing-0.37.0-py3-none-any.whl (26 kB) Using cached rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (390 kB) Using cached pytest_forked-1.6.0-py3-none-any.whl (4.9 kB) Using cached python_subunit-1.4.5-py3-none-any.whl (102 kB) Downloading testtools-2.9.1-py3-none-any.whl (110 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 110.3/110.3 kB 13.7 MB/s eta 0:00:00 Using cached pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (775 kB) Using cached typing_extensions-4.15.0-py3-none-any.whl (44 kB) Using cached iso8601-2.1.0-py3-none-any.whl (7.5 kB) Using cached py-1.11.0-py2.py3-none-any.whl (98 kB) Installing collected packages: pyelftools, hexdump, typing-extensions, testtools, setuptools, rpds-py, pyyaml, pygments, pycryptodomex, py, pluggy, pathspec, packaging, iso8601, iniconfig, importlib_resources, filelock, FATtools, execnet, coverage, attrs, yamllint, referencing, python-subunit, pytest, pytest-forked, jsonschema-specifications, concurrencytest, pytest-xdist, jsonschema Successfully installed FATtools-1.0.42 attrs-26.1.0 concurrencytest-0.1.2 coverage-7.8.0 execnet-2.1.2 filelock-3.20.3 hexdump-3.3 importlib_resources-6.5.2 iniconfig-2.3.0 iso8601-2.1.0 jsonschema-4.23.0 jsonschema-specifications-2025.9.1 packaging-26.2 pathspec-1.1.1 pluggy-1.6.0 py-1.11.0 pycryptodomex-3.21.0 pyelftools-0.31 pygments-2.20.0 pytest-8.4.2 pytest-forked-1.6.0 pytest-xdist-2.5.0 python-subunit-1.4.5 pyyaml-6.0.3 referencing-0.37.0 rpds-py-0.30.0 setuptools-82.0.1 testtools-2.9.1 typing-extensions-4.15.0 yamllint-1.35.1 [32;1m$ export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}[0;m [32;1m$ echo BUILD_ENV ${BUILD_ENV}[0;m BUILD_ENV [32;1m$ if [ -n "${BUILD_ENV}" ]; then export ${BUILD_ENV}; fi[0;m [32;1m$ tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e --board ${TEST_PY_BD} ${OVERRIDE}[0;m Building current source for 1 boards (1 thread, 8 jobs per thread) Starting build... 0 0 0 /1 -1 (starting) 1 0 0 /1 qemu-riscv32 Completed: 1 total built, 1 newly), duration 0:00:10, rate 0.10 [32;1m$ cp /opt/grub/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/[0;m [32;1m$ cp /opt/grub/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/[0;m [32;1m$ cp /opt/grub/grubriscv64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv64.efi[0;m [32;1m$ cp /opt/grub/grubaa64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi[0;m [32;1m$ cp /opt/grub/grubarm.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi[0;m [32;1m$ if [[ "${TEST_PY_BD}" == "sifive_unleashed" ]]; then mkdir -p root; cp ${UBOOT_TRAVIS_BUILD_DIR}/spl/u-boot-spl.bin .; cp ${UBOOT_TRAVIS_BUILD_DIR}/u-boot.itb .; rm -rf tmp; genimage --inputpath . --config board/sifive/unleashed/genimage_sdcard.cfg; cp images/sdcard.img ${UBOOT_TRAVIS_BUILD_DIR}/; rm -rf tmp; genimage --inputpath . --config board/sifive/unleashed/genimage_spi-nor.cfg; cp images/spi-nor.img ${UBOOT_TRAVIS_BUILD_DIR}/; fi[0;m [32;1m$ if [[ "${TEST_PY_BD}" == "coreboot" ]]; then cp /opt/coreboot/coreboot.rom ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom; /opt/coreboot/cbfstool ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom remove -n fallback/payload; /opt/coreboot/cbfstool ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom add-flat-binary -f ${UBOOT_TRAVIS_BUILD_DIR}/u-boot.bin -n fallback/payload -c LZMA -l 0x1110000 -e 0x1110000; fi[0;m [32;1m$ tfa_dir=""[0;m [32;1m$ rm -f /tmp/fip.bin[0;m [32;1m$ rm -f /tmp/bl1.bin[0;m [32;1m$ if [[ -d /opt/tf-a/"${TEST_PY_BD}${TEST_PY_ID//--id /_}" ]]; then tfa_dir="/opt/tf-a/${TEST_PY_BD}${TEST_PY_ID//--id /_}"; elif [[ -d /opt/tf-a/"${TEST_PY_BD}" ]]; then tfa_dir="/opt/tf-a/${TEST_PY_BD}"; fi[0;m [32;1m$ if [[ -n "$tfa_dir" ]]; then cp "$tfa_dir"/fip.bin "$tfa_dir"/bl1.bin /tmp/; fi[0;m [32;1m$ if [ -f /tmp/fip.bin ] && [ -f /tmp/bl1.bin ]; then export fip=/tmp/fip.bin; export bl1=/tmp/bl1.bin; export PATH=/opt/Base_RevC_AEMvA_pkg/models/Linux64_GCC-9.3:${PATH}; fi[0;m [32;1m$ export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH}; export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci; python3 -m http.server 80 --directory "${UBOOT_TRAVIS_BUILD_DIR}" > /dev/null 2>&1 & HTTP_PID=$!; sleep 1; if ps -p ${HTTP_PID} > /dev/null; then export HTTP_PID; else unset HTTP_PID; fi; ./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID} ${TEST_PY_EXTRA} ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"} --build-dir "$UBOOT_TRAVIS_BUILD_DIR" --junitxml=/tmp/${TEST_PY_BD}/results.xml; if [[ -n "${HTTP_PID}" ]]; then kill ${HTTP_PID}; fi[0;m +u-boot-test-flash qemu-riscv32 na ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.4.2, pluggy-1.6.0 rootdir: /builds/u-boot/custodians/u-boot-stm/test/py configfile: pytest.ini plugins: forked-1.6.0, xdist-2.5.0 collected 797 items / 2 deselected / 795 selected test/py/tests/test_000_version.py . [ 0%] test/py/tests/test_android/test_ab.py s [ 0%] test/py/tests/test_android/test_abootimg.py sss [ 0%] test/py/tests/test_android/test_avb.py ssssss [ 1%] test/py/tests/test_bind.py ss [ 1%] test/py/tests/test_bootmenu.py s [ 1%] test/py/tests/test_bootstage.py ss [ 2%] test/py/tests/test_button.py ss [ 2%] test/py/tests/test_cat.py s [ 2%] test/py/tests/test_cleanup_build.py .. [ 2%] test/py/tests/test_dfu.py s [ 2%] test/py/tests/test_distro.py s [ 2%] test/py/tests/test_dm.py ..... [ 3%] test/py/tests/test_efi_bootmgr.py s [ 3%] test/py/tests/test_efi_capsule/test_capsule_firmware_fit.py ssss [ 4%] test/py/tests/test_efi_capsule/test_capsule_firmware_raw.py sssss [ 4%] test/py/tests/test_efi_capsule/test_capsule_firmware_signed_fit.py sssss [ 5%] [ 5%] test/py/tests/test_efi_capsule/test_capsule_firmware_signed_raw.py sssss [ 6%] [ 6%] test/py/tests/test_efi_ecpt.py ss [ 6%] test/py/tests/test_efi_fit.py . [ 6%] test/py/tests/test_efi_loader.py ....s.s [ 7%] test/py/tests/test_efi_secboot/test_authvar.py sssss [ 7%] test/py/tests/test_efi_secboot/test_signed.py ssssssss [ 8%] test/py/tests/test_efi_secboot/test_signed_intca.py sss [ 9%] test/py/tests/test_efi_secboot/test_unsigned.py sss [ 9%] test/py/tests/test_efi_selftest.py .....s [ 10%] test/py/tests/test_eficonfig.py s [ 10%] test/py/tests/test_env.py s............ssss. [ 12%] test/py/tests/test_event_dump.py s [ 12%] test/py/tests/test_extension.py s [ 13%] test/py/tests/test_fit.py ssssss [ 13%] test/py/tests/test_fit_auto_signed.py s [ 13%] test/py/tests/test_fit_ecdsa.py s [ 14%] test/py/tests/test_fit_hashes.py . [ 14%] test/py/tests/test_fit_mkimage_validate.py ss [ 14%] test/py/tests/test_fpga.py ssssssssssssssssssssssssssss [ 17%] test/py/tests/test_fs/test_basic.py ssssssssssssssssssssssssssssssssssss [ 22%] sssssssssssssssssssssssssssss [ 26%] test/py/tests/test_fs/test_erofs.py s [ 26%] test/py/tests/test_fs/test_ext.py ssssssssssssssssssssssssssssssssssssss [ 31%] ssssssssssssssssssssss [ 33%] test/py/tests/test_fs/test_fs_cmd.py s [ 33%] test/py/tests/test_fs/test_fs_fat.py ss [ 34%] test/py/tests/test_fs/test_mkdir.py ssssssssssssssssssssssssssssss [ 37%] test/py/tests/test_fs/test_rename.py sssssssssssssssssssssssssssssssssss [ 42%] ssssssssssssssssssss [ 44%] test/py/tests/test_fs/test_squashfs/test_sqfs_load.py s [ 45%] test/py/tests/test_fs/test_squashfs/test_sqfs_ls.py s [ 45%] test/py/tests/test_fs/test_symlink.py ssss [ 45%] test/py/tests/test_fs/test_unlink.py sssssssssssssssssssssssssssssssssss [ 50%] [ 50%] test/py/tests/test_fw_handoff.py ss [ 50%] test/py/tests/test_gpio.py ssssssssss [ 51%] test/py/tests/test_gpt.py sssssssssssssss [ 53%] test/py/tests/test_handoff.py s [ 53%] test/py/tests/test_help.py .ss [ 53%] test/py/tests/test_i2c.py sssss [ 54%] test/py/tests/test_kconfig.py ss [ 54%] test/py/tests/test_log.py ss [ 55%] test/py/tests/test_lsblk.py s [ 55%] test/py/tests/test_md.py .. [ 55%] test/py/tests/test_mdio.py sss [ 55%] test/py/tests/test_memtest.py ss [ 56%] test/py/tests/test_mii.py sssss [ 56%] test/py/tests/test_mmc.py ssssssssssssssss [ 58%] test/py/tests/test_mmc_rd.py ssss [ 59%] test/py/tests/test_mmc_wr.py s [ 59%] test/py/tests/test_net.py ..sss.s.sss [ 60%] test/py/tests/test_net_boot.py ssss [ 61%] test/py/tests/test_ofplatdata.py s [ 61%] test/py/tests/test_optee_rpmb.py s [ 61%] test/py/tests/test_part.py . [ 61%] test/py/tests/test_pinmux.py sssssss [ 62%] test/py/tests/test_pstore.py sss [ 62%] test/py/tests/test_qfw.py ss [ 63%] test/py/tests/test_reset.py ss [ 63%] test/py/tests/test_sandbox_exit.py ssss [ 63%] test/py/tests/test_sandbox_opts.py ss [ 64%] test/py/tests/test_saveenv.py s [ 64%] test/py/tests/test_scp03.py s [ 64%] test/py/tests/test_scsi.py ssss [ 64%] test/py/tests/test_semihosting/test_hostfs.py s [ 65%] test/py/tests/test_sf.py ssss [ 65%] test/py/tests/test_shell_basics.py .... [ 66%] test/py/tests/test_smbios.py ssss [ 66%] test/py/tests/test_source.py s [ 66%] test/py/tests/test_spi.py sssssss [ 67%] test/py/tests/test_spl.py ss [ 67%] test/py/tests/test_stackprotector.py s [ 67%] test/py/tests/test_tpm2.py sssssssss [ 69%] test/py/tests/test_trace.py s [ 69%] test/py/tests/test_ums.py s [ 69%] test/py/tests/test_unknown_cmd.py . [ 69%] test/py/tests/test_upl.py s [ 69%] test/py/tests/test_usb.py sssssssssssssssss [ 71%] test/py/tests/test_ut.py ss....FFF..............s.........s............. [ 77%] ........................................................................ [ 86%] .............................................................. [ 94%] test/py/tests/test_vbe.py s [ 94%] test/py/tests/test_vbe_vpl.py s [ 94%] test/py/tests/test_vboot.py ssssssssssssssssssssssssssssss [ 98%] test/py/tests/test_vpl.py s [ 98%] test/py/tests/test_xxd.py s [ 98%] test/py/tests/test_zynq_secure.py sssss [ 99%] test/py/tests/test_zynqmp_rpu.py sss [ 99%] test/py/tests/test_zynqmp_secure.py ss [100%] =================================== FAILURES =================================== _____________________ test_ut[ut_cmd_cmd_test_part_number] _____________________ test/py/tests/test_ut.py:659: in test_ut assert output.endswith('failures: 0') E assert False E + where False = <built-in method endswith of str object at 0xffff4d938b70>('failures: 0') E + where <built-in method endswith of str object at 0xffff4d938b70> = 'Test: part_number: part.c\r\r\ntest/cmd/part.c:46, setup_gpt_partitions(): mmc_dev_num == blk_get_device_by_str("mmc"...mber\' failed 2 times\r\r\nTests run: 1, 1 ms, average: 1 ms, failures: 2\r\r\nexit not allowed from main input shell.'.endswith ----------------------------- Captured stdout call ----------------------------- => ut cmd cmd_test_part_number Test: part_number: part.c test/cmd/part.c:46, setup_gpt_partitions(): mmc_dev_num == blk_get_device_by_str("mmc", dev_str, &mmc_dev_desc): Expected 0x2 (2), got 0xffffffed (-19) test/cmd/part.c:68, cmd_test_part_number(): 0 == setup_gpt_partitions(uts, mmc_dev_num): Expected 0x0 (0), got 0x1 (1) Test 'part_number' failed 2 times Tests run: 1, 1 ms, average: 1 ms, failures: 2 exit not allowed from main input shell. => ______________________ test_ut[ut_cmd_cmd_test_part_size] ______________________ test/py/tests/test_ut.py:659: in test_ut assert output.endswith('failures: 0') E assert False E + where False = <built-in method endswith of str object at 0xffff4e277dd0>('failures: 0') E + where <built-in method endswith of str object at 0xffff4e277dd0> = 'Test: part_size: part.c\r\r\ntest/cmd/part.c:46, setup_gpt_partitions(): mmc_dev_num == blk_get_device_by_str("mmc", ...size\' failed 2 times\r\r\nTests run: 1, 1 ms, average: 1 ms, failures: 2\r\r\nexit not allowed from main input shell.'.endswith ---------------------------- Captured stdout setup ----------------------------- +u-boot-test-reset qemu-riscv32 na U-Boot 2026.07-rc1-g33961ee12e98 (Apr 29 2026 - 08:21:21 +0000) CPU: riscv Model: riscv-virtio,qemu DRAM: 1 GiB using memory 0xbeed9000-0xbf6f9000 for malloc() Core: 27 devices, 13 uclasses, devicetree: board Flash: 32 MiB Loading Environment from nowhere... OK In: serial,usbkbd Out: serial,vidconsole Err: serial,vidconsole No USB controllers found Net: eth0: virtio-net#0 [?25h [2K Hit any key to stop autoboot: 2[2K Hit any key to stop autoboot: 0 => ----------------------------- Captured stdout call ----------------------------- => ut cmd cmd_test_part_size Test: part_size: part.c test/cmd/part.c:46, setup_gpt_partitions(): mmc_dev_num == blk_get_device_by_str("mmc", dev_str, &mmc_dev_desc): Expected 0x2 (2), got 0xffffffed (-19) test/cmd/part.c:162, cmd_test_part_size(): 0 == setup_gpt_partitions(uts, mmc_dev_num): Expected 0x0 (0), got 0x1 (1) Test 'part_size' failed 2 times Tests run: 1, 1 ms, average: 1 ms, failures: 2 exit not allowed from main input shell. => _____________________ test_ut[ut_cmd_cmd_test_part_start] ______________________ test/py/tests/test_ut.py:659: in test_ut assert output.endswith('failures: 0') E assert False E + where False = <built-in method endswith of str object at 0xffff4d9392f0>('failures: 0') E + where <built-in method endswith of str object at 0xffff4d9392f0> = 'Test: part_start: part.c\r\r\ntest/cmd/part.c:46, setup_gpt_partitions(): mmc_dev_num == blk_get_device_by_str("mmc",...tart\' failed 2 times\r\r\nTests run: 1, 2 ms, average: 2 ms, failures: 2\r\r\nexit not allowed from main input shell.'.endswith ---------------------------- Captured stdout setup ----------------------------- +u-boot-test-reset qemu-riscv32 na U-Boot 2026.07-rc1-g33961ee12e98 (Apr 29 2026 - 08:21:21 +0000) CPU: riscv Model: riscv-virtio,qemu DRAM: 1 GiB using memory 0xbeed9000-0xbf6f9000 for malloc() Core: 27 devices, 13 uclasses, devicetree: board Flash: 32 MiB Loading Environment from nowhere... OK In: serial,usbkbd Out: serial,vidconsole Err: serial,vidconsole No USB controllers found Net: eth0: virtio-net#0 [?25h [2K Hit any key to stop autoboot: 2[2K Hit any key to stop autoboot: 0 => ----------------------------- Captured stdout call ----------------------------- => ut cmd cmd_test_part_start Test: part_start: part.c test/cmd/part.c:46, setup_gpt_partitions(): mmc_dev_num == blk_get_device_by_str("mmc", dev_str, &mmc_dev_desc): Expected 0x2 (2), got 0xffffffed (-19) test/cmd/part.c:107, cmd_test_part_start(): 0 == setup_gpt_partitions(uts, mmc_dev_num): Expected 0x0 (0), got 0x1 (1) Test 'part_start' failed 2 times Tests run: 1, 2 ms, average: 2 ms, failures: 2 exit not allowed from main input shell. => -------------- generated xml file: /tmp/qemu-riscv32/results.xml --------------- =========================== short test summary info ============================ SKIPPED [389] test/py/conftest.py:698: board "qemu-riscv32" not supported SKIPPED [17] test/py/conftest.py:721: .config features "cmd_mmc" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "cmd_avb" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "optee_ta_avb" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "cmd_bootmenu" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "cmd_bootstage" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "bootstage_stash" not enabled SKIPPED [1] test/py/tests/test_dfu.py:114: got empty parameter set for (env__usb_dev_port) SKIPPED [2] test/py/conftest.py:721: .config features "cmd_efidebug" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "cmd_wget" not enabled SKIPPED [1] test/py/tests/test_efi_loader.py:133: No env__efi_loader_grub_file binary specified in environment SKIPPED [1] test/py/conftest.py:721: .config features "efi_tcg2_protocol" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "cmd_nvedit_info" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "fit_signature" not enabled SKIPPED [13] test/py/conftest.py:721: .config features "cmd_fpga" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "cmd_fpga_loadp" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "cmd_fpga_loadbp" not enabled SKIPPED [11] test/py/conftest.py:721: .config features "cmd_fpga_loadmk" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "cmd_fpga_load_secure" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "cmd_bloblist" not enabled SKIPPED [7] test/py/conftest.py:721: .config features "cmd_gpio" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "cmd_gpt_rename" not enabled SKIPPED [5] test/py/conftest.py:721: .config features "cmd_i2c" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "cmd_log" not enabled SKIPPED [3] test/py/conftest.py:721: .config features "phylib" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "cmd_memtest" not enabled SKIPPED [6] test/py/conftest.py:721: .config features "cmd_mii" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "ext4_write" not enabled SKIPPED [1] test/py/tests/test_mmc_rd.py:134: got empty parameter set for (env__mmc_dev_config) SKIPPED [1] test/py/tests/test_mmc_rd.py:155: got empty parameter set for (env__mmc_dev_config) SKIPPED [1] test/py/tests/test_mmc_rd.py:181: got empty parameter set for (env__mmc_dev_config) SKIPPED [1] test/py/tests/test_mmc_rd.py:218: got empty parameter set for (env__mmc_rd_config) SKIPPED [1] test/py/tests/test_mmc_wr.py:38: got empty parameter set for (env__mmc_wr_config) SKIPPED [1] test/py/conftest.py:721: .config features "cmd_dhcp6" not enabled SKIPPED [2] test/py/tests/test_net.py:214: No static network configuration is defined SKIPPED [1] test/py/conftest.py:721: .config features "IPV6_ROUTER_DISCOVERY" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "cmd_nfs" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "cmd_tftpput" not enabled SKIPPED [1] test/py/tests/test_net_boot.py:196: TFTP boot test is not enabled! SKIPPED [1] test/py/tests/test_net_boot.py:252: PXE boot test is not enabled! SKIPPED [1] test/py/tests/test_net_boot.py:303: PXE boot test is not enabled! SKIPPED [1] test/py/tests/test_net_boot.py:382: PXE boot test is not enabled! SKIPPED [1] test/py/conftest.py:721: .config features "cmd_optee_rpmb" not enabled SKIPPED [3] test/py/conftest.py:721: .config features "cmd_pinmux" not enabled SKIPPED [3] test/py/conftest.py:721: .config features "cmd_pstore" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "cmd_qfw" not enabled SKIPPED [2] test/py/tests/test_reset.py:37: bootmode cannot be determined SKIPPED [1] test/py/tests/test_saveenv.py:41: bootmode cannot be determined SKIPPED [1] test/py/conftest.py:721: .config features "cmd_scp03" not enabled SKIPPED [4] test/py/tests/test_scsi.py:25: No SCSI device to test SKIPPED [1] test/py/conftest.py:721: .config features "semihosting" not enabled SKIPPED [1] test/py/tests/test_sf.py:167: got empty parameter set for (env__sf_config) SKIPPED [1] test/py/tests/test_sf.py:174: got empty parameter set for (env__sf_config) SKIPPED [1] test/py/tests/test_sf.py:186: got empty parameter set for (env__sf_config) SKIPPED [1] test/py/tests/test_sf.py:209: got empty parameter set for (env__sf_config) SKIPPED [1] test/py/conftest.py:721: .config features "cmd_smbios" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "qfw_smbios" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "sandbox" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "generate_smbios_table_verbose" not enabled SKIPPED [7] test/py/conftest.py:721: .config features "cmd_sf" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "spl_unit_test" not enabled SKIPPED [1] test/py/tests/test_spl.py: got empty parameter set for (ut_spl_subtest) SKIPPED [1] test/py/conftest.py:721: .config features "cmd_stackprotector_test" not enabled SKIPPED [9] test/py/conftest.py:721: .config features "cmd_tpm_v2" not enabled SKIPPED [1] test/py/tests/test_ums.py:76: got empty parameter set for (env__usb_dev_port) SKIPPED [14] test/py/tests/test_usb.py:25: USB device test is not enabled SKIPPED [3] test/py/conftest.py:721: .config features "cmd_ext4_write" not enabled SKIPPED [1] test/py/conftest.py:721: .config features "ut_dm" not enabled SKIPPED [1] test/py/tests/test_ut.py:665: Test common test_event_probe has 1 skipped sub-test(s). SKIPPED [1] test/py/tests/test_ut.py:665: Test fdt fdt_test_apply has 1 skipped sub-test(s). SKIPPED [1] test/py/tests/test_vpl.py: got empty parameter set for (ut_vpl_subtest) SKIPPED [3] test/py/conftest.py:721: .config features "cmd_zynq_aes" not enabled SKIPPED [2] test/py/conftest.py:721: .config features "cmd_zynq_rsa" not enabled SKIPPED [5] test/py/conftest.py:721: .config features "cmd_zynqmp" not enabled FAILED test/py/tests/test_ut.py::test_ut[ut_cmd_cmd_test_part_number] - assert False + where False = <built-in method endswith of str object at 0xffff4d938b70>('failures: 0') + where <built-in method endswith of str object at 0xffff4d938b70> = 'Test: part_number: part.c\r\r\ntest/cmd/part.c:46, setup_gpt_partitions(): mmc_dev_num == blk_get_device_by_str("mmc"...mber\' failed 2 times\r\r\nTests run: 1, 1 ms, average: 1 ms, failures: 2\r\r\nexit not allowed from main input shell.'.endswith FAILED test/py/tests/test_ut.py::test_ut[ut_cmd_cmd_test_part_size] - assert False + where False = <built-in method endswith of str object at 0xffff4e277dd0>('failures: 0') + where <built-in method endswith of str object at 0xffff4e277dd0> = 'Test: part_size: part.c\r\r\ntest/cmd/part.c:46, setup_gpt_partitions(): mmc_dev_num == blk_get_device_by_str("mmc", ...size\' failed 2 times\r\r\nTests run: 1, 1 ms, average: 1 ms, failures: 2\r\r\nexit not allowed from main input shell.'.endswith FAILED test/py/tests/test_ut.py::test_ut[ut_cmd_cmd_test_part_start] - assert False + where False = <built-in method endswith of str object at 0xffff4d9392f0>('failures: 0') + where <built-in method endswith of str object at 0xffff4d9392f0> = 'Test: part_start: part.c\r\r\ntest/cmd/part.c:46, setup_gpt_partitions(): mmc_dev_num == blk_get_device_by_str("mmc",...tart\' failed 2 times\r\r\nTests run: 1, 2 ms, average: 2 ms, failures: 2\r\r\nexit not allowed from main input shell.'.endswith ========== 3 failed, 220 passed, 572 skipped, 2 deselected in 32.37s =========== +u-boot-test-release qemu-riscv32 na section_end:1777450922:step_script [0Ksection_start:1777450922:after_script [0K[0K[36;1mRunning after_script[0;m[0;m [32;1mRunning after script...[0;m [32;1m$ cp -v /tmp/${TEST_PY_BD}/*.{html,css,xml} .[0;m cp: cannot stat '/tmp/qemu-riscv32/*.html': No such file or directory cp: cannot stat '/tmp/qemu-riscv32/*.css': No such file or directory cp: cannot stat '/tmp/qemu-riscv32/*.xml': No such file or directory section_end:1777450922:after_script [0K[0;33mWARNING: after_script failed, but job will continue unaffected: exit code 1[0;m section_start:1777450922:upload_artifacts_on_failure [0K[0K[36;1mUploading artifacts for failed job[0;m[0;m [32;1mUploading artifacts...[0;m [0;33mWARNING: *.html: no matching files. Ensure that the artifact path is relative to the working directory (/builds/u-boot/custodians/u-boot-stm)[0;m [0;33mWARNING: *.css: no matching files. Ensure that the artifact path is relative to the working directory (/builds/u-boot/custodians/u-boot-stm)[0;m [0;33mWARNING: results.xml: no matching files. Ensure that the artifact path is relative to the working directory (/builds/u-boot/custodians/u-boot-stm)[0;m [31;1mERROR: No files to upload [0;m [32;1mUploading artifacts...[0;m [0;33mWARNING: results.xml: no matching files. Ensure that the artifact path is relative to the working directory (/builds/u-boot/custodians/u-boot-stm)[0;m [31;1mERROR: No files to upload [0;m section_end:1777450922:upload_artifacts_on_failure [0Ksection_start:1777450922:cleanup_file_variables [0K[0K[36;1mCleaning up project directory and file based variables[0;m[0;m section_end:1777450922:cleanup_file_variables [0K[31;1mERROR: Job failed: exit code 1 [0;m