diff options
Diffstat (limited to 'test')
-rwxr-xr-x | test | 84 |
1 files changed, 84 insertions, 0 deletions
@@ -0,0 +1,84 @@ +#! /usr/bin/env bash + +# Test build2 distribution. +# +# Usage: test +# +usage="usage: $0" + +owd=`pwd` +trap "{ cd $owd; exit 1; }" ERR + +function info () { echo "$*" 1>&2; } +function error () { info "$*"; exit 1; } + +# Calculate versions. +# +tcv=`cat build2-toolchain/version` +v=`echo $tcv | sed -e 's/^\(.*\)\.\(.*\)\..*$/\1.\2/' -` + +if [ -z "$v" ]; then + error "unable to extract version from `cat build2-toolchain/version`" +fi + +src=build2-$v + + +# Update the development build. +# +info "making sure everythings is up to date..." +b build2/ bpkg/ + + +# Test repository with the earliest and latest (development build via +# /usr/local links) toolchains. +# +for t in etc1/install/0.1.0 /usr/local; do + cppget.org/test -t $t -n \ +-c cxx \ +-c config.cxx.coptions="-W -Wall -Wno-unknown-pragmas" \ +-c config.cxx.poptions="-I/usr/include/apache2 -I/usr/include/apr-1.0" \ +-c config.cxx.loptions=-L/usr/local/lib \ +cppget.org/repository/1/ +done + + +# Test the build2-toolchain INSTALL procedure (plus brep) with the earliest +# compiler versions we claim to support and the latest available. +# +# Note: Clang 3.4 and 3.7 are tested on FreeBSD below (3.4 cannot coexist +# with newer versions on Ubuntu). +# +for c in g++-4.9 g++-5; do + etc/install \ +--cxx $c \ +--cppflags "-I/usr/include/apache2 -I/usr/include/apr-1.0" \ +$src/build2-toolchain-$tcv.tar.gz \ +http://pkg.cppget1/1/alpha +done + +for c in clang-3.5 clang-3.6; do + etc/install \ +--cxx $c \ +--cppflags "-I/usr/include/apache2 -I/usr/include/apr-1.0" \ +--cxxflags --stdlib=libc++ \ +$src/build2-toolchain-$tcv.tar.gz \ +http://pkg.cppget1/1/alpha +done + +# Test installation requiring sudo. +# +etc/install -t -i /opt/build2 -s $src/build2-toolchain-$tcv.tar.gz \ +http://pkg.cppget1/1/alpha + + +# Test on FreeBSD with Clang 3.4 (default) and Clang 3.7. +# +scp etc/install $src/build2-toolchain-$tcv.tar.gz freebsd:/tmp/ + +for c in clang++ clang++37; do + ssh freebsd cd /tmp ';' ./install \ +--cxx $c \ +--cppflags '"-I/usr/local/include/apr-1 -I/usr/local/include/apache24"' \ +build2-toolchain-$tcv.tar.gz http://pkg.cppget1/1/alpha +done |