Felix Singer has uploaded this change for review.

View Change

test build script

Signed-off-by: Felix Singer <felixsinger@posteo.net>
Change-Id: I53e688a2992faab9344adeb77bc312889984d8ed
---
M test_build.sh
1 file changed, 79 insertions(+), 2 deletions(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/65/68065/1
diff --git a/test_build.sh b/test_build.sh
index 3ab5319..aa93682 100755
--- a/test_build.sh
+++ b/test_build.sh
@@ -1,4 +1,71 @@
-#!/bin/sh
+#!/usr/bin/env sh
set -e

-make CONFIG_EVERYTHING=yes WARNERROR=yes
+# This script will only work on Linux with all dependencies installed.
+
+is_scan_build_env=0
+
+make_programmer_opts="INTERNAL SERPROG RAYER_SPI PONY_SPI NIC3COM \
+ GFXNVIDIA SATASII ATAHPT ATAVIA ATAPROMISE FT2232_SPI USBBLASTER_SPI MSTARDDC_SPI \
+ PICKIT2_SPI STLINKV3_SPI DUMMY \
+ DRKAISER NICREALTEK NICNATSEMI NICINTEL NICINTEL_SPI NICINTEL_EEPROM OGP_SPI \
+ BUSPIRATE_SPI DEDIPROG DEVELOPERBOX_SPI SATAMV LINUX_MTD LINUX_SPI IT8212 \
+ CH341A_SPI DIGILENT_SPI JLINK_SPI"
+
+meson_programmer_opts="all auto group_ftdi group_i2c group_jlink group_pci group_serial group_usb \
+ atahpt atapromise atavia buspirate_spi ch341a_spi dediprog developerbox_spi \
+ digilent_spi drkaiser dummy ft2232_spi gfxnvidia internal it8212 \
+ jlink_spi linux_mtd linux_spi parade_lspcon mediatek_i2c_spi mstarddc_spi \
+ nic3com nicintel nicintel_eeprom nicintel_spi nicnatsemi nicrealtek \
+ ogp_spi pickit2_spi pony_spi raiden_debug_spi rayer_spi realtek_mst_i2c_spi \
+ satamv satasii serprog stlinkv3_spi usbblaster_spi"
+
+
+if [ "$(basename "${CC}")" = "ccc-analyzer" ] || [ -n "${COVERITY_OUTPUT}" ]; then
+ is_scan_build_env=1
+fi
+
+
+build_make () {
+ make clean
+ make -j $(nproc) CONFIG_EVERYTHING=yes
+
+ # In case of clang analyzer we don't want to run it on
+ # each programmer individually. Thus, just return here.
+ if [ ${is_scan_build_env} -eq 1 ]; then
+ return
+ fi
+
+ for option in ${make_programmer_opts}; do
+ echo "Building ${option}"
+ make clean
+ make -j $(nproc) CONFIG_NOTHING=yes CONFIG_${option}=yes
+ done
+}
+
+
+build_meson () {
+ build_dir=out
+ meson_opts="-Dtests=enabled"
+ ninja_opts="-j $(nproc)"
+
+ rm -rf ${build_dir}
+
+ for programmer in ${meson_programmer_opts}; do
+ programmer_dir="${build_dir}/${programmer}"
+
+ # In case of clang analyzer we don't want to run it on
+ # each programmer individually. Thus, just return here.
+ if [ ${is_scan_build_env} -eq 1 ] && [ "${programmer}" != "all" ]; then
+ return
+ fi
+
+ meson ${programmer_dir} ${meson_opts} -Dprogrammer=${programmer}
+ ninja ${ninja_opts} -C ${programmer_dir}
+ ninja ${ninja_opts} -C ${programmer_dir} test
+ done
+}
+
+
+build_make
+#build_meson

To view, visit change 68065. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: 1.2.x
Gerrit-Change-Id: I53e688a2992faab9344adeb77bc312889984d8ed
Gerrit-Change-Number: 68065
Gerrit-PatchSet: 1
Gerrit-Owner: Felix Singer <felixsinger@posteo.net>
Gerrit-MessageType: newchange