summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2017-02-08 15:33:52 +0100
committerBen Noordhuis <info@bnoordhuis.nl>2017-02-11 14:20:50 +0100
commitda52fcdcf5b502cf3fc23d1ab943422a19e956ac (patch)
treec48edcf1328e21f2596fcc424aa872c4590eb641
parentf8cdaaa16ad01b946c7528c473f7fb80cfbeb3a2 (diff)
downloadandroid-node-v8-da52fcdcf5b502cf3fc23d1ab943422a19e956ac.tar.gz
android-node-v8-da52fcdcf5b502cf3fc23d1ab943422a19e956ac.tar.bz2
android-node-v8-da52fcdcf5b502cf3fc23d1ab943422a19e956ac.zip
test: don't call process.exit() in gc tests
Rewrite the tests in test/gc so that they no longer call process.exit(). Instead they exit gracefully now. PR-URL: https://github.com/nodejs/node/pull/11239 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
-rw-r--r--test/gc/test-http-client-connaborted.js15
-rw-r--r--test/gc/test-http-client-onerror.js15
-rw-r--r--test/gc/test-http-client-timeout.js15
-rw-r--r--test/gc/test-http-client.js9
-rw-r--r--test/gc/test-net-timeout.js11
5 files changed, 9 insertions, 56 deletions
diff --git a/test/gc/test-http-client-connaborted.js b/test/gc/test-http-client-connaborted.js
index 6ff2a282d8..30ec63b885 100644
--- a/test/gc/test-http-client-connaborted.js
+++ b/test/gc/test-http-client-connaborted.js
@@ -10,7 +10,6 @@ function serverHandler(req, res) {
const http = require('http');
const weak = require('weak');
-const assert = require('assert');
const todo = 500;
let done = 0;
let count = 0;
@@ -28,7 +27,6 @@ function getall() {
(function() {
function cb(res) {
done += 1;
- statusLater();
}
const req = http.get({
@@ -51,20 +49,11 @@ function afterGC() {
countGC++;
}
-let timer;
-function statusLater() {
- global.gc();
- if (timer) clearTimeout(timer);
- timer = setTimeout(status, 1);
-}
+setInterval(status, 100).unref();
function status() {
global.gc();
console.log('Done: %d/%d', done, todo);
console.log('Collected: %d/%d', countGC, count);
- if (done === todo) {
- console.log('All should be collected now.');
- assert.strictEqual(count, countGC);
- process.exit(0);
- }
+ if (countGC === todo) server.close();
}
diff --git a/test/gc/test-http-client-onerror.js b/test/gc/test-http-client-onerror.js
index b17ab428a2..aac622b390 100644
--- a/test/gc/test-http-client-onerror.js
+++ b/test/gc/test-http-client-onerror.js
@@ -12,7 +12,6 @@ function serverHandler(req, res) {
const http = require('http');
const weak = require('weak');
-const assert = require('assert');
const todo = 500;
let done = 0;
let count = 0;
@@ -31,7 +30,6 @@ function getall() {
function cb(res) {
res.resume();
done += 1;
- statusLater();
}
function onerror(er) {
throw er;
@@ -59,20 +57,11 @@ function afterGC() {
countGC++;
}
-let timer;
-function statusLater() {
- global.gc();
- if (timer) clearTimeout(timer);
- timer = setTimeout(status, 1);
-}
+setInterval(status, 100).unref();
function status() {
global.gc();
console.log('Done: %d/%d', done, todo);
console.log('Collected: %d/%d', countGC, count);
- if (done === todo) {
- console.log('All should be collected now.');
- assert.strictEqual(count, countGC);
- process.exit(0);
- }
+ if (countGC === todo) server.close();
}
diff --git a/test/gc/test-http-client-timeout.js b/test/gc/test-http-client-timeout.js
index fb4e8ba0f7..2ef54cad79 100644
--- a/test/gc/test-http-client-timeout.js
+++ b/test/gc/test-http-client-timeout.js
@@ -14,7 +14,6 @@ function serverHandler(req, res) {
const http = require('http');
const weak = require('weak');
-const assert = require('assert');
const todo = 550;
let done = 0;
let count = 0;
@@ -33,7 +32,6 @@ function getall() {
function cb(res) {
res.resume();
done += 1;
- statusLater();
}
const req = http.get({
@@ -60,20 +58,11 @@ function afterGC() {
countGC++;
}
-let timer;
-function statusLater() {
- global.gc();
- if (timer) clearTimeout(timer);
- timer = setTimeout(status, 1);
-}
+setInterval(status, 100).unref();
function status() {
global.gc();
console.log('Done: %d/%d', done, todo);
console.log('Collected: %d/%d', countGC, count);
- if (done === todo) {
- console.log('All should be collected now.');
- assert.strictEqual(count, countGC);
- process.exit(0);
- }
+ if (countGC === todo) server.close();
}
diff --git a/test/gc/test-http-client.js b/test/gc/test-http-client.js
index f81cab0b09..03c159fa24 100644
--- a/test/gc/test-http-client.js
+++ b/test/gc/test-http-client.js
@@ -10,7 +10,6 @@ function serverHandler(req, res) {
const http = require('http');
const weak = require('weak');
-const assert = require('assert');
const todo = 500;
let done = 0;
let count = 0;
@@ -54,15 +53,11 @@ function afterGC() {
countGC++;
}
-setInterval(status, 1000).unref();
+setInterval(status, 100).unref();
function status() {
global.gc();
console.log('Done: %d/%d', done, todo);
console.log('Collected: %d/%d', countGC, count);
- if (done === todo) {
- console.log('All should be collected now.');
- assert.strictEqual(count, countGC);
- process.exit(0);
- }
+ if (countGC === todo) server.close();
}
diff --git a/test/gc/test-net-timeout.js b/test/gc/test-net-timeout.js
index b8ea8e2089..ce71f4d9e8 100644
--- a/test/gc/test-net-timeout.js
+++ b/test/gc/test-net-timeout.js
@@ -62,14 +62,5 @@ function status() {
global.gc();
console.log('Done: %d/%d', done, todo);
console.log('Collected: %d/%d', countGC, count);
- if (done === todo) {
- /* Give libuv some time to make close callbacks. */
- setTimeout(function() {
- global.gc();
- console.log('All should be collected now.');
- console.log('Collected: %d/%d', countGC, count);
- assert.strictEqual(count, countGC);
- process.exit(0);
- }, 200);
- }
+ if (countGC === todo) server.close();
}