[U-Boot] [PATCH] travis: Add sandbox/clang-7 support

Tom Rini trini at konsulko.com
Sun Oct 7 18:20:30 UTC 2018


To make testing with clang support easier, add sandbox/clang-7
combination to our testing matrix.  To facilitate this, switch to using
the "sources" method that the travis.yml file supports to list
additional repositories and add the official one for llvm-7.  Due to
buildman not supporting using clang at this time add logic to manually
build a single sandbox configuration in the expected output directory so
that we can still invoke all of our tests.

Cc: Simon Glass <sjg at chromium.org>
Signed-off-by: Tom Rini <trini at konsulko.com>
---
 .travis.yml | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 2b759c9d6865..1c2dfbb8e29b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,6 +10,9 @@ language: c
 
 addons:
   apt:
+    sources:
+    - ubuntu-toolchain-r-test
+    - llvm-toolchain-trusty-7
     packages:
     - cppcheck
     - sloccount
@@ -28,11 +31,8 @@ addons:
     - device-tree-compiler
     - lzop
     - liblz4-tool
-
-before_install:
- - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- - sudo apt-get update -q
- - sudo apt-get install libisl15 -y
+    - libisl15
+    - clang-7
 
 install:
  # Clone uboot-test-hooks
@@ -105,8 +105,16 @@ 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
+ # From buildman, exit code 129 means warnings only.  If we've been asked to
+ # use clang only do one configuration.
+ - if [[ "${TOOLCHAIN}" == "clang" ]]; then
+     ret=0;
+     make O=../.bm-work/${TEST_PY_BD} HOSTCC=clang-7 CC=clang-7 -j$(nproc)
+       KCFLAGS=-Werror sandbox_config all || ret=$?;
+     if [[ $ret -ne 0 ]]; then
+       exit $ret;
+     fi;
+   elif [[ "${BUILDMAN}" != "" ]]; then
      ret=0;
      tools/buildman/buildman -P -E ${BUILDMAN} || ret=$?;
      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
@@ -322,6 +330,11 @@ matrix:
         - TEST_PY_BD="sandbox"
           BUILDMAN="^sandbox$"
           TOOLCHAIN="x86_64"
+    - name: "test/py sandbox with clang"
+      env:
+        - TEST_PY_BD="sandbox"
+          BUILDMAN="^sandbox$"
+          TOOLCHAIN="clang"
     - name: "test/py sandbox_spl"
       env:
         - TEST_PY_BD="sandbox_spl"
-- 
2.7.4



More information about the U-Boot mailing list