Code coverage for Solidity smart-contracts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
solidity-coverage/test/util/util.js

39 lines
908 B

const fs = require('fs');
const path = require('path');
/**
* Retrieves code at source/<testType>/<test>.sol
* @param {String} _path path relative to `./source`
* @return {String} contents of a .sol file
*/
module.exports.getCode = function getCode(_path) {
return fs.readFileSync(path.join(__dirname, `./../sources/${_path}`), 'utf8');
};
module.exports.report = function report(errors) {
if (errors) {
errors.forEach(error => {
if (error.severity === 'error') {
throw new Error(`Instrumented solidity invalid: ${JSON.stringify(errors)}`);
}
});
}
};
module.exports.codeToCompilerInput = function codeToCompilerInput(code) {
return JSON.stringify({
language: 'Solidity',
sources: {
'test.sol': {
content: code
}
},
settings: {
outputSelection: {
'*': {
'*': [ '*' ]
}
}
}
});
}