Add complex compilation test case (#563)
parent
fefeff609d
commit
587a1f3e91
@ -0,0 +1,4 @@ |
||||
module.exports = { |
||||
"silent": false, |
||||
"istanbulReporter": [ "json-summary", "text"] |
||||
} |
@ -0,0 +1,17 @@ |
||||
pragma solidity ^0.5.0; |
||||
|
||||
|
||||
contract ContractA { |
||||
uint x; |
||||
constructor() public { |
||||
} |
||||
|
||||
function sendFn() public { |
||||
x = 5; |
||||
} |
||||
|
||||
function callFn() public pure returns (uint){ |
||||
uint y = 5; |
||||
return y; |
||||
} |
||||
} |
@ -0,0 +1,17 @@ |
||||
pragma solidity ^0.5.0; |
||||
|
||||
|
||||
contract ContractB { |
||||
uint x; |
||||
constructor() public { |
||||
} |
||||
|
||||
function sendFn() public { |
||||
x = 5; |
||||
} |
||||
|
||||
function callFn() public pure returns (uint){ |
||||
uint y = 5; |
||||
return y; |
||||
} |
||||
} |
@ -0,0 +1,17 @@ |
||||
pragma solidity ^0.6.0; |
||||
|
||||
|
||||
contract ContractC { |
||||
uint x; |
||||
constructor() public { |
||||
} |
||||
|
||||
function sendFn() public { |
||||
x = 5; |
||||
} |
||||
|
||||
function callFn() public pure returns (uint){ |
||||
uint y = 5; |
||||
return y; |
||||
} |
||||
} |
@ -0,0 +1,37 @@ |
||||
require("@nomiclabs/hardhat-truffle5"); |
||||
require(__dirname + "/../hardhat"); |
||||
|
||||
module.exports={ |
||||
solidity: { |
||||
compilers: [ |
||||
{ |
||||
version: "0.5.5" |
||||
}, |
||||
{ |
||||
version: "0.5.7" |
||||
}, |
||||
// Make sure optimizer gets disabled
|
||||
{ |
||||
version: "0.6.7", |
||||
settings: { |
||||
optimizer: { |
||||
enabled: true, |
||||
runs: 200 |
||||
} |
||||
} |
||||
} |
||||
], |
||||
overrides: { |
||||
"contracts/ContractA.sol": { |
||||
version: "0.5.5", |
||||
settings: { |
||||
optimizer: { |
||||
enabled: true, |
||||
runs: 200 |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
logger: process.env.SILENT ? { log: () => {} } : console, |
||||
}; |
@ -0,0 +1,11 @@ |
||||
const ContractA = artifacts.require("ContractA"); |
||||
|
||||
contract("contracta", function(accounts) { |
||||
let instance; |
||||
|
||||
before(async () => instance = await ContractA.new()) |
||||
|
||||
it('sends', async function(){ |
||||
await instance.sendFn(); |
||||
}); |
||||
}); |
@ -0,0 +1,15 @@ |
||||
const ContractB = artifacts.require("ContractB"); |
||||
|
||||
contract("contractB", function(accounts) { |
||||
let instance; |
||||
|
||||
before(async () => instance = await ContractB.new()) |
||||
|
||||
it('sends', async function(){ |
||||
await instance.sendFn(); |
||||
}); |
||||
|
||||
it('calls', async function(){ |
||||
await instance.callFn(); |
||||
}) |
||||
}); |
@ -0,0 +1,20 @@ |
||||
const ContractC = artifacts.require("ContractC"); |
||||
|
||||
contract("contractc", function(accounts) { |
||||
let instance; |
||||
|
||||
before(async () => instance = await ContractC.new()) |
||||
|
||||
it('sends', async function(){ |
||||
await instance.sendFn(); |
||||
}); |
||||
|
||||
it('calls', async function(){ |
||||
await instance.callFn(); |
||||
}) |
||||
|
||||
it('sends', async function(){ |
||||
await instance.sendFn(); |
||||
}); |
||||
|
||||
}); |
Loading…
Reference in new issue