Cory Fields
10 years ago
7 changed files with 53 additions and 105 deletions
@ -1,102 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
# Copyright (c) 2013-2014 The Bitcoin Core developers |
|
||||||
# Distributed under the MIT software license, see the accompanying |
|
||||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. |
|
||||||
# |
|
||||||
# Param1: The prefix to mingw staging |
|
||||||
# Param2: Path to java comparison tool |
|
||||||
# Param3: Number of make jobs. Defaults to 1. |
|
||||||
|
|
||||||
# Exit immediately if anything fails: |
|
||||||
set -e |
|
||||||
set -o xtrace |
|
||||||
|
|
||||||
MINGWPREFIX=$1 |
|
||||||
JAVA_COMPARISON_TOOL=$2 |
|
||||||
RUN_EXPENSIVE_TESTS=$3 |
|
||||||
JOBS=${4-1} |
|
||||||
OUT_DIR=${5-} |
|
||||||
|
|
||||||
if [ $# -lt 2 ]; then |
|
||||||
echo "Usage: $0 [mingw-prefix] [java-comparison-tool] <make jobs> <save output dir>" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
DISTDIR=@PACKAGE@-@VERSION@ |
|
||||||
|
|
||||||
# Cross-compile for windows first (breaking the mingw/windows build is most common) |
|
||||||
cd @abs_top_srcdir@ |
|
||||||
make distdir |
|
||||||
mkdir -p win32-build |
|
||||||
rsync -av $DISTDIR/ win32-build/ |
|
||||||
rm -r $DISTDIR |
|
||||||
cd win32-build |
|
||||||
|
|
||||||
if [ $RUN_EXPENSIVE_TESTS = 1 ]; then |
|
||||||
./configure --disable-silent-rules --disable-ccache --prefix=$MINGWPREFIX --host=i586-mingw32msvc --with-qt-bindir=$MINGWPREFIX/host/bin --with-qt-plugindir=$MINGWPREFIX/plugins --with-qt-incdir=$MINGWPREFIX/include --with-boost=$MINGWPREFIX --with-protoc-bindir=$MINGWPREFIX/host/bin CPPFLAGS=-I$MINGWPREFIX/include LDFLAGS=-L$MINGWPREFIX/lib --with-comparison-tool="$JAVA_COMPARISON_TOOL" |
|
||||||
else |
|
||||||
./configure --disable-silent-rules --disable-ccache --prefix=$MINGWPREFIX --host=i586-mingw32msvc --with-qt-bindir=$MINGWPREFIX/host/bin --with-qt-plugindir=$MINGWPREFIX/plugins --with-qt-incdir=$MINGWPREFIX/include --with-boost=$MINGWPREFIX --with-protoc-bindir=$MINGWPREFIX/host/bin CPPFLAGS=-I$MINGWPREFIX/include LDFLAGS=-L$MINGWPREFIX/lib |
|
||||||
fi |
|
||||||
make -j$JOBS |
|
||||||
|
|
||||||
# And compile for Linux: |
|
||||||
cd @abs_top_srcdir@ |
|
||||||
make distdir |
|
||||||
mkdir -p linux-build |
|
||||||
rsync -av $DISTDIR/ linux-build/ |
|
||||||
rm -r $DISTDIR |
|
||||||
cd linux-build |
|
||||||
if [ $RUN_EXPENSIVE_TESTS = 1 ]; then |
|
||||||
./configure --disable-silent-rules --disable-ccache --with-comparison-tool="$JAVA_COMPARISON_TOOL" --enable-comparison-tool-reorg-tests |
|
||||||
else |
|
||||||
./configure --disable-silent-rules --disable-ccache --with-comparison-tool="$JAVA_COMPARISON_TOOL" |
|
||||||
fi |
|
||||||
make -j$JOBS |
|
||||||
|
|
||||||
# link interesting binaries to parent out/ directory, if it exists. Do this before |
|
||||||
# running unit tests (we want bad binaries to be easy to find) |
|
||||||
if [ -d "$OUT_DIR" -a -w "$OUT_DIR" ]; then |
|
||||||
set +e |
|
||||||
# Windows: |
|
||||||
cp @abs_top_srcdir@/win32-build/src/bitcoind.exe $OUT_DIR/bitcoind.exe |
|
||||||
cp @abs_top_srcdir@/win32-build/src/test/test_bitcoin.exe $OUT_DIR/test_bitcoin.exe |
|
||||||
cp @abs_top_srcdir@/win32-build/src/qt/bitcoind-qt.exe $OUT_DIR/bitcoin-qt.exe |
|
||||||
# Linux: |
|
||||||
cp @abs_top_srcdir@/linux-build/src/bitcoind $OUT_DIR/bitcoind |
|
||||||
cp @abs_top_srcdir@/linux-build/src/test/test_bitcoin $OUT_DIR/test_bitcoin |
|
||||||
cp @abs_top_srcdir@/linux-build/src/qt/bitcoind-qt $OUT_DIR/bitcoin-qt |
|
||||||
set -e |
|
||||||
fi |
|
||||||
|
|
||||||
# Run unit tests and blockchain-tester on Linux: |
|
||||||
cd @abs_top_srcdir@/linux-build |
|
||||||
make check |
|
||||||
|
|
||||||
# Run RPC integration test on Linux: |
|
||||||
@abs_top_srcdir@/qa/rpc-tests/wallet.sh @abs_top_srcdir@/linux-build/src |
|
||||||
@abs_top_srcdir@/qa/rpc-tests/listtransactions.py --srcdir @abs_top_srcdir@/linux-build/src |
|
||||||
@abs_top_srcdir@/qa/rpc-tests/forknotify.py --srcdir @abs_top_srcdir@/linux-build/src |
|
||||||
# Clean up cache/ directory that the python regression tests create |
|
||||||
rm -rf cache |
|
||||||
|
|
||||||
if [ $RUN_EXPENSIVE_TESTS = 1 ]; then |
|
||||||
# Run unit tests and blockchain-tester on Windows: |
|
||||||
cd @abs_top_srcdir@/win32-build |
|
||||||
make check |
|
||||||
fi |
|
||||||
|
|
||||||
# Clean up builds (pull-tester machine doesn't have infinite disk space) |
|
||||||
cd @abs_top_srcdir@/linux-build |
|
||||||
make clean |
|
||||||
cd @abs_top_srcdir@/win32-build |
|
||||||
make clean |
|
||||||
|
|
||||||
# TODO: Fix code coverage builds on pull-tester machine |
|
||||||
# # Test code coverage |
|
||||||
# cd @abs_top_srcdir@ |
|
||||||
# make distdir |
|
||||||
# mv $DISTDIR linux-coverage-build |
|
||||||
# cd linux-coverage-build |
|
||||||
# ./configure --enable-lcov --disable-silent-rules --disable-ccache --with-comparison-tool="$JAVA_COMPARISON_TOOL" |
|
||||||
# make -j$JOBS |
|
||||||
# make cov |
|
@ -0,0 +1,19 @@ |
|||||||
|
#!/bin/bash |
||||||
|
set -e |
||||||
|
|
||||||
|
CURDIR=$(cd $(dirname "$0"); pwd) |
||||||
|
# Get BUILDDIR and REAL_BITCOIND |
||||||
|
. "${CURDIR}/tests-config.sh" |
||||||
|
|
||||||
|
export BITCOINCLI=${BUILDDIR}/qa/pull-tester/run-bitcoin-cli |
||||||
|
export BITCOIND=${REAL_BITCOIND} |
||||||
|
|
||||||
|
#Run the tests |
||||||
|
|
||||||
|
if [ "x${ENABLE_BITCOIND}${ENABLE_UTILS}${ENABLE_WALLET}" = "x111" ]; then |
||||||
|
${BUILDDIR}/qa/rpc-tests/wallet.sh "${BUILDDIR}/src" |
||||||
|
${BUILDDIR}/qa/rpc-tests/listtransactions.py --srcdir "${BUILDDIR}/src" |
||||||
|
${BUILDDIR}/qa/rpc-tests/forknotify.py --srcdir "${BUILDDIR}/src" |
||||||
|
else |
||||||
|
echo "No rpc tests to run. Wallet, utils, and bitcoind must all be enabled" |
||||||
|
fi |
@ -0,0 +1,13 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
# This is a thin wrapper around bitcoin-cli that strips the Windows-style EOLs |
||||||
|
# from the output if present. It is necessary when using bitcoin-cli.exe on |
||||||
|
# Linux since shells will interpret the line-endings as part of the result. |
||||||
|
|
||||||
|
CURDIR=$(cd $(dirname "$0"); pwd) |
||||||
|
# Get BUILDDIR and REAL_BITCOIND |
||||||
|
|
||||||
|
# Grab the value of $REAL_BITCOINCLI which may be bitcoin-cli.exe. |
||||||
|
. "${CURDIR}/tests-config.sh" |
||||||
|
|
||||||
|
"${REAL_BITCOINCLI}" "$@" | sed 's/\r//' |
@ -0,0 +1,16 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Copyright (c) 2013-2014 The Bitcoin Core developers |
||||||
|
# Distributed under the MIT software license, see the accompanying |
||||||
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php. |
||||||
|
|
||||||
|
BUILDDIR="@abs_top_builddir@" |
||||||
|
EXEEXT="@EXEEXT@" |
||||||
|
|
||||||
|
# These will turn into comments if they were disabled when configuring. |
||||||
|
@ENABLE_WALLET_TRUE@ENABLE_WALLET=1 |
||||||
|
@BUILD_BITCOIN_UTILS_TRUE@ENABLE_UTILS=1 |
||||||
|
@BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=1 |
||||||
|
|
||||||
|
REAL_BITCOIND="$BUILDDIR/src/bitcoind${EXEEXT}" |
||||||
|
REAL_BITCOINCLI="$BUILDDIR/src/bitcoin-cli${EXEEXT}" |
||||||
|
|
Loading…
Reference in new issue