Make coverage a module instead of a function

This commit is contained in:
Leonid Logvinov
2018-03-09 15:45:45 +01:00
parent c5afca53a4
commit a9479b3c01
4 changed files with 16 additions and 11 deletions

View File

@@ -3,12 +3,17 @@ import * as _ from 'lodash';
let coverageSubprovider: CoverageSubprovider;
export function getCoverageSubproviderSingleton(): CoverageSubprovider {
if (_.isUndefined(coverageSubprovider)) {
export const coverage = {
getCoverageSubproviderSingleton(): CoverageSubprovider {
if (_.isUndefined(coverageSubprovider)) {
coverageSubprovider = coverage._getCoverageSubprovider();
}
return coverageSubprovider;
},
_getCoverageSubprovider(): CoverageSubprovider {
const artifactsPath = './src/artifacts';
const contractsPath = './src/contracts';
const networkId = 50;
coverageSubprovider = new CoverageSubprovider(artifactsPath, contractsPath, networkId);
}
return coverageSubprovider;
}
return new CoverageSubprovider(artifactsPath, contractsPath, networkId);
},
};

View File

@@ -1,4 +1,4 @@
export { BlockchainLifecycle } from './blockchain_lifecycle';
export { web3Factory } from './web3_factory';
export { constants as devConstants } from './constants';
export { getCoverageSubproviderSingleton } from './coverage';
export { coverage } from './coverage';

View File

@@ -12,7 +12,7 @@ import * as _ from 'lodash';
import * as process from 'process';
import { constants } from './constants';
import { getCoverageSubproviderSingleton } from './coverage';
import { coverage } from './coverage';
// HACK: web3 leaks XMLHttpRequest into the global scope and causes requests to hang
// because they are using the wrong XHR package.
@@ -36,7 +36,7 @@ export const web3Factory = {
getRpcProvider(config: Web3Config = {}): Web3.Provider {
const provider = new ProviderEngine();
if (process.env.SOLIDITY_COVERAGE) {
provider.addProvider(getCoverageSubproviderSingleton());
provider.addProvider(coverage.getCoverageSubproviderSingleton());
}
const hasAddresses = _.isUndefined(config.hasAddresses) || config.hasAddresses;
if (!hasAddresses) {