Skip to content

Commit 88d6582

Browse files
axicLeonardo Alt
authored andcommitted
Move determinism test to use compileStandardWrapper
1 parent dd6ee77 commit 88d6582

File tree

1 file changed

+34
-4
lines changed

1 file changed

+34
-4
lines changed

test/determinism.js

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,48 @@ tape('Deterministic Compilation', function (t) {
1717
var i;
1818
for (i in files) {
1919
var file = files[i];
20-
input[file] = fs.readFileSync(testdir + file, 'utf8');
20+
input[file] = { content: fs.readFileSync(testdir + file, 'utf8') };
2121
}
2222
for (i = 0; i < 10; i++) {
23-
var output = solc.compile({sources: input}, 1);
24-
var bytecode = output.contracts['DAO.sol:DAO'].bytecode;
23+
var output = JSON.parse(solc.compileStandardWrapper(JSON.stringify({
24+
language: 'Solidity',
25+
settings: {
26+
optimizer: {
27+
enabled: true
28+
},
29+
outputSelection: {
30+
'*': {
31+
'*': [ 'evm.bytecode' ]
32+
}
33+
}
34+
},
35+
sources: input
36+
})));
37+
st.ok(output);
38+
st.ok(output.contracts);
39+
st.ok(output.contracts['DAO.sol']);
40+
st.ok(output.contracts['DAO.sol']['DAO']);
41+
st.ok(output.contracts['DAO.sol']['DAO'].evm.bytecode.object);
42+
var bytecode = output.contracts['DAO.sol']['DAO'].evm.bytecode.object;
2543
st.ok(bytecode.length > 0);
2644
if (prevBytecode !== null) {
2745
st.equal(prevBytecode, bytecode);
2846
}
2947
prevBytecode = bytecode;
3048
// reset compiler state
31-
solc.compile({sources: {f: 'contract c {}'}}, 1);
49+
solc.compileStandardWrapper(JSON.stringify({
50+
language: 'Solidity',
51+
settings: {
52+
optimizer: {
53+
enabled: true
54+
}
55+
},
56+
sources: {
57+
f: {
58+
content: 'contract c {}'
59+
}
60+
}
61+
}));
3262
}
3363
st.end();
3464
});

0 commit comments

Comments
 (0)