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

Side by Side Diff: snapshot/win/end_to_end_test.py

Issue 1409693011: win: Only retry in UseHandler() loop on ERROR_PIPE_BUSY (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: fixes Created 5 years, 1 month 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
« no previous file with comments | « no previous file | util/win/registration_protocol_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 # Copyright 2015 The Crashpad Authors. All rights reserved. 3 # Copyright 2015 The Crashpad Authors. All rights reserved.
4 # 4 #
5 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License. 6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at 7 # You may obtain a copy of the License at
8 # 8 #
9 # http://www.apache.org/licenses/LICENSE-2.0 9 # http://www.apache.org/licenses/LICENSE-2.0
10 # 10 #
11 # Unless required by applicable law or agreed to in writing, software 11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, 12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and 14 # See the License for the specific language governing permissions and
15 # limitations under the License. 15 # limitations under the License.
16 16
17 import os 17 import os
18 import platform 18 import platform
19 import random 19 import random
20 import re 20 import re
21 import subprocess 21 import subprocess
22 import sys 22 import sys
23 import tempfile 23 import tempfile
24 import time
24 25
25 g_temp_dirs = [] 26 g_temp_dirs = []
26 27
27 28
28 def MakeTempDir(): 29 def MakeTempDir():
29 global g_temp_dirs 30 global g_temp_dirs
30 new_dir = tempfile.mkdtemp() 31 new_dir = tempfile.mkdtemp()
31 g_temp_dirs.append(new_dir) 32 g_temp_dirs.append(new_dir)
32 return new_dir 33 return new_dir
33 34
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 print 'could not initialize report database' 95 print 'could not initialize report database'
95 return None 96 return None
96 97
97 if pipe_name is not None: 98 if pipe_name is not None:
98 handler = subprocess.Popen([ 99 handler = subprocess.Popen([
99 os.path.join(out_dir, 'crashpad_handler.exe'), 100 os.path.join(out_dir, 'crashpad_handler.exe'),
100 '--pipe-name=' + pipe_name, 101 '--pipe-name=' + pipe_name,
101 '--database=' + test_database 102 '--database=' + test_database
102 ]) 103 ])
103 104
105 # Wait until the server is ready.
106 printed = False
107 while not os.path.exists(pipe_name):
108 if not printed:
109 print 'Waiting for crashpad_handler to be ready...'
110 printed = True
111 time.sleep(0.1)
112
104 subprocess.call([os.path.join(out_dir, executable_name), pipe_name]) 113 subprocess.call([os.path.join(out_dir, executable_name), pipe_name])
105 else: 114 else:
106 subprocess.call([os.path.join(out_dir, executable_name), 115 subprocess.call([os.path.join(out_dir, executable_name),
107 os.path.join(out_dir, 'crashpad_handler.exe'), 116 os.path.join(out_dir, 'crashpad_handler.exe'),
108 test_database]) 117 test_database])
109 118
110 out = subprocess.check_output([ 119 out = subprocess.check_output([
111 os.path.join(out_dir, 'crashpad_database_util.exe'), 120 os.path.join(out_dir, 'crashpad_database_util.exe'),
112 '--database=' + test_database, 121 '--database=' + test_database,
113 '--show-completed-reports', 122 '--show-completed-reports',
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 z7_dump_path, 304 z7_dump_path,
296 pipe_name) 305 pipe_name)
297 306
298 return 0 307 return 0
299 finally: 308 finally:
300 CleanUpTempDirs() 309 CleanUpTempDirs()
301 310
302 311
303 if __name__ == '__main__': 312 if __name__ == '__main__':
304 sys.exit(main(sys.argv[1:])) 313 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | util/win/registration_protocol_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698