You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-04 15:02:09 +03:00
Make windows tests more robust
This commit is contained in:
@ -211,7 +211,7 @@ describe("connection tests", function () {
|
|||||||
describe("when not connected", function () {
|
describe("when not connected", function () {
|
||||||
|
|
||||||
it("emit an error after the socket timeout exceeded the connect_timeout time", function (done) {
|
it("emit an error after the socket timeout exceeded the connect_timeout time", function (done) {
|
||||||
var connect_timeout = 1000; // in ms
|
var connect_timeout = 500; // in ms
|
||||||
var time = Date.now();
|
var time = Date.now();
|
||||||
client = redis.createClient({
|
client = redis.createClient({
|
||||||
parser: parser,
|
parser: parser,
|
||||||
@ -232,8 +232,9 @@ describe("connection tests", function () {
|
|||||||
client.on('error', function(err) {
|
client.on('error', function(err) {
|
||||||
assert(/Redis connection in broken state: connection timeout.*?exceeded./.test(err.message));
|
assert(/Redis connection in broken state: connection timeout.*?exceeded./.test(err.message));
|
||||||
// The code execution on windows is very slow at times
|
// The code execution on windows is very slow at times
|
||||||
|
var add = process.platform !== 'win32' ? 25 : 125;
|
||||||
var now = Date.now();
|
var now = Date.now();
|
||||||
assert(now - time < connect_timeout + 50, 'The real timeout time should be below ' + (connect_timeout + 50) + 'ms but is: ' + (now - time));
|
assert(now - time < connect_timeout + add, 'The real timeout time should be below ' + (connect_timeout + add) + 'ms but is: ' + (now - time));
|
||||||
// Timers sometimes trigger early (e.g. 1ms to early)
|
// Timers sometimes trigger early (e.g. 1ms to early)
|
||||||
assert(now - time >= connect_timeout - 3, 'The real timeout time should be above ' + connect_timeout + 'ms, but it is: ' + (now - time));
|
assert(now - time >= connect_timeout - 3, 'The real timeout time should be above ' + connect_timeout + 'ms, but it is: ' + (now - time));
|
||||||
done();
|
done();
|
||||||
|
@ -73,7 +73,7 @@ describe("The 'multi' method", function () {
|
|||||||
describe('pipeline limit', function () {
|
describe('pipeline limit', function () {
|
||||||
|
|
||||||
it('do not exceed maximum string size', function (done) {
|
it('do not exceed maximum string size', function (done) {
|
||||||
this.timeout(25000); // Windows tests are horribly slow
|
this.timeout(30000); // Windows tests are horribly slow
|
||||||
// Triggers a RangeError: Invalid string length if not handled properly
|
// Triggers a RangeError: Invalid string length if not handled properly
|
||||||
client = redis.createClient();
|
client = redis.createClient();
|
||||||
var multi = client.multi();
|
var multi = client.multi();
|
||||||
|
@ -569,28 +569,25 @@ describe("The node_redis client", function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('retry_max_delay', function () {
|
describe('retry_max_delay', function () {
|
||||||
var args = config.configureClient(parser, ip, {
|
|
||||||
retry_max_delay: 1 // ms
|
|
||||||
});
|
|
||||||
|
|
||||||
it("sets upper bound on how long client waits before reconnecting", function (done) {
|
it("sets upper bound on how long client waits before reconnecting", function (done) {
|
||||||
var time = new Date().getTime();
|
var time;
|
||||||
var reconnecting = false;
|
var timeout = process.platform !== 'win32' ? 20 : 100;
|
||||||
|
|
||||||
client = redis.createClient.apply(redis.createClient, args);
|
client = redis.createClient.apply(null, config.configureClient(parser, ip, {
|
||||||
|
retry_max_delay: 1 // ms
|
||||||
|
}));
|
||||||
client.on('ready', function() {
|
client.on('ready', function() {
|
||||||
if (!reconnecting) {
|
if (this.times_connected === 1) {
|
||||||
reconnecting = true;
|
this.stream.end();
|
||||||
client.retry_delay = 1000;
|
time = Date.now();
|
||||||
client.retry_backoff = 1;
|
|
||||||
client.stream.end();
|
|
||||||
} else {
|
} else {
|
||||||
client.end(true);
|
done();
|
||||||
var lasted = new Date().getTime() - time;
|
|
||||||
assert.ok(lasted < 100);
|
|
||||||
return done();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
client.on('reconnecting', function () {
|
||||||
|
time = Date.now() - time;
|
||||||
|
assert(time < timeout, 'The reconnect should not have taken longer than ' + timeout + ' but it took ' + time);
|
||||||
|
});
|
||||||
client.on('error', function (err) {
|
client.on('error', function (err) {
|
||||||
// This is rare but it might be triggered.
|
// This is rare but it might be triggered.
|
||||||
// So let's have a robust test
|
// So let's have a robust test
|
||||||
|
Reference in New Issue
Block a user