annotate js_async.t @ 1606:e4e0695552ed

Tests: fixed stream_proxy_ssl_conf_command.t. The stream_proxy_ssl_conf_command.t test used stream return module to return the response. Since this ignores actual request, but the perl test code used http_get(). This might result in the request being sent after the response is returned and the connection closed by the server, resulting in RST being generated and no response seen by the client at all. Fix is to use "stream(...)->read()" instead of http_get(), so no request is sent at all, eliminating possibility of RST being generated.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 10 Nov 2020 05:03:29 +0300
parents 9d8b100a6ce3
children 9e0347f4df11
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
1 #!/usr/bin/perl
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
2
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
3 # (C) Dmitry Volyntsev
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
4 # (C) Nginx, Inc.
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
5
1375
f168fc46c7a4 Tests: renamed JavaScript to njs.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1304
diff changeset
6 # Async tests for http njs module.
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
7
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
8 ###############################################################################
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
9
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
10 use warnings;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
11 use strict;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
12
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
13 use Test::More;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
14
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
15 BEGIN { use FindBin; chdir($FindBin::Bin); }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
16
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
17 use lib 'lib';
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
18 use Test::Nginx;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
19
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
20 ###############################################################################
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
21
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
22 select STDERR; $| = 1;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
23 select STDOUT; $| = 1;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
24
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
25 my $t = Test::Nginx->new()->has(qw/http rewrite/)
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
26 ->write_file_expand('nginx.conf', <<'EOF');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
27
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
28 %%TEST_GLOBALS%%
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
29
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
30 daemon off;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
31
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
32 events {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
33 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
34
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
35 http {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
36 %%TEST_GLOBALS_HTTP%%
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
37
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
38 js_set $test_async set_timeout;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
39 js_set $context_var context_var;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
40
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
41 js_include test.js;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
42
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
43 server {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
44 listen 127.0.0.1:8080;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
45 server_name localhost;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
46
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
47 location /async_var {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
48 return 200 $test_async;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
49 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
50
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
51 location /shared_ctx {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
52 add_header H $context_var;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
53 js_content shared_ctx;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
54 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
55
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
56 location /set_timeout {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
57 js_content set_timeout;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
58 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
59
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
60 location /set_timeout_many {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
61 js_content set_timeout_many;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
62 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
63
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
64 location /set_timeout_data {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
65 postpone_output 0;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
66 js_content set_timeout_data;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
67 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
68
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
69 location /limit_rate {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
70 postpone_output 0;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
71 sendfile_max_chunk 5;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
72 js_content limit_rate;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
73 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
74 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
75 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
76
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
77 EOF
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
78
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
79 $t->write_file('test.js', <<EOF);
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
80 function set_timeout(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
81 var timerId = setTimeout(timeout_cb_r, 5, r, 0);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
82 clearTimeout(timerId);
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
83 setTimeout(timeout_cb_r, 5, r, 0)
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
84 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
85
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
86 function set_timeout_data(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
87 setTimeout(timeout_cb_data, 5, r, 0);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
88 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
89
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
90 function set_timeout_many(r) {
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
91 for (var i = 0; i < 5; i++) {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
92 setTimeout(timeout_cb_empty, 5, r, i);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
93 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
94
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
95 setTimeout(timeout_cb_reply, 10, r);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
96 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
97
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
98 function timeout_cb_r(r, cnt) {
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
99 if (cnt == 10) {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
100 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
101 r.headersOut['Content-Type'] = 'foo';
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
102 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
103 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
104
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
105 } else {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
106 setTimeout(timeout_cb_r, 5, r, ++cnt);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
107 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
108 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
109
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
110 function timeout_cb_empty(r, arg) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
111 r.log("timeout_cb_empty" + arg);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
112 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
113
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
114 function timeout_cb_reply(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
115 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
116 r.headersOut['Content-Type'] = 'reply';
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
117 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
118 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
119 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
120
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
121 function timeout_cb_data(r, counter) {
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
122 if (counter == 0) {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
123 r.log("timeout_cb_data: init");
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
124 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
125 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
126 setTimeout(timeout_cb_data, 5, r, ++counter);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
127
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
128 } else if (counter == 10) {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
129 r.log("timeout_cb_data: finish");
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
130 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
131
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
132 } else {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
133 r.send("" + counter);
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
134 setTimeout(timeout_cb_data, 5, r, ++counter);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
135 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
136 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
137
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
138 var js_;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
139 function context_var() {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
140 return js_;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
141 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
142
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
143 function shared_ctx(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
144 js_ = r.variables.arg_a;
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
145
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
146 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
147 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
148 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
149 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
150
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
151 function limit_rate_cb(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
152 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
153 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
154
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
155 function limit_rate(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
156 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
157 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
158 r.send("AAAAA".repeat(10))
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
159 setTimeout(limit_rate_cb, 1000, r);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
160 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
161
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
162 EOF
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
163
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
164 $t->try_run('no njs available')->plan(7);
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
165
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
166 ###############################################################################
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
167
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
168 like(http_get('/set_timeout'), qr/Content-Type: foo/, 'setTimeout');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
169 like(http_get('/set_timeout_many'), qr/Content-Type: reply/, 'setTimeout many');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
170 like(http_get('/set_timeout_data'), qr/123456789/, 'setTimeout data');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
171 like(http_get('/shared_ctx?a=xxx'), qr/H: xxx/, 'shared context');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
172 like(http_get('/limit_rate'), qr/A{50}/, 'limit_rate');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
173
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
174 http_get('/async_var');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
175
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
176 $t->stop();
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
177
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
178 ok(index($t->read_file('error.log'), 'pending events') > 0,
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
179 'pending js events');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
180 ok(index($t->read_file('error.log'), 'async operation inside') > 0,
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
181 'async op in var handler');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
182
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
183 ###############################################################################