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