OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Testing Library For Nacl. | 6 """Testing Library For Nacl. |
7 | 7 |
8 """ | 8 """ |
9 | 9 |
10 import difflib | 10 import difflib |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 def __init__(self): | 95 def __init__(self): |
96 self._start_time = self._GetTime(None) | 96 self._start_time = self._GetTime(None) |
97 | 97 |
98 | 98 |
99 def ElapsedCpuTime(self, proc_handle): | 99 def ElapsedCpuTime(self, proc_handle): |
100 return self._GetTime(proc_handle) - self._start_time | 100 return self._GetTime(proc_handle) - self._start_time |
101 | 101 |
102 def PopenBufSize(): | 102 def PopenBufSize(): |
103 return 1000 * 1000 | 103 return 1000 * 1000 |
104 | 104 |
105 def RunCmdWithInput(cmd, input_data): | |
106 try: | |
107 sys.stdout.flush() # Make sure stdout stays in sync on the bots. | |
108 p = subprocess.Popen(cmd, | |
109 bufsize=PopenBufSize(), | |
110 stdin=subprocess.PIPE) | |
111 p.communicate(input_data) | |
112 retcode = p.wait() | |
113 if retcode != 0: | |
114 print ('Failed to cmd %s (retcode=%d)' % | |
115 (cmd, retcode)) | |
116 return False | |
117 except OSError: | |
118 print 'RunCmdWithInput exception: ' + str(sys.exc_info()[1]) | |
119 return False | |
120 return True | |
121 | |
122 def RunTestWithInput(cmd, input_data): | 105 def RunTestWithInput(cmd, input_data): |
123 """Run a test where we only care about the return code.""" | 106 """Run a test where we only care about the return code.""" |
124 assert type(cmd) == list | 107 assert type(cmd) == list |
125 failed = 0 | 108 failed = 0 |
126 timer = SubprocessCpuTimer() | 109 timer = SubprocessCpuTimer() |
127 p = None | 110 p = None |
128 try: | 111 try: |
129 sys.stdout.flush() # Make sure stdout stays in sync on the bots. | 112 sys.stdout.flush() # Make sure stdout stays in sync on the bots. |
130 if type(input_data) == str: | 113 if type(input_data) == str: |
131 p = subprocess.Popen(cmd, | 114 p = subprocess.Popen(cmd, |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 if group_only: | 261 if group_only: |
279 matched_strings = [] | 262 matched_strings = [] |
280 for s in mobj.groups(): | 263 for s in mobj.groups(): |
281 if s is not None: | 264 if s is not None: |
282 matched_strings.append(s) | 265 matched_strings.append(s) |
283 result.append(''.join(matched_strings)) | 266 result.append(''.join(matched_strings)) |
284 else: | 267 else: |
285 result.append(line) | 268 result.append(line) |
286 | 269 |
287 return '\n'.join(result) | 270 return '\n'.join(result) |
OLD | NEW |