annotate server_tokens.t @ 1021:ebdf239722b9

Tests: relaxed proxy_cache_lock.t nolock tests to fix on Solaris. Assumed that the order of responses being arrived in nolock case may be ignored. An important part of such case is that the only last response should be cached.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 02 Sep 2016 12:17:35 +0300
parents 882267679006
children cfe1bc3162f9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
869
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
1 #!/usr/bin/perl
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
2
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
3 # (C) Andrey Zelenkov
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
4 # (C) Nginx, Inc.
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
5
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
6 # Tests for server_tokens directive.
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
7
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
8 ###############################################################################
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
9
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
10 use warnings;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
11 use strict;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
12
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
13 use Test::More;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
14
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
15 BEGIN { use FindBin; chdir($FindBin::Bin); }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
16
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
17 use lib 'lib';
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
18 use Test::Nginx;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
19
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
20 ###############################################################################
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
21
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
22 select STDERR; $| = 1;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
23 select STDOUT; $| = 1;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
24
877
8c7414010ae8 Tests: adjust server_tokens.t for backed out changes.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 874
diff changeset
25 my $t = Test::Nginx->new()->has(qw/http rewrite/)->plan(9)
869
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
26 ->write_file_expand('nginx.conf', <<'EOF');
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
27
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
28 %%TEST_GLOBALS%%
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
29
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
30 daemon off;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
31
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
32 events {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
33 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
34
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
35 http {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
36 %%TEST_GLOBALS_HTTP%%
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
37
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
38 server {
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
39 listen 127.0.0.1:8080;
881
56ed4be9ff41 Tests: added server_name and fixed indentation in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 878
diff changeset
40 server_name localhost;
869
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
41
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
42 location /200 {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
43 return 200;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
44 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
45
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
46 location /404 {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
47 return 404;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
48 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
49
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
50 location /off {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
51 server_tokens off;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
52
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
53 location /off/200 {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
54 return 200;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
55 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
56
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
57 location /off/404 {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
58 return 404;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
59 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
60 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
61
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
62 location /on {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
63 server_tokens on;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
64
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
65 location /on/200 {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
66 return 200;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
67 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
68
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
69 location /on/404 {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
70 return 404;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
71 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
72 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
73 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
74 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
75
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
76 EOF
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
77
877
8c7414010ae8 Tests: adjust server_tokens.t for backed out changes.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 874
diff changeset
78 $t->run();
869
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
79
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
80 ###############################################################################
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
81
878
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
82 like(http_get_server('/200'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens default 200');
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
83 like(http_get_server('/404'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens default 404');
869
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
84 like(http_body('/404'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens default 404 body');
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
85
878
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
86 is(http_get_server('/off/200'), 'nginx', 'tokens off 200');
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
87 is(http_get_server('/off/404'), 'nginx', 'tokens off 404');
869
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
88 like(http_body('/off/404'), qr/nginx(?!\/)/, 'tokens off 404 body');
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
89
878
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
90 like(http_get_server('/on/200'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens on 200');
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
91 like(http_get_server('/on/404'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens on 404');
869
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
92 like(http_body('/on/404'), qr/nginx\/\d+\.\d+\.\d+/, 'tokens on 404 body');
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
93
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
94 ###############################################################################
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
95
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
96 sub http_body {
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
97 my ($uri) = shift;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
98 return http_get($uri) =~ /.*?\x0d\x0a?\x0d\x0a?(.*)/ms && $1;
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
99 }
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
100
878
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
101 sub http_get_server {
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
102 my ($url) = @_;
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
103 http_get($url) =~ /^Server:\s(.+?)\x0d?$/mi;
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
104 return $1;
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
105 }
327044615c87 Tests: added http_get_server subroutine in server_tokens.t.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 877
diff changeset
106
869
f528369414aa Tests: added tests for server_tokens directive.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
107 ###############################################################################