1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
# vim:set ft= ts=4 sw=4 et fdm=marker:
use Test::Nginx::Socket::Lua;
repeat_each(1);
plan tests => blocks() * (repeat_each() * 3);
run_tests();
__DATA__
=== TEST 1: running count with no running timers
--- config
location /timers {
content_by_lua_block { ngx.say(ngx.timer.running_count()) }
}
--- request
GET /timers
--- response_body
0
--- no_error_log
[error]
=== TEST 2: running count with no pending timers
--- config
location /timers {
content_by_lua_block { ngx.say(ngx.timer.pending_count()) }
}
--- request
GET /timers
--- response_body
0
--- no_error_log
[error]
=== TEST 3: pending count with one pending timer
--- config
location /timers {
content_by_lua_block {
ngx.timer.at(3, function() end)
ngx.say(ngx.timer.pending_count())
}
}
--- request
GET /timers
--- response_body
1
--- no_error_log
[error]
=== TEST 4: pending count with 3 pending timers
--- config
location /timers {
content_by_lua_block {
ngx.timer.at(4, function() end)
ngx.timer.at(2, function() end)
ngx.timer.at(1, function() end)
ngx.say(ngx.timer.pending_count())
}
}
--- request
GET /timers
--- response_body
3
--- no_error_log
[error]
=== TEST 5: one running timer
--- config
location /timers {
content_by_lua_block {
ngx.timer.at(0.1, function() ngx.sleep(0.3) end)
ngx.sleep(0.2)
ngx.say(ngx.timer.running_count())
}
}
--- request
GET /timers
--- response_body
1
--- no_error_log
[error]
=== TEST 6: 3 running timers
--- config
location /timers {
content_by_lua_block {
ngx.timer.at(0.1, function() ngx.sleep(0.3) end)
ngx.timer.at(0.11, function() ngx.sleep(0.3) end)
ngx.timer.at(0.09, function() ngx.sleep(0.3) end)
ngx.sleep(0.2)
ngx.say(ngx.timer.running_count())
}
}
--- request
GET /timers
--- response_body
3
--- no_error_log
[error]
|