From 33f066910021bc4969f4d564fc1648f6769ee3ec Mon Sep 17 00:00:00 2001 From: Alex Browne Date: Tue, 12 Jun 2018 12:42:14 -0700 Subject: Refactor sol-cov to avoid keeping traceInfo in memory --- packages/sol-cov/src/profiler_subprovider.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'packages/sol-cov/src/profiler_subprovider.ts') diff --git a/packages/sol-cov/src/profiler_subprovider.ts b/packages/sol-cov/src/profiler_subprovider.ts index ac878c070..c66cd1dec 100644 --- a/packages/sol-cov/src/profiler_subprovider.ts +++ b/packages/sol-cov/src/profiler_subprovider.ts @@ -3,6 +3,7 @@ import * as _ from 'lodash'; import { AbstractArtifactAdapter } from './artifact_adapters/abstract_artifact_adapter'; import { ProfilerManager } from './profiler_manager'; import { TraceCollectionSubprovider } from './trace_collection_subprovider'; +import { TraceInfo } from './types'; /** * This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. @@ -25,12 +26,13 @@ export class ProfilerSubprovider extends TraceCollectionSubprovider { super(defaultFromAddress, traceCollectionSubproviderConfig); this._profilerManager = new ProfilerManager(artifactAdapter, isVerbose); } + public async handleTraceInfoAsync(traceInfo: TraceInfo): Promise { + return this._profilerManager.computeCoverageAsync(traceInfo); + } /** * Write the test profiler results to a file in Istanbul format. */ public async writeProfilerOutputAsync(): Promise { - const traceInfos = this.getCollectedTraceInfos(); - _.forEach(traceInfos, traceInfo => this._profilerManager.appendTraceInfo(traceInfo)); - await this._profilerManager.writeProfilerOutputAsync(); + return this._profilerManager.writeProfilerOutputAsync(); } } -- cgit v1.2.3