aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-cov/src/profiler_subprovider.ts
diff options
context:
space:
mode:
authorAlex Browne <stephenalexbrowne@gmail.com>2018-06-13 06:38:28 +0800
committerGitHub <noreply@github.com>2018-06-13 06:38:28 +0800
commitf50d3088dcc7fc7fb88ebfce397684b32aa037aa (patch)
treef49441f5d72f5e16dc8b29614bee05093e4e3151 /packages/sol-cov/src/profiler_subprovider.ts
parent787015f5370718e31c7990446fb1da298ed13e6b (diff)
parent627ea6c860e97a6e04877f10f9f842c5d5a907d6 (diff)
downloaddexon-sol-tools-f50d3088dcc7fc7fb88ebfce397684b32aa037aa.tar
dexon-sol-tools-f50d3088dcc7fc7fb88ebfce397684b32aa037aa.tar.gz
dexon-sol-tools-f50d3088dcc7fc7fb88ebfce397684b32aa037aa.tar.bz2
dexon-sol-tools-f50d3088dcc7fc7fb88ebfce397684b32aa037aa.tar.lz
dexon-sol-tools-f50d3088dcc7fc7fb88ebfce397684b32aa037aa.tar.xz
dexon-sol-tools-f50d3088dcc7fc7fb88ebfce397684b32aa037aa.tar.zst
dexon-sol-tools-f50d3088dcc7fc7fb88ebfce397684b32aa037aa.zip
Merge pull request #691 from 0xProject/fix/sol-cov-memory
Refactor sol-cov to avoid keeping traceInfo in memory
Diffstat (limited to 'packages/sol-cov/src/profiler_subprovider.ts')
-rw-r--r--packages/sol-cov/src/profiler_subprovider.ts8
1 files changed, 4 insertions, 4 deletions
diff --git a/packages/sol-cov/src/profiler_subprovider.ts b/packages/sol-cov/src/profiler_subprovider.ts
index ac878c070..9fd815f07 100644
--- a/packages/sol-cov/src/profiler_subprovider.ts
+++ b/packages/sol-cov/src/profiler_subprovider.ts
@@ -1,8 +1,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 +24,13 @@ export class ProfilerSubprovider extends TraceCollectionSubprovider {
super(defaultFromAddress, traceCollectionSubproviderConfig);
this._profilerManager = new ProfilerManager(artifactAdapter, isVerbose);
}
+ public async handleTraceInfoAsync(traceInfo: TraceInfo): Promise<void> {
+ await this._profilerManager.computeSingleTraceCoverageAsync(traceInfo);
+ }
/**
* Write the test profiler results to a file in Istanbul format.
*/
public async writeProfilerOutputAsync(): Promise<void> {
- const traceInfos = this.getCollectedTraceInfos();
- _.forEach(traceInfos, traceInfo => this._profilerManager.appendTraceInfo(traceInfo));
await this._profilerManager.writeProfilerOutputAsync();
}
}