[U-Boot] [PATCH 6/6] travis-ci: compile with buildman when running test/py

Heiko Schocher hs at denx.de
Thu Oct 27 08:13:19 CEST 2016


Hello Stephen,

Am 26.10.2016 um 19:05 schrieb Stephen Warren:
> From: Stephen Warren <swarren at nvidia.com>
>
> Use buildman to compile any U-Boot binary tested by test/py. This
> re-uses all the work done elsewhere to make buildman work within
> Travis-CI, in particular related to toolchain downloading and buildman
> config file creation.
>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---
>   .travis.yml | 81 ++++++++++++++++++++++++++++++++++++++++---------------------
>   1 file changed, 54 insertions(+), 27 deletions(-)

Thanks!

Reviewed-by: Heiko Schocher <hs at denx.de>

bye,
Heiko

>
> diff --git a/.travis.yml b/.travis.yml
> index a537f0e34dd3..0faf03b11011 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -69,6 +69,9 @@ before_script:
>     - if [[ "${TOOLCHAIN}" == *xtensa* ]]; then ./tools/buildman/buildman --fetch-arch xtensa ; fi
>
>   script:
> + # Comments must be outside the command strings below, or the Travis parser
> + # will get confused.
> + #
>    # Exit code 129 means warnings only.
>    - if [[ "${BUILDMAN}" != "" ]]; then
>        set +e;
> @@ -78,6 +81,15 @@ script:
>          exit $ret;
>        fi;
>      fi
> + # "not a_test_which_does_not_exist" is a dummy -k parameter which will
> + # never prevent any test from running. That way, we can always pass
> + # "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom
> + # value.
> + - if [[ "${TEST_PY_BD}" != "" ]]; then
> +     ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
> +       -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
> +       --build-dir `cd .. && pwd`/.bm-work/${TEST_PY_BD};
> +   fi
>
>   matrix:
>     include:
> @@ -178,38 +190,53 @@ matrix:
>           - JOB="sloccount"
>         script:
>           - sloccount .
> +
>       # test/py
>       - env:
> -        - JOB="test.py sandbox"
> -      script:
> -        - ./test/py/test.py --bd sandbox --build
> +        - TEST_PY_BD="sandbox"
> +          BUILDMAN="^sandbox$"
> +          TOOLCHAIN="x86_64"
>       - env:
> -        - JOB="test.py ARM"
> -        - CROSS_COMPILE="/usr/bin/arm-linux-gnueabihf-"
> -      script:
> -        - ./test/py/test.py --bd vexpress_ca15_tc2 --id qemu --build;
> -          ./test/py/test.py --bd vexpress_ca9x4 --id qemu --build;
> -          ./test/py/test.py --bd integratorcp_cm926ejs --id qemu --build;
> +        - TEST_PY_BD="vexpress_ca15_tc2"
> +          TEST_PY_ID="--id qemu"
> +          BUILDMAN="^vexpress_ca15_tc2$"
>       - env:
> -        - JOB="test.py MIPS"
> -        - TOOLCHAIN="mips"
> -          CROSS_COMPILE="${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/mips-linux/bin/mips-linux-"
> -      script:
> -        - ./test/py/test.py --bd qemu_mips --build -k 'not sleep';
> -          ./test/py/test.py --bd qemu_mipsel --build -k 'not sleep';
> -          ./test/py/test.py --bd qemu_mips64 --build -k 'not sleep';
> -          ./test/py/test.py --bd qemu_mips64el --build -k 'not sleep';
> +        - TEST_PY_BD="vexpress_ca9x4"
> +          TEST_PY_ID="--id qemu"
> +          BUILDMAN="^vexpress_ca9x4$"
>       - env:
> -        - JOB="test.py PowerPC"
> -        - CROSS_COMPILE="/usr/bin/powerpc-linux-gnu-"
> -      script:
> -        - ./test/py/test.py --bd qemu-ppce500 --build -k 'not sleep'
> +        - TEST_PY_BD="integratorcp_cm926ejs"
> +          TEST_PY_ID="--id qemu"
> +          BUILDMAN="^integratorcp_cm926ejs$"
>       - env:
> -        - JOB="test.py x86-64"
> -        - TOOLCHAIN="x86_64"
> -          BUILD_ROM=yes
> -          CROSS_COMPILE="${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-"
> -      script:
> -        - ./test/py/test.py --bd qemu-x86 --build -k 'not sleep'
> +        - TEST_PY_BD="qemu_mips"
> +          TEST_PY_TEST_SPEC="not sleep"
> +          BUILDMAN="^qemu_mips$"
> +          TOOLCHAIN="mips"
> +    - env:
> +        - TEST_PY_BD="qemu_mipsel"
> +          TEST_PY_TEST_SPEC="not sleep"
> +          BUILDMAN="^qemu_mipsel$"
> +          TOOLCHAIN="mips"
> +    - env:
> +        - TEST_PY_BD="qemu_mips64"
> +          TEST_PY_TEST_SPEC="not sleep"
> +          BUILDMAN="^qemu_mips64$"
> +          TOOLCHAIN="mips"
> +    - env:
> +        - TEST_PY_BD="qemu_mips64el"
> +          TEST_PY_TEST_SPEC="not sleep"
> +          BUILDMAN="^qemu_mips64el$"
> +          TOOLCHAIN="mips"
> +    - env:
> +        - TEST_PY_BD="qemu-ppce500"
> +          TEST_PY_TEST_SPEC="not sleep"
> +          BUILDMAN="^qemu-ppce500$"
> +    - env:
> +        - TEST_PY_BD="qemu-x76"
> +          TEST_PY_TEST_SPEC="not sleep"
> +          BUILDMAN="^qemu-x86$"
> +          TOOLCHAIN="x86_64"
> +          BUILD_ROM="yes"
>
>   # TODO make it perfect ;-r
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list