66
77import http .server
88import os
9+ from pathlib import *
910
1011from functools import partial
1112
@@ -25,7 +26,10 @@ def end_headers(self):
2526 parser .add_argument ('--bind' , '-b' , default = 'localhost' , metavar = 'ADDRESS' ,
2627 help = 'Specify alternate bind address '
2728 '[default: localhost - pass \' \' if you want to serve remote clients]' )
28- parser .add_argument ('--directory' , '-d' , default = os .getcwd (),
29+ parser .add_argument ('--port' , action = 'store' ,
30+ default = 8000 , type = int ,
31+ help = 'Specify alternate port [default: 8000]' )
32+ parser .add_argument ('--directory' , '-d' ,
2933 help = 'Specify alternative directory '
3034 '[default:current directory]' )
3135 parser .add_argument ('port' , action = 'store' ,
@@ -34,9 +38,18 @@ def end_headers(self):
3438 help = 'Specify alternate port [default: 8000]' )
3539 args = parser .parse_args ()
3640
37- handler_class = partial (NoCacheRequestHandler , directory = args .directory )
41+ serve_dir = Path (os .getcwd ())
42+ if args .directory :
43+ serve_dir = Path (args .directory )
44+
45+ handler_class = partial (NoCacheRequestHandler , directory = serve_dir )
3846
47+ checkout_dir = Path (__file__ ).parent
48+ url = f'http://{ args .bind } :{ args .port } '
3949 server = http .server .ThreadingHTTPServer ((args .bind , args .port ), handler_class )
40- print ('Serving ThreadingHTTPServer for' , args , 'at:' )
41- print (f'\t http://{ args .bind } :{ args .port } /' )
50+ print (f'Serving { serve_dir } :' )
51+ print (f'\t { url } /' )
52+ if serve_dir == checkout_dir :
53+ print (f'CTS Test Runner:' )
54+ print (f'\t { url } /sdk/tests/webgl-conformance-tests.html' )
4255 server .serve_forever ()
0 commit comments