mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-12 06:12:58 +00:00
a21e112357
Add M5208EVBE board to CI. This does not use default config due to limitations of QEMU emulation, instead the timer is switched from DMA timer to PIT timer and RAMBAR accesses are inhibited. Local QEMU launch command is as follows: $ qemu-system-m68k -nographic -machine mcf5208evb -cpu m5208 -bios u-boot.bin Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Acked-by: Angelo Dureghello <angelo@kernel-space.org>
498 lines
15 KiB
YAML
498 lines
15 KiB
YAML
# SPDX-License-Identifier: GPL-2.0+
|
|
|
|
variables:
|
|
DEFAULT_TAG: ""
|
|
MIRROR_DOCKER: docker.io
|
|
|
|
default:
|
|
tags:
|
|
- ${DEFAULT_TAG}
|
|
|
|
# Grab our configured image. The source for this is found
|
|
# in the u-boot tree at tools/docker/Dockerfile
|
|
image: ${MIRROR_DOCKER}/trini/u-boot-gitlab-ci-runner:jammy-20230308-04Apr2023
|
|
|
|
# We run some tests in different order, to catch some failures quicker.
|
|
stages:
|
|
- testsuites
|
|
- test.py
|
|
- world build
|
|
|
|
.buildman_and_testpy_template: &buildman_and_testpy_dfn
|
|
stage: test.py
|
|
before_script:
|
|
# Clone uboot-test-hooks
|
|
- git config --global --add safe.directory "${CI_PROJECT_DIR}"
|
|
- git clone --depth=1 https://source.denx.de/u-boot/u-boot-test-hooks /tmp/uboot-test-hooks
|
|
- ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
|
|
- ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
|
|
- grub-mkimage --prefix="" -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
|
|
- grub-mkimage --prefix="" -o ~/grub_x64.efi -O x86_64-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
|
|
- if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then
|
|
wget -O - https://github.com/riscv/opensbi/releases/download/v0.9/opensbi-0.9-rv-bin.tar.xz | tar -C /tmp -xJ;
|
|
export OPENSBI=/tmp/opensbi-0.9-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin;
|
|
fi
|
|
- if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]] || [[ "${TEST_PY_BD}" == "sifive_unleashed" ]]; then
|
|
wget -O - https://github.com/riscv/opensbi/releases/download/v0.9/opensbi-0.9-rv-bin.tar.xz | tar -C /tmp -xJ;
|
|
export OPENSBI=/tmp/opensbi-0.9-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin;
|
|
fi
|
|
|
|
after_script:
|
|
- cp -v /tmp/${TEST_PY_BD}/*.{html,css} .
|
|
- rm -rf /tmp/uboot-test-hooks /tmp/venv
|
|
script:
|
|
# If we've been asked to use clang only do one configuration.
|
|
- export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
|
|
- echo BUILD_ENV ${BUILD_ENV}
|
|
- if [ -n "${BUILD_ENV}" ]; then
|
|
export ${BUILD_ENV};
|
|
fi
|
|
- tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e
|
|
--board ${TEST_PY_BD} ${OVERRIDE}
|
|
- cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/
|
|
- cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/
|
|
- cp /opt/grub/grubriscv64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv64.efi
|
|
- cp /opt/grub/grubaa64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi
|
|
- cp /opt/grub/grubarm.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi
|
|
# create sdcard / spi-nor images for sifive unleashed using genimage
|
|
- 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
|
|
- if [[ "${TEST_PY_BD}" == "coreboot" ]]; then
|
|
wget -O -
|
|
"https://drive.google.com/uc?id=1x6nrtWIyIRPLS2cQBwYTnT2TbOI8UjmM&export=download" |
|
|
xz -dc >${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom;
|
|
wget -O -
|
|
"https://drive.google.com/uc?id=149Cz-5SZXHNKpi9xg6R_5XITWohu348y&export=download" >
|
|
cbfstool;
|
|
chmod a+x cbfstool;
|
|
./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
|
|
- virtualenv -p /usr/bin/python3 /tmp/venv
|
|
- . /tmp/venv/bin/activate
|
|
- pip install -r test/py/requirements.txt
|
|
# "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
|
|
- export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
|
|
export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
|
|
./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID}
|
|
${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
|
|
--build-dir "$UBOOT_TRAVIS_BUILD_DIR"
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- "*.html"
|
|
- "*.css"
|
|
expire_in: 1 week
|
|
|
|
build all 32bit ARM platforms:
|
|
stage: world build
|
|
script:
|
|
- ret=0;
|
|
git config --global --add safe.directory "${CI_PROJECT_DIR}";
|
|
./tools/buildman/buildman -o /tmp -PEWM arm -x aarch64 || ret=$?;
|
|
if [[ $ret -ne 0 ]]; then
|
|
./tools/buildman/buildman -o /tmp -seP;
|
|
exit $ret;
|
|
fi;
|
|
|
|
build all 64bit ARM platforms:
|
|
stage: world build
|
|
script:
|
|
- virtualenv -p /usr/bin/python3 /tmp/venv
|
|
- . /tmp/venv/bin/activate
|
|
- ret=0;
|
|
git config --global --add safe.directory "${CI_PROJECT_DIR}";
|
|
./tools/buildman/buildman -o /tmp -PEWM aarch64 || ret=$?;
|
|
if [[ $ret -ne 0 ]]; then
|
|
./tools/buildman/buildman -o /tmp -seP;
|
|
exit $ret;
|
|
fi;
|
|
|
|
build all PowerPC platforms:
|
|
stage: world build
|
|
script:
|
|
- ret=0;
|
|
git config --global --add safe.directory "${CI_PROJECT_DIR}";
|
|
./tools/buildman/buildman -o /tmp -P -E -W powerpc || ret=$?;
|
|
if [[ $ret -ne 0 ]]; then
|
|
./tools/buildman/buildman -o /tmp -seP;
|
|
exit $ret;
|
|
fi;
|
|
|
|
build all other platforms:
|
|
stage: world build
|
|
script:
|
|
- ret=0;
|
|
git config --global --add safe.directory "${CI_PROJECT_DIR}";
|
|
./tools/buildman/buildman -o /tmp -PEWM -x arm,powerpc || ret=$?;
|
|
if [[ $ret -ne 0 ]]; then
|
|
./tools/buildman/buildman -o /tmp -seP;
|
|
exit $ret;
|
|
fi;
|
|
|
|
check for new CONFIG symbols outside Kconfig:
|
|
stage: testsuites
|
|
script:
|
|
- git config --global --add safe.directory "${CI_PROJECT_DIR}"
|
|
# If grep succeeds and finds a match the test fails as we should
|
|
# have no matches.
|
|
- git grep -E '^#[[:blank:]]*(define|undef)[[:blank:]]*CONFIG_'
|
|
:^doc/ :^arch/arm/dts/ :^scripts/kconfig/lkc.h
|
|
:^include/linux/kconfig.h :^tools/ && exit 1 || exit 0
|
|
|
|
# QA jobs for code analytics
|
|
# static code analysis with cppcheck (we can add --enable=all later)
|
|
cppcheck:
|
|
stage: testsuites
|
|
script:
|
|
- cppcheck -j$(nproc) --force --quiet --inline-suppr .
|
|
|
|
# search for TODO within source tree
|
|
grep TODO/FIXME/HACK:
|
|
stage: testsuites
|
|
script:
|
|
- grep -r TODO .
|
|
- grep -r FIXME .
|
|
# search for HACK within source tree and ignore HACKKIT board
|
|
- grep -r HACK . | grep -v HACKKIT
|
|
|
|
# build documentation
|
|
docs:
|
|
stage: testsuites
|
|
script:
|
|
- virtualenv -p /usr/bin/python3 /tmp/venvhtml
|
|
- . /tmp/venvhtml/bin/activate
|
|
- pip install -r doc/sphinx/requirements.txt
|
|
- make htmldocs
|
|
- make infodocs
|
|
|
|
# some statistics about the code base
|
|
sloccount:
|
|
stage: testsuites
|
|
script:
|
|
- sloccount .
|
|
|
|
# ensure all configs have MAINTAINERS entries
|
|
Check for configs without MAINTAINERS entry:
|
|
stage: testsuites
|
|
script:
|
|
- ./tools/buildman/buildman -R
|
|
|
|
# Ensure host tools build
|
|
Build tools-only:
|
|
stage: testsuites
|
|
script:
|
|
- make tools-only_config tools-only -j$(nproc)
|
|
|
|
# Ensure env tools build
|
|
Build envtools:
|
|
stage: testsuites
|
|
script:
|
|
- make tools-only_config envtools -j$(nproc)
|
|
|
|
Run binman, buildman, dtoc, Kconfig and patman testsuites:
|
|
stage: testsuites
|
|
script:
|
|
- git config --global user.name "GitLab CI Runner";
|
|
git config --global user.email trini@konsulko.com;
|
|
git config --global --add safe.directory "${CI_PROJECT_DIR}";
|
|
export USER=gitlab;
|
|
virtualenv -p /usr/bin/python3 /tmp/venv;
|
|
. /tmp/venv/bin/activate;
|
|
pip install -r test/py/requirements.txt;
|
|
export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl;
|
|
export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
|
|
export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
|
|
set +e;
|
|
./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w
|
|
--board sandbox_spl;
|
|
set -e;
|
|
./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test;
|
|
./tools/buildman/buildman -t;
|
|
./tools/dtoc/dtoc -t;
|
|
./tools/patman/patman test;
|
|
make testconfig
|
|
|
|
Run tests for Nokia RX-51 (aka N900):
|
|
stage: testsuites
|
|
script:
|
|
- mkdir nokia_rx51_tmp;
|
|
ln -s /opt/nokia/u-boot-gen-combined nokia_rx51_tmp/;
|
|
ln -s /opt/nokia/qemu-n900.tar.gz nokia_rx51_tmp/;
|
|
ln -s /opt/nokia/kernel_2.6.28-20103103+0m5_armel.deb nokia_rx51_tmp/;
|
|
ln -s /opt/nokia/libc6_2.5.1-1eglibc27+0m5_armel.deb nokia_rx51_tmp/;
|
|
ln -s /opt/nokia/busybox_1.10.2.legal-1osso30+0m5_armel.deb nokia_rx51_tmp/;
|
|
ln -s /opt/nokia/qemu-system-arm nokia_rx51_tmp/;
|
|
export PATH=/opt/gcc-12.2.0-nolibc/arm-linux-gnueabi/bin:$PATH;
|
|
test/nokia_rx51_test.sh
|
|
|
|
# Check for any pylint regressions
|
|
Run pylint:
|
|
stage: testsuites
|
|
script:
|
|
- git config --global --add safe.directory "${CI_PROJECT_DIR}"
|
|
- pip install -r test/py/requirements.txt
|
|
- pip install asteval pylint==2.12.2 pyopenssl
|
|
- export PATH=${PATH}:~/.local/bin
|
|
- echo "[MASTER]" >> .pylintrc
|
|
- echo "load-plugins=pylint.extensions.docparams" >> .pylintrc
|
|
- export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl
|
|
- set +e
|
|
- ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w
|
|
--board sandbox_spl
|
|
- set -e
|
|
- pylint --version
|
|
- export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"
|
|
- make pylint_err
|
|
|
|
# Check for pre-schema driver model tags
|
|
Check for pre-schema tags:
|
|
stage: testsuites
|
|
script:
|
|
- git config --global --add safe.directory "${CI_PROJECT_DIR}";
|
|
# If grep succeeds and finds a match the test fails as we should
|
|
# have no matches.
|
|
- git grep u-boot,dm- -- '*.dts*' && exit 1 || exit 0
|
|
|
|
# Check we can package the Python tools
|
|
Check packing of Python tools:
|
|
stage: testsuites
|
|
script:
|
|
- make pip
|
|
|
|
# Test sandbox with test.py
|
|
sandbox test.py:
|
|
variables:
|
|
TEST_PY_BD: "sandbox"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
sandbox with clang test.py:
|
|
variables:
|
|
TEST_PY_BD: "sandbox"
|
|
OVERRIDE: "-O clang-16"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
sandbox without LTO test.py:
|
|
variables:
|
|
TEST_PY_BD: "sandbox"
|
|
BUILD_ENV: "NO_LTO=1"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
sandbox_spl test.py:
|
|
variables:
|
|
TEST_PY_BD: "sandbox_spl"
|
|
TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
sandbox_noinst_test.py:
|
|
variables:
|
|
TEST_PY_BD: "sandbox_noinst"
|
|
TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
sandbox_vpl test.py:
|
|
variables:
|
|
TEST_PY_BD: "sandbox_vpl"
|
|
TEST_PY_TEST_SPEC: "vpl or test_spl"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
# Enable tracing and disable LTO, to ensure functions are not elided
|
|
sandbox trace_test.py:
|
|
variables:
|
|
TEST_PY_BD: "sandbox"
|
|
BUILD_ENV: "FTRACE=1 NO_LTO=1"
|
|
TEST_PY_TEST_SPEC: "trace"
|
|
OVERRIDE: "-a CONFIG_TRACE=y -a CONFIG_TRACE_EARLY=y -a CONFIG_TRACE_EARLY_SIZE=0x01000000"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
evb-ast2500 test.py:
|
|
variables:
|
|
TEST_PY_BD: "evb-ast2500"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
evb-ast2600 test.py:
|
|
variables:
|
|
TEST_PY_BD: "evb-ast2600"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
sandbox_flattree test.py:
|
|
variables:
|
|
TEST_PY_BD: "sandbox_flattree"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
vexpress_ca9x4 test.py:
|
|
variables:
|
|
TEST_PY_BD: "vexpress_ca9x4"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
integratorcp_cm926ejs test.py:
|
|
variables:
|
|
TEST_PY_BD: "integratorcp_cm926ejs"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu_arm test.py:
|
|
variables:
|
|
TEST_PY_BD: "qemu_arm"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu_arm64 test.py:
|
|
variables:
|
|
TEST_PY_BD: "qemu_arm64"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu_m68k test.py:
|
|
variables:
|
|
TEST_PY_BD: "M5208EVBE"
|
|
TEST_PY_ID: "--id qemu"
|
|
TEST_PY_TEST_SPEC: "not sleep and not efi"
|
|
OVERRIDE: "-a CONFIG_M68K_QEMU=y -a ~CONFIG_MCFTMR"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu_malta test.py:
|
|
variables:
|
|
TEST_PY_BD: "malta"
|
|
TEST_PY_TEST_SPEC: "not sleep and not efi"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu_maltael test.py:
|
|
variables:
|
|
TEST_PY_BD: "maltael"
|
|
TEST_PY_TEST_SPEC: "not sleep and not efi"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu_malta64 test.py:
|
|
variables:
|
|
TEST_PY_BD: "malta64"
|
|
TEST_PY_TEST_SPEC: "not sleep and not efi"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu_malta64el test.py:
|
|
variables:
|
|
TEST_PY_BD: "malta64el"
|
|
TEST_PY_TEST_SPEC: "not sleep and not efi"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu-ppce500 test.py:
|
|
variables:
|
|
TEST_PY_BD: "qemu-ppce500"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu-riscv32 test.py:
|
|
variables:
|
|
TEST_PY_BD: "qemu-riscv32"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu-riscv64 test.py:
|
|
variables:
|
|
TEST_PY_BD: "qemu-riscv64"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu-riscv32_spl test.py:
|
|
variables:
|
|
TEST_PY_BD: "qemu-riscv32_spl"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu-riscv64_spl test.py:
|
|
variables:
|
|
TEST_PY_BD: "qemu-riscv64_spl"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu-x86 test.py:
|
|
variables:
|
|
TEST_PY_BD: "qemu-x86"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
qemu-x86_64 test.py:
|
|
variables:
|
|
TEST_PY_BD: "qemu-x86_64"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
r2dplus_i82557c test.py:
|
|
variables:
|
|
TEST_PY_BD: "r2dplus"
|
|
TEST_PY_ID: "--id i82557c_qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
r2dplus_pcnet test.py:
|
|
variables:
|
|
TEST_PY_BD: "r2dplus"
|
|
TEST_PY_ID: "--id pcnet_qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
r2dplus_rtl8139 test.py:
|
|
variables:
|
|
TEST_PY_BD: "r2dplus"
|
|
TEST_PY_ID: "--id rtl8139_qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
r2dplus_tulip test.py:
|
|
variables:
|
|
TEST_PY_BD: "r2dplus"
|
|
TEST_PY_ID: "--id tulip_qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
sifive_unleashed_sdcard test.py:
|
|
variables:
|
|
TEST_PY_BD: "sifive_unleashed"
|
|
TEST_PY_ID: "--id sdcard_qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
sifive_unleashed_spi-nor test.py:
|
|
variables:
|
|
TEST_PY_BD: "sifive_unleashed"
|
|
TEST_PY_ID: "--id spi-nor_qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
xilinx_zynq_virt test.py:
|
|
variables:
|
|
TEST_PY_BD: "xilinx_zynq_virt"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
xilinx_versal_virt test.py:
|
|
variables:
|
|
TEST_PY_BD: "xilinx_versal_virt"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
xtfpga test.py:
|
|
variables:
|
|
TEST_PY_BD: "xtfpga"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|
|
|
|
coreboot test.py:
|
|
variables:
|
|
TEST_PY_BD: "coreboot"
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
TEST_PY_ID: "--id qemu"
|
|
<<: *buildman_and_testpy_dfn
|