Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Side by Side Diff: PerformanceTests/Pywebsocket/resources/generate.py

Issue 738753002: [Pywebsocket PerformanceTests 1/2] Add PerformanceTests/Pywebsocket (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Comment for +1. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 '''Generator script for PerformanceTests/Pywebsocket/. Run
6 $ python resources/generate.py
7 at PerformanceTests/Pywebsocket/, and commit the generated files.'''
8
9 import sys
10 import os
11
12
13 def generate(connection_type,
14 benchmark_name,
15 data_type,
16 is_worker,
17 is_async,
18 does_verify):
19 pywebsocket_server = 'http://localhost:8001'
20
21 test_file_name = ('%s-%s%s-%s-%s-%s.html' %
22 (connection_type,
23 benchmark_name,
24 '' if data_type == '' else '-' + data_type,
25 'worker' if is_worker else 'window',
26 'async' if is_async else 'sync',
27 'verify' if does_verify else 'noverify'))
28
29 test_file_content_template = '''<!DOCTYPE html>
30 <head>
31 <script src="../resources/runner.js"></script>
32 <script src="{pywebsocket_server_root}/util.js"></script>
33 <script src="resources/util_performance_test.js"></script>
34 <script src="{pywebsocket_server_root}/{script_name}"></script>
35 </head>
36 <body onload="startPerformanceTest(
37 '{connection_type}',
38 '{benchmark_name}Benchmark',
39 '{data_type}',
40 {is_worker},
41 {is_async},
42 {does_verify})">
43 </body>
44 </html>
45 '''
46
47 if connection_type == 'WebSocket':
48 script_name = 'benchmark.js'
49 elif connection_type == 'XHR':
50 script_name = 'xhr_benchmark.js'
51 else:
52 script_name = 'fetch_benchmark.js'
53
54 test_file_content = test_file_content_template.format(
55 pywebsocket_server_root=pywebsocket_server,
56 script_name=script_name,
57 connection_type=connection_type,
58 benchmark_name=benchmark_name,
59 data_type=data_type,
60 is_worker='true' if is_worker else 'false',
61 is_async='true' if is_async else 'false',
62 does_verify='true' if does_verify else 'false')
63
64 with open(test_file_name, 'w') as f:
65 f.write(test_file_content)
66
67
68 def main():
69 for is_worker in [True, False]:
70 for benchmark_name in ['send', 'receive']:
71 if benchmark_name != 'send':
72 # Disable WebSocket-send tests because it is very slow
73 # without a native module in pywebsocket.
74 generate('WebSocket', benchmark_name, '',
75 is_worker, is_async=True, does_verify=True)
76
77 for data_type in ['arraybuffer', 'blob', 'text']:
78 generate('XHR', benchmark_name, data_type,
79 is_worker, is_async=True, does_verify=True)
80 generate('fetch', benchmark_name, data_type,
81 is_worker, is_async=True, does_verify=True)
82
83 if benchmark_name == 'receive' and not is_worker:
84 # Disable XHR-receive-*-window-sync tests.
85 continue
86
87 for data_type in ['arraybuffer', 'blob', 'text']:
88 generate('XHR', benchmark_name, data_type,
89 is_worker, is_async=False, does_verify=True)
90
91 if __name__ == "__main__":
92 sys.exit(main())
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698