Allow Truffle V4 style solc config (#449)

pull/450/head
cgewecke 5 years ago committed by GitHub
parent d9af5ac571
commit e25728ac88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      plugins/resources/truffle.utils.js
  2. 25
      test/units/truffle/standard.js

@ -200,6 +200,12 @@ function normalizeConfig(config){
delete config.mocha.reporterOptions; delete config.mocha.reporterOptions;
} }
// Truffle V4 style solc settings are honored over V5 settings. Apparently it's common
// for both to be present in the same config (as an error).
if (typeof config.solc === "object" ){
config.solc.optimizer = { enabled: false };
}
return config; return config;
} }

@ -216,13 +216,36 @@ describe('Truffle Plugin: standard use cases', function() {
}); });
// This test errors if the reporter is not re-designated as 'spec' correctly // This test errors if the reporter is not re-designated as 'spec' correctly
it('gracefully disables eth-gas-reporter', async function(){ it('disables eth-gas-reporter', async function(){
truffleConfig.mocha = { reporter: 'eth-gas-reporter' }; truffleConfig.mocha = { reporter: 'eth-gas-reporter' };
mock.install('Simple', 'simple.js', solcoverConfig); mock.install('Simple', 'simple.js', solcoverConfig);
await plugin(truffleConfig); await plugin(truffleConfig);
}); });
it('disables optimization when truffle-config uses V4 format', async function(){
solcoverConfig = {
silent: process.env.SILENT ? true : false,
istanbulReporter: ['json-summary', 'text']
};
truffleConfig.solc = {
optimizer: { enabled: true, runs: 200 }
};
mock.install('Simple', 'simple.js', solcoverConfig);
await plugin(truffleConfig);
const expected = [
{
file: mock.pathToContract(truffleConfig, 'Simple.sol'),
pct: 100
}
];
verify.lineCoverage(expected);
});
// This test tightly coupled to the ganache version in production deps // This test tightly coupled to the ganache version in production deps
// "test-files" project solcoverjs includes `client: require('ganache-cli')` // "test-files" project solcoverjs includes `client: require('ganache-cli')`
it('config: client', async function(){ it('config: client', async function(){

Loading…
Cancel
Save