mirror of https://github.com/ethereum/go-ethereum
parent
74faa30af6
commit
9326d0a6dd
@ -1,8 +1,8 @@ |
||||
--- |
||||
- name: Provision the operation system for buildslave |
||||
- name: Provision the operation system for tests |
||||
# testing |
||||
hosts: all |
||||
# live |
||||
# hosts: poc-8.ethdev.com |
||||
# hosts: TDB |
||||
roles: |
||||
- common |
||||
|
@ -0,0 +1,32 @@ |
||||
# adjusted from https://github.com/ethereum/cpp-ethereum/blob/develop/docker/Dockerfile |
||||
FROM ubuntu:14.04 |
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive |
||||
RUN apt-get update |
||||
RUN apt-get upgrade -y |
||||
|
||||
# Ethereum dependencies |
||||
RUN apt-get install -qy build-essential g++-4.8 git cmake libboost-all-dev libcurl4-openssl-dev wget |
||||
RUN apt-get install -qy automake unzip libgmp-dev libtool libleveldb-dev yasm libminiupnpc-dev libreadline-dev scons |
||||
RUN apt-get install -qy libjsoncpp-dev libargtable2-dev |
||||
|
||||
# NCurses based GUI (not optional though for a succesful compilation, see https://github.com/ethereum/cpp-ethereum/issues/452 ) |
||||
RUN apt-get install -qy libncurses5-dev |
||||
|
||||
# Qt-based GUI |
||||
# RUN apt-get install -qy qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev |
||||
|
||||
# Ethereum PPA |
||||
RUN apt-get install -qy software-properties-common |
||||
RUN add-apt-repository ppa:ethereum/ethereum |
||||
RUN apt-get update |
||||
RUN apt-get install -qy libcryptopp-dev libjson-rpc-cpp-dev |
||||
|
||||
# Build Ethereum (HEADLESS) |
||||
RUN git clone --depth=1 --branch develop https://github.com/ethereum/cpp-ethereum |
||||
RUN mkdir -p cpp-ethereum/build |
||||
RUN cd cpp-ethereum/build && cmake .. -DCMAKE_BUILD_TYPE=Release -DHEADLESS=1 && make -j $(cat /proc/cpuinfo | grep processor | wc -l) && make install |
||||
RUN ldconfig |
||||
|
||||
ENTRYPOINT ["/cpp-ethereum/build/test/createRandomTest"] |
||||
|
@ -0,0 +1,55 @@ |
||||
#!/bin/bash |
||||
|
||||
# create random virtual machine test |
||||
#cd ~/software/Ethereum/pyethereum (python has local dependencies so only works from within the directory) |
||||
while [ 1 ] |
||||
do |
||||
TEST="$(~/software/Ethereum/cpp-ethereum/build/test/createRandomTest)" |
||||
# echo "$TEST" |
||||
|
||||
# test pyethereum |
||||
|
||||
#OUTPUT_PYTHON="$(python ./tests/test_vm.py "$TEST")" |
||||
#RESULT_PYTHON=$? |
||||
|
||||
# test go |
||||
OUTPUT_GO="$(ethtest "$TEST")" |
||||
RESULT_GO=$? |
||||
|
||||
# test cpp-jit |
||||
#OUTPUT_CPPJIT="$(~/software/Ethereum/cpp-ethereum/build/test/checkRandomTest "$TEST")" |
||||
#RESULT_CPPJIT=$? |
||||
|
||||
# go fails |
||||
if [ "$RESULT_GO" -ne 0 ]; then |
||||
echo Failed: |
||||
echo Output_GO: |
||||
echo $OUTPUT_GO |
||||
echo Test: |
||||
echo "$TEST" |
||||
echo "$TEST" > FailedTest.json |
||||
mv FailedTest.json $(date -d "today" +"%Y%m%d%H%M")GO.json # replace with scp to central server |
||||
fi |
||||
|
||||
# python fails |
||||
#if [ "$RESULT_PYTHON" -ne 0 ]; then |
||||
# echo Failed: |
||||
# echo Output_PYTHON: |
||||
# echo $OUTPUT_PYTHON |
||||
# echo Test: |
||||
# echo "$TEST" |
||||
# echo "$TEST" > FailedTest.json |
||||
# mv FailedTest.json $(date -d "today" +"%Y%m%d%H%M")PYTHON.json |
||||
#fi |
||||
|
||||
# cppjit fails |
||||
#if [ "$RESULT_CPPJIT" -ne 0 ]; then |
||||
# echo Failed: |
||||
# echo Output_CPPJIT: |
||||
# echo $OUTPUT_CPPJIT |
||||
# echo Test: |
||||
# echo "$TEST" |
||||
# echo "$TEST" > FailedTest.json |
||||
# mv FailedTest.json $(date -d "today" +"%Y%m%d%H%M")CPPJIT.json |
||||
#fi |
||||
|
@ -1,12 +1,12 @@ |
||||
--- |
||||
- name: setting up buildslave configuration |
||||
- name: preparing and running tests |
||||
# testing |
||||
hosts: all |
||||
# live |
||||
# hosts: poc-8.ethdev.com |
||||
# hosts: TBD |
||||
|
||||
# TODO use the right user for configuring, until credentials set, stay with default vagrant user |
||||
# remote_user: buildsalve |
||||
# remote_user: ubuntu |
||||
|
||||
roles: |
||||
- buildslave |
||||
- testrunner |
||||
|
Loading…
Reference in new issue