MCPcopy Index your code
hub / github.com/nodegit/nodegit / leakTest

Function leakTest

test/utils/leak_test.js:5–31  ·  view source on GitHub ↗
(Type, getInstance)

Source from the content-addressed store, hash-verified

3var garbageCollect = require("./garbage_collect");
4
5function leakTest(Type, getInstance) {
6 garbageCollect();
7 var startSelfFreeingCount = Type.getSelfFreeingInstanceCount();
8 var startNonSelfFreeingCount = Type.getNonSelfFreeingConstructedCount();
9
10 var resolve;
11 var promise = new Promise(function(_resolve) { resolve = _resolve; });
12
13 getInstance()
14 .then(function() {
15 var selfFreeingCount = Type.getSelfFreeingInstanceCount();
16 assert.equal(startSelfFreeingCount + 1, selfFreeingCount);
17 // get out of this promise chain to help GC get rid of the commit
18 setTimeout(resolve, 0);
19 });
20
21 return promise
22 .then(function() {
23 garbageCollect();
24 var endSelfFreeingCount = Type.getSelfFreeingInstanceCount();
25 var endNonSelfFreeingCount = Type.getNonSelfFreeingConstructedCount();
26 // any new self-freeing commits should have been freed
27 assert.equal(startSelfFreeingCount, endSelfFreeingCount);
28 // no new non-self-freeing commits should have been constructed
29 assert.equal(startNonSelfFreeingCount, endNonSelfFreeingCount);
30 });
31}
32
33module.exports = leakTest;

Callers 5

commit.jsFile · 0.85
revwalk.jsFile · 0.85
oid.jsFile · 0.85
treebuilder.jsFile · 0.85
tree_entry.jsFile · 0.85

Calls 1

garbageCollectFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…