Commit 1455a5a9 by Santiago Palladino

Re-enable solidity coverage

- Upgrade version
- Re-enable in travis.yml
- Move mocks to contracts folder for instrumentation
parent ddcae625
......@@ -15,6 +15,7 @@ scTopics
# Coverage directory used by tools like istanbul
coverage
coverage.json
coverageEnv
# node-waf configuration
.lock-wscript
......
module.exports = {
norpc: true,
testCommand: 'node --max-old-space-size=4096 ../node_modules/.bin/truffle test --network coverage',
skipFiles: ['lifecycle/Migrations.sol']
compileCommand: 'node --max-old-space-size=4096 ../node_modules/.bin/truffle compile --network coverage',
skipFiles: [
'lifecycle/Migrations.sol',
'mocks'
]
}
......@@ -7,6 +7,13 @@ node_js:
cache:
directories:
- node_modules
env:
-
- SOLIDITY_COVERAGE=true
matrix:
fast_finish: true
allow_failures:
- env: SOLIDITY_COVERAGE=true
before_script:
- truffle version
script:
......
pragma solidity ^0.4.18;
import '../../contracts/token/BasicToken.sol';
import '../token/BasicToken.sol';
// mock class using BasicToken
......
pragma solidity ^0.4.18;
import '../../contracts/token/BurnableToken.sol';
import '../token/BurnableToken.sol';
contract BurnableTokenMock is BurnableToken {
......
pragma solidity ^0.4.18;
import '../../contracts/crowdsale/CappedCrowdsale.sol';
import '../crowdsale/CappedCrowdsale.sol';
contract CappedCrowdsaleImpl is CappedCrowdsale {
......
pragma solidity ^0.4.18;
import '../../contracts/token/StandardToken.sol';
import '../../contracts/token/DetailedERC20.sol';
import '../token/StandardToken.sol';
import '../token/DetailedERC20.sol';
contract DetailedERC20Mock is StandardToken, DetailedERC20 {
function DetailedERC20Mock(string _name, string _symbol, uint8 _decimals) DetailedERC20(_name, _symbol, _decimals) public {}
......
pragma solidity ^0.4.18;
import '../../contracts/token/BasicToken.sol';
import '../token/BasicToken.sol';
contract ERC23ContractInterface {
......
pragma solidity ^0.4.18;
import '../../contracts/crowdsale/FinalizableCrowdsale.sol';
import '../crowdsale/FinalizableCrowdsale.sol';
contract FinalizableCrowdsaleImpl is FinalizableCrowdsale {
......
pragma solidity ^0.4.18;
import '../../contracts/LimitBalance.sol';
import '../LimitBalance.sol';
// mock class using LimitBalance
......
pragma solidity ^0.4.18;
import '../../contracts/lifecycle/Pausable.sol';
import '../lifecycle/Pausable.sol';
// mock class using Pausable
......
pragma solidity ^0.4.18;
import '../../contracts/token/PausableToken.sol';
import '../token/PausableToken.sol';
// mock class using PausableToken
contract PausableTokenMock is PausableToken {
......
pragma solidity ^0.4.18;
import '../../contracts/payment/PullPayment.sol';
import '../payment/PullPayment.sol';
// mock class using PullPayment
......
pragma solidity ^0.4.8;
import '../../contracts/ownership/rbac/RBAC.sol';
import '../ownership/rbac/RBAC.sol';
contract RBACMock is RBAC {
......
pragma solidity ^0.4.18;
import '../../contracts/ReentrancyGuard.sol';
import '../ReentrancyGuard.sol';
import './ReentrancyAttack.sol';
contract ReentrancyMock is ReentrancyGuard {
......
pragma solidity ^0.4.18;
import '../../contracts/crowdsale/RefundableCrowdsale.sol';
import '../crowdsale/RefundableCrowdsale.sol';
contract RefundableCrowdsaleImpl is RefundableCrowdsale {
......
pragma solidity ^0.4.18;
import '../../contracts/token/ERC20.sol';
import '../../contracts/token/SafeERC20.sol';
import '../token/ERC20.sol';
import '../token/SafeERC20.sol';
contract ERC20FailingMock is ERC20 {
function transfer(address, uint256) public returns (bool) {
......
pragma solidity ^0.4.18;
import '../../contracts/math/SafeMath.sol';
import '../math/SafeMath.sol';
contract SafeMathMock {
......
pragma solidity ^0.4.18;
import '../../contracts/token/StandardToken.sol';
import '../token/StandardToken.sol';
// mock class using StandardToken
......
......@@ -45,7 +45,7 @@
"ethereumjs-testrpc": "^6.0.1",
"ethereumjs-util": "^5.1.2",
"mocha-lcov-reporter": "^1.3.0",
"solidity-coverage": "^0.2.2",
"solidity-coverage": "^0.4.3",
"truffle": "^4.0.0",
"truffle-hdwallet-provider": "0.0.3"
},
......
const assertRevert = require('./helpers/assertRevert');
var BasicTokenMock = artifacts.require('./mocks/BasicTokenMock.sol');
var BasicTokenMock = artifacts.require('mocks/BasicTokenMock.sol');
contract('BasicToken', function (accounts) {
it('should return the correct totalSupply after construction', async function () {
......
const EVMRevert = require('./helpers/EVMRevert.js');
const BurnableTokenMock = artifacts.require('./mocks/BurnableTokenMock.sol');
const BurnableTokenMock = artifacts.require('mocks/BurnableTokenMock.sol');
const BigNumber = web3.BigNumber;
require('chai')
......
......@@ -2,7 +2,7 @@
import expectThrow from './helpers/expectThrow';
const CanReclaimToken = artifacts.require('../contracts/ownership/CanReclaimToken.sol');
const BasicTokenMock = artifacts.require('./mocks/BasicTokenMock.sol');
const BasicTokenMock = artifacts.require('mocks/BasicTokenMock.sol');
contract('CanReclaimToken', function (accounts) {
let token = null;
......
......@@ -11,7 +11,7 @@ require('chai')
.use(require('chai-bignumber')(BigNumber))
.should();
const CappedCrowdsale = artifacts.require('./mocks/CappedCrowdsaleImpl.sol');
const CappedCrowdsale = artifacts.require('mocks/CappedCrowdsaleImpl.sol');
const MintableToken = artifacts.require('MintableToken');
contract('CappedCrowdsale', function ([_, wallet]) {
......
......@@ -4,7 +4,7 @@ import { increaseTimeTo, duration } from './helpers/increaseTime';
const assertRevert = require('./helpers/assertRevert');
const DayLimitMock = artifacts.require('./mocks/DayLimitMock.sol');
const DayLimitMock = artifacts.require('mocks/DayLimitMock.sol');
contract('DayLimit', function (accounts) {
let dayLimit;
......
......@@ -5,7 +5,7 @@ require('chai')
.use(require('chai-bignumber')(BigNumber))
.should();
const DetailedERC20Mock = artifacts.require('./mocks/DetailedERC20Mock.sol');
const DetailedERC20Mock = artifacts.require('mocks/DetailedERC20Mock.sol');
contract('DetailedERC20', accounts => {
let detailedERC20 = null;
......
......@@ -10,7 +10,7 @@ const should = require('chai')
.use(require('chai-bignumber')(BigNumber))
.should();
const FinalizableCrowdsale = artifacts.require('./mocks/FinalizableCrowdsaleImpl.sol');
const FinalizableCrowdsale = artifacts.require('mocks/FinalizableCrowdsaleImpl.sol');
const MintableToken = artifacts.require('MintableToken');
contract('FinalizableCrowdsale', function ([_, owner, wallet, thirdparty]) {
......
......@@ -2,7 +2,7 @@
import expectThrow from './helpers/expectThrow';
const HasNoTokens = artifacts.require('../contracts/lifecycle/HasNoTokens.sol');
const ERC23TokenMock = artifacts.require('./mocks/ERC23TokenMock.sol');
const ERC23TokenMock = artifacts.require('mocks/ERC23TokenMock.sol');
contract('HasNoTokens', function (accounts) {
let hasNoTokens = null;
......
'user strict';
const assertRevert = require('./helpers/assertRevert');
var PausableTokenMock = artifacts.require('./mocks/PausableTokenMock.sol');
var PausableTokenMock = artifacts.require('mocks/PausableTokenMock.sol');
contract('PausableToken', function (accounts) {
let token;
......
var PullPaymentMock = artifacts.require('./mocks/PullPaymentMock.sol');
var PullPaymentMock = artifacts.require('mocks/PullPaymentMock.sol');
contract('PullPayment', function (accounts) {
let ppce;
......
import expectThrow from './helpers/expectThrow';
import expectEvent from './helpers/expectEvent';
const RBACMock = artifacts.require('./mocks/RBACMock.sol');
const RBACMock = artifacts.require('mocks/RBACMock.sol');
require('chai')
.use(require('chai-as-promised'))
......
......@@ -11,7 +11,7 @@ require('chai')
.use(require('chai-bignumber')(BigNumber))
.should();
const RefundableCrowdsale = artifacts.require('./mocks/RefundableCrowdsaleImpl.sol');
const RefundableCrowdsale = artifacts.require('mocks/RefundableCrowdsaleImpl.sol');
contract('RefundableCrowdsale', function ([_, owner, wallet, investor]) {
const rate = new BigNumber(1000);
......
......@@ -4,7 +4,7 @@ require('chai')
.use(require('chai-as-promised'))
.should();
const SafeERC20Helper = artifacts.require('./mocks/SafeERC20Helper.sol');
const SafeERC20Helper = artifacts.require('mocks/SafeERC20Helper.sol');
contract('SafeERC20', function () {
beforeEach(async function () {
......
const assertRevert = require('./helpers/assertRevert');
const assertJump = require('./helpers/assertJump');
var SafeMathMock = artifacts.require('./mocks/SafeMathMock.sol');
var SafeMathMock = artifacts.require('mocks/SafeMathMock.sol');
contract('SafeMath', function (accounts) {
let safeMath;
......
const assertRevert = require('./helpers/assertRevert');
var StandardTokenMock = artifacts.require('./mocks/StandardTokenMock.sol');
var StandardTokenMock = artifacts.require('mocks/StandardTokenMock.sol');
contract('StandardToken', function (accounts) {
let token;
......
var TokenDestructible = artifacts.require('../contracts/lifecycle/TokenDestructible.sol');
var StandardTokenMock = artifacts.require('./mocks/StandardTokenMock.sol');
var StandardTokenMock = artifacts.require('mocks/StandardTokenMock.sol');
require('./helpers/transactionMined.js');
contract('TokenDestructible', function (accounts) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment