aboutsummaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/lru-cache/test/memory-leak.js
diff options
context:
space:
mode:
authorseshukm <seshu.kumar.m@huawei.com>2017-04-10 15:52:12 +0530
committerseshukm <seshu.kumar.m@huawei.com>2017-04-10 15:52:12 +0530
commit84b3a1c939dc2baf22f9f5e30029b263c1512ade (patch)
tree131f2c17ad61078f95425eab1e349b96d0245d36 /vnfmarket/src/main/webapp/vnfmarket/node_modules/lru-cache/test/memory-leak.js
parentef9cd2561e325c82d4d1fcb03fef4582a53d7839 (diff)
Integration of VNFMarket to Main GUI
IssueId : CLIENT-189 Change-Id: I37f49f6447ba2d5fb57779754117549eb315f0b5 Signed-off-by: seshukm <seshu.kumar.m@huawei.com>
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/lru-cache/test/memory-leak.js')
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/lru-cache/test/memory-leak.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/lru-cache/test/memory-leak.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/lru-cache/test/memory-leak.js
new file mode 100644
index 00000000..7af45b02
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/lru-cache/test/memory-leak.js
@@ -0,0 +1,50 @@
+#!/usr/bin/env node --expose_gc
+
+var weak = require('weak');
+var test = require('tap').test
+var LRU = require('../')
+var l = new LRU({ max: 10 })
+var refs = 0
+function X() {
+ refs ++
+ weak(this, deref)
+}
+
+function deref() {
+ refs --
+}
+
+test('no leaks', function (t) {
+ // fill up the cache
+ for (var i = 0; i < 100; i++) {
+ l.set(i, new X);
+ // throw some gets in there, too.
+ if (i % 2 === 0)
+ l.get(i / 2)
+ }
+
+ gc()
+
+ var start = process.memoryUsage()
+
+ // capture the memory
+ var startRefs = refs
+
+ // do it again, but more
+ for (var i = 0; i < 10000; i++) {
+ l.set(i, new X);
+ // throw some gets in there, too.
+ if (i % 2 === 0)
+ l.get(i / 2)
+ }
+
+ gc()
+
+ var end = process.memoryUsage()
+ t.equal(refs, startRefs, 'no leaky refs')
+
+ console.error('start: %j\n' +
+ 'end: %j', start, end);
+ t.pass();
+ t.end();
+})