kopia lustrzana https://github.com/c9/core
65 wiersze
1.8 KiB
JavaScript
65 wiersze
1.8 KiB
JavaScript
|
"use strict";
|
||
|
"use server";
|
||
|
|
||
|
var assert = require("assert");
|
||
|
var blocked = require("./blocked");
|
||
|
|
||
|
module.exports = {
|
||
|
|
||
|
"test normal run should return low blocked time": function(next) {
|
||
|
blocked(function(err, time) {
|
||
|
assert(!err, err);
|
||
|
assert(time < 10);
|
||
|
next();
|
||
|
});
|
||
|
},
|
||
|
"test busy loop should report high blocked time": function(next) {
|
||
|
blocked(function(err, time) {
|
||
|
assert(!err, err);
|
||
|
assert(time >= 100);
|
||
|
next();
|
||
|
});
|
||
|
|
||
|
var start = Date.now();
|
||
|
while (Date.now() - start < 100) {}
|
||
|
},
|
||
|
"test busy loop in setTimeout should report high blocked time": function(next) {
|
||
|
setTimeout(function() {
|
||
|
var start = Date.now();
|
||
|
while (Date.now() - start < 100) {}
|
||
|
}, 0);
|
||
|
|
||
|
blocked(function(err, time) {
|
||
|
assert(!err, err);
|
||
|
assert(time >= 100);
|
||
|
next();
|
||
|
});
|
||
|
},
|
||
|
"test busy loop in setInterval should report high blocked time": function(next) {
|
||
|
var interval = setInterval(function() {
|
||
|
clearInterval(interval);
|
||
|
var start = Date.now();
|
||
|
while (Date.now() - start < 100) {}
|
||
|
});
|
||
|
|
||
|
blocked(function(err, time) {
|
||
|
assert(!err, err);
|
||
|
assert(time >= 100);
|
||
|
next();
|
||
|
});
|
||
|
},
|
||
|
"test busy loop in setImmediate should report high blocked time": function(next) {
|
||
|
setImmediate(function() {
|
||
|
var start = Date.now();
|
||
|
while (Date.now() - start < 100) {}
|
||
|
});
|
||
|
|
||
|
blocked(function(err, time) {
|
||
|
assert(!err, err);
|
||
|
assert(time >= 100);
|
||
|
next();
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
|
||
|
!module.parent && require("asyncjs").test.testcase(module.exports).exec();
|