Merge pull request #2818 from ethereum/testGnosis

Also test gnosis contracts.
This commit is contained in:
chriseth 2018-02-13 08:38:55 +01:00 committed by GitHub
commit a75d4ec60e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 21 deletions

View File

@ -97,12 +97,12 @@ matrix:
sudo: required sudo: required
compiler: gcc compiler: gcc
node_js: node_js:
- "6" - "7"
services: services:
- docker - docker
before_install: before_install:
- nvm install 6 - nvm install 7
- nvm use 6 - nvm use 7
- docker pull trzeci/emscripten:sdk-tag-1.35.4-64bit - docker pull trzeci/emscripten:sdk-tag-1.35.4-64bit
env: env:
- SOLC_EMSCRIPTEN=On - SOLC_EMSCRIPTEN=On

View File

@ -76,7 +76,7 @@ jobs:
export NVM_DIR="/usr/local/nvm" export NVM_DIR="/usr/local/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm --version nvm --version
nvm install 6 nvm install 7
node --version node --version
npm --version npm --version
- run: - run:

View File

@ -36,21 +36,32 @@ fi
SOLJSON="$1" SOLJSON="$1"
DIR=$(mktemp -d) function test_truffle
( {
echo "Running Zeppelin tests..." name="$1"
git clone --depth 1 https://github.com/OpenZeppelin/zeppelin-solidity.git "$DIR" repo="$2"
echo "Running $name tests..."
DIR=$(mktemp -d)
(
git clone --depth 1 "$repo" "$DIR"
cd "$DIR" cd "$DIR"
npm install
find . -name soljson.js -exec cp "$SOLJSON" {} \;
if [ "$name" == "Zeppelin" ]; then
# Fix some things that look like bugs (only seemed to fail on Node 6 and not Node 8) # Fix some things that look like bugs (only seemed to fail on Node 6 and not Node 8)
# FIXME: report upstream or to web3.js? # FIXME: report upstream or to web3.js?
sed -i -e 's/let token = await ERC827TokenMock.new();//;' test/token/ERC827/ERC827Token.js sed -i -e 's/let token = await ERC827TokenMock.new();//;' test/token/ERC827/ERC827Token.js
sed -i -e 's/CappedCrowdsale.new(this.startTime, this.endTime, rate, wallet, 0)/CappedCrowdsale.new(this.startTime, this.endTime, rate, wallet, 0, this.token.address)/' test/crowdsale/CappedCrowdsale.test.js sed -i -e 's/CappedCrowdsale.new(this.startTime, this.endTime, rate, wallet, 0)/CappedCrowdsale.new(this.startTime, this.endTime, rate, wallet, 0, this.token.address)/' test/crowdsale/CappedCrowdsale.test.js
sed -i -e 's/RefundableCrowdsale.new(this.startTime, this.endTime, rate, wallet, 0, { from: owner })/RefundableCrowdsale.new(this.startTime, this.endTime, rate, wallet, 0, this.token.address, { from: owner })/' test/crowdsale/RefundableCrowdsale.test.js sed -i -e 's/RefundableCrowdsale.new(this.startTime, this.endTime, rate, wallet, 0, { from: owner })/RefundableCrowdsale.new(this.startTime, this.endTime, rate, wallet, 0, this.token.address, { from: owner })/' test/crowdsale/RefundableCrowdsale.test.js
fi
npm install if [ "$name" == "Gnosis" ]; then
find . -name soljson.js -exec cp "$SOLJSON" {} \; # Replace fixed-version pragmas in Gnosis (part of Consensys best practice)
find contracts test -name '*.sol' -type f -print0 | xargs -0 sed -i -e 's/pragma solidity 0/pragma solidity ^0/'
fi
npm run test npm run test
) )
rm -rf "$DIR" rm -rf "$DIR"
}
test_truffle Gnosis https://github.com/gnosis/gnosis-contracts.git
test_truffle Zeppelin https://github.com/OpenZeppelin/zeppelin-solidity.git