#!/bin/bash
|
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
#
|
|
# Filename: lib/misc/regtest.sh
|
|
# Copyright (C) 2008 The OpenSDE Project
|
|
# Copyright (C) 2006 The T2 SDE Project
|
|
#
|
|
# More information can be found in the files COPYING and README.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; version 2 of the License. A copy of the
|
|
# GNU General Public License can be found in the file COPYING.
|
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
# Tiny regression testsuite driver used by some core developers to track
|
|
# breakage, sometimes even automated on a nightly basis.
|
|
# - Rene Rebe
|
|
|
|
set -e
|
|
|
|
embedded=0
|
|
|
|
while [ "$1" ]; do
|
|
case $1 in
|
|
-embedded)
|
|
embedded=1
|
|
;;
|
|
*) echo "Unknown option $1"
|
|
exit
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
mkdir -p regtest
|
|
|
|
build()
|
|
{
|
|
if [ ! -e regtest/$x.finished ]; then
|
|
|
|
mkdir -p config/regtest-$x
|
|
cat > config/regtest-$x/config <<-EOT
|
|
SDECFG_ARCH=$x
|
|
SDECFG_CROSSBUILD=1
|
|
SDECFG_PKG_CCACHE_USEIT=1
|
|
SDECFG_CONTINUE_ON_ERROR_AFTER=0
|
|
SDECFG_ALWAYS_CLEAN=1
|
|
SDECFG_XTRACE=1
|
|
SDECFG_EXPERT=1
|
|
SDECFG_OPT="lazy" # slightly speed up the test builds
|
|
EOT
|
|
if [ $embedded -eq 1 ]; then
|
|
cat >> config/regtest-$x/config <<-EOT
|
|
SDECFG_TARGET='embedded'
|
|
SDECFG_TARGET_EMBEDDED_STYLE='dietlibc'
|
|
SDECFG_PKGSEL='1'
|
|
EOT
|
|
|
|
cat > config/regtest-$x/pkgsel <<-EOT
|
|
O linux2*
|
|
EOT
|
|
fi
|
|
|
|
./scripts/Config -cfg regtest-$x -oldconfig
|
|
./scripts/Download -cfg regtest-$x -required >> regtest/$x.log 2>&1
|
|
echo "Running build ..."
|
|
./scripts/Build-Target -cfg regtest-$x 2>&1 | tee regtest/$x.log |
|
|
grep '> Building\|> Finished'
|
|
# id=`grep SDECFG_ID config/regtest-$x/config`
|
|
# eval $id
|
|
|
|
touch regtest/$x.finished
|
|
|
|
fi
|
|
|
|
./scripts/Create-ErrList -cfg regtest-$x | grep " builds "
|
|
}
|
|
|
|
for x in architecture/*/ ; do
|
|
[[ $x = *share* ]] && continue
|
|
x=${x#*/}; x=${x%/*}
|
|
|
|
if [ $embedded -eq 1 ]; then
|
|
case $x in
|
|
cris|hppa*|m68k|mips64|sh*) # no diet support
|
|
echo "Skipping $x (for now)"
|
|
continue
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
echo "Processing $x ..."
|
|
build $x
|
|
done
|