diff --git a/h2_server_tokens.t b/h2_server_tokens.t
index 3f48a1f..ff8b62e 100644
--- a/h2_server_tokens.t
+++ b/h2_server_tokens.t
@@ -23,7 +23,7 @@
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-my $t = Test::Nginx->new()->has(qw/http http_v2 rewrite/)->plan(9)
+my $t = Test::Nginx->new()->has(qw/http http_v2 rewrite/)
 	->write_file_expand('nginx.conf', <<'EOF');
 
 %%TEST_GLOBALS%%
@@ -71,12 +71,24 @@
                 return 404;
             }
         }
+
+        location /b {
+            server_tokens build;
+
+            location /b/200 {
+                return 200;
+            }
+
+            location /b/404 {
+                return 404;
+            }
+        }
     }
 }
 
 EOF
 
-$t->run();
+$t->try_run('no server_tokens build')->plan(12);
 
 ###############################################################################
 
@@ -94,6 +106,17 @@
 like(header_server('/on/404'), qr/^$re$/, 'http2 tokens on 404');
 like(body('/on/404'), $re, 'http2 tokens on 404 body');
 
+$re = qr/$re \Q($1)\E/ if $t->{_configure_args} =~ /--build=(\S+)/;
+
+TODO: {
+local $TODO = 'not yet';
+
+like(header_server('/b/200'), qr/^$re$/, 'http2 tokens build 200');
+like(header_server('/b/404'), qr/^$re$/, 'http2 tokens build 404');
+like(body('/b/404'), qr/$re/, 'http2 tokens build 404 body');
+
+}
+
 ###############################################################################
 
 sub header_server {
diff --git a/server_tokens.t b/server_tokens.t
index 9bffa92..7ee437e 100644
--- a/server_tokens.t
+++ b/server_tokens.t
@@ -22,7 +22,7 @@
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-my $t = Test::Nginx->new()->has(qw/http rewrite/)->plan(9)
+my $t = Test::Nginx->new()->has(qw/http rewrite/)
 	->write_file_expand('nginx.conf', <<'EOF');
 
 %%TEST_GLOBALS%%
@@ -70,12 +70,24 @@
                 return 404;
             }
         }
+
+        location /b {
+            server_tokens build;
+
+            location /b/200 {
+                return 200;
+            }
+
+            location /b/404 {
+                return 404;
+            }
+        }
     }
 }
 
 EOF
 
-$t->run();
+$t->try_run('no server_tokens build')->plan(12);
 
 ###############################################################################
 
@@ -93,6 +105,17 @@
 like(http_get_server('/on/404'), $re, 'tokens on 404');
 like(http_body('/on/404'), $re, 'tokens on 404 body');
 
+$re = qr/$re \Q($1)\E/ if $t->{_configure_args} =~ /--build=(\S+)/;
+
+TODO: {
+local $TODO = 'not yet';
+
+like(http_get_server('/b/200'), $re, 'tokens build 200');
+like(http_get_server('/b/404'), $re, 'tokens build 404');
+like(http_body('/b/404'), $re, 'tokens build 404 body');
+
+}
+
 ###############################################################################
 
 sub http_body {
