addons:
apt:
+ update: true
sources:
- - ubuntu-toolchain-r-test
- - llvm-toolchain-bionic-7
+ - sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
+ key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- autopoint
- cppcheck
- build-essential
- libsdl2-dev
- python
- - python-pyelftools
- python3-sphinx
- python3-virtualenv
- python3-pip
+ - python3-pygit2
- swig
- libpython-dev
- iasl
- liblz4-tool
- lzma-alone
- libisl15
- - clang-7
+ - clang-10
- srecord
- graphviz
- coreutils
- mtools
- openssl
- sbsigntool
+ - fakeroot
+ - mtd-utils
+ - squashfs-tools
install:
# Clone uboot-test-hooks
- ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
# prepare buildman environment
- echo -e "[toolchain]\nroot = /usr" > ~/.buildman
- - echo -e "arc = /tmp/arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
+ - echo -e "arc = /tmp/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
- echo -e "\n[toolchain-alias]\nsh = sh2" >> ~/.buildman
- echo -e "x86 = i386" >> ~/.buildman;
- echo -e "riscv = riscv64" >> ~/.buildman;
./tools/buildman/buildman --fetch-arch i386;
fi
- if [[ "${TOOLCHAIN}" == arc ]]; then
- wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2018.09-release/arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install.tar.gz &&
- tar -C /tmp -xf arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install.tar.gz;
+ wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2019.09-release/arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz &&
+ tar -C /tmp -xf arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz;
fi
- if [[ "${TOOLCHAIN}" == "nds32" ]]; then
wget https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz &&
popd;
fi
- if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then
- wget -O - https://github.com/riscv/opensbi/releases/download/v0.6/opensbi-0.6-rv32-bin.tar.xz | tar -C /tmp -xJ;
- export OPENSBI=/tmp/opensbi-0.6-rv32-bin/platform/qemu/virt/firmware/fw_dynamic.bin;
+ wget -O - https://github.com/riscv/opensbi/releases/download/v0.8/opensbi-0.8-rv-bin.tar.xz | tar -C /tmp -xJ;
+ export OPENSBI=/tmp/opensbi-0.8-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin;
fi
- if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]]; then
- wget -O - https://github.com/riscv/opensbi/releases/download/v0.6/opensbi-0.6-rv64-bin.tar.xz | tar -C /tmp -xJ;
- export OPENSBI=/tmp/opensbi-0.6-rv64-bin/platform/qemu/virt/firmware/fw_dynamic.bin;
+ wget -O - https://github.com/riscv/opensbi/releases/download/v0.8/opensbi-0.8-rv-bin.tar.xz | tar -C /tmp -xJ;
+ export OPENSBI=/tmp/opensbi-0.8-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin;
fi
script:
#
# Build a selection of boards if TEST_PY_BD is empty
- if [[ "${BUILDMAN}" != "" ]]; then
- tools/buildman/buildman -P -E -W ${BUILDMAN} ${OVERRIDE};
+ ret=0
+ tools/buildman/buildman -P -E -W ${BUILDMAN} ${OVERRIDE} || ret=$?;
if [[ $ret -ne 0 ]]; then
tools/buildman/buildman -seP ${BUILDMAN};
exit $ret;
virtualenv -p /usr/bin/python3 /tmp/venv;
. /tmp/venv/bin/activate;
pip install -r test/py/requirements.txt;
- ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
+ ./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" || exit;
if [[ -n "${TEST_PY_TOOLS}" ]]; then
export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
+ pip install pyelftools &&
./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test &&
- ./tools/patman/patman --test &&
+ ./tools/patman/patman test &&
./tools/buildman/buildman -t &&
./tools/dtoc/dtoc -t &&
make testconfig;
script:
- make tools-only_config envtools -j$(nproc)
+ - name: "Run tests for Nokia RX-51 (aka N900)"
+ script:
+ - export PATH=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/:$PATH
+ - test/nokia_rx51_test.sh
+
# test/py
- name: "test/py sandbox"
env:
- name: "test/py sandbox with clang"
env:
- TEST_PY_BD="sandbox"
- OVERRIDE="-O clang-7"
+ OVERRIDE="-O clang-10"
- name: "test/py sandbox_spl"
env:
- TEST_PY_BD="sandbox_spl"
- TEST_PY_TEST_SPEC="test_ofplatdata or test_handoff"
+ TEST_PY_TEST_SPEC="test_ofplatdata or test_handoff or test_spl"
TOOLCHAIN="i386"
TEST_PY_TOOLS="yes"
- name: "test/py sandbox_flattree"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="mips64el-softmmu"
TOOLCHAIN="mips"
+ - name: "test/py qemu-malta"
+ env:
+ - TEST_PY_BD="malta"
+ TEST_PY_TEST_SPEC="not sleep and not efi"
+ TEST_PY_ID="--id qemu"
+ QEMU_TARGET="mips-softmmu"
+ TOOLCHAIN="mips"
+ - name: "test/py qemu-maltael"
+ env:
+ - TEST_PY_BD="maltael"
+ TEST_PY_TEST_SPEC="not sleep and not efi"
+ TEST_PY_ID="--id qemu"
+ QEMU_TARGET="mipsel-softmmu"
+ TOOLCHAIN="mips"
+ - name: "test/py qemu-malta64"
+ env:
+ - TEST_PY_BD="malta64"
+ TEST_PY_TEST_SPEC="not sleep and not efi"
+ TEST_PY_ID="--id qemu"
+ QEMU_TARGET="mips64-softmmu"
+ TOOLCHAIN="mips"
+ - name: "test/py qemu-malta64el"
+ env:
+ - TEST_PY_BD="malta64el"
+ TEST_PY_TEST_SPEC="not sleep and not efi"
+ TEST_PY_ID="--id qemu"
+ QEMU_TARGET="mips64el-softmmu"
+ TOOLCHAIN="mips"
- name: "test/py qemu-ppce500"
env:
- TEST_PY_BD="qemu-ppce500"
QEMU_TARGET="x86_64-softmmu"
TOOLCHAIN="i386"
BUILD_ROM="yes"
+ - name: "test/py r2dplus_i82557c"
+ env:
+ - TEST_PY_BD="r2dplus"
+ TEST_PY_ID="--id i82557c_qemu"
+ QEMU_TARGET="sh4-softmmu"
+ BUILDMAN="sh -x arm"
+ TOOLCHAIN="sh"
+ - name: "test/py r2dplus_pcnet"
+ env:
+ - TEST_PY_BD="r2dplus"
+ TEST_PY_ID="--id pcnet_qemu"
+ QEMU_TARGET="sh4-softmmu"
+ BUILDMAN="sh -x arm"
+ TOOLCHAIN="sh"
+ - name: "test/py r2dplus_rtl8139"
+ env:
+ - TEST_PY_BD="r2dplus"
+ TEST_PY_ID="--id rtl8139_qemu"
+ QEMU_TARGET="sh4-softmmu"
+ BUILDMAN="sh -x arm"
+ TOOLCHAIN="sh"
+ - name: "test/py r2dplus_tulip"
+ env:
+ - TEST_PY_BD="r2dplus"
+ TEST_PY_ID="--id tulip_qemu"
+ QEMU_TARGET="sh4-softmmu"
+ BUILDMAN="sh -x arm"
+ TOOLCHAIN="sh"
- name: "test/py xilinx_zynq_virt"
env:
- TEST_PY_BD="xilinx_zynq_virt"