| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2013 The Chromium Authors. All rights reserved. | 2 # Copyright 2013 The Chromium 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 import hashlib | 6 import hashlib |
| 7 import json | 7 import json |
| 8 import logging | 8 import logging |
| 9 import os | 9 import os |
| 10 import re | 10 import re |
| 11 import shutil | 11 import shutil |
| 12 import subprocess | 12 import subprocess |
| 13 import sys | 13 import sys |
| 14 import tempfile | 14 import tempfile |
| 15 import unittest | 15 import unittest |
| 16 | 16 |
| 17 GOOGLETEST_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | 17 GOOGLETEST_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
| 18 ROOT_DIR = os.path.dirname(GOOGLETEST_DIR) | 18 ROOT_DIR = os.path.dirname(GOOGLETEST_DIR) |
| 19 | 19 |
| 20 sys.path.insert(0, GOOGLETEST_DIR) | 20 sys.path.insert(0, GOOGLETEST_DIR) |
| 21 sys.path.insert(0, ROOT_DIR) | 21 sys.path.insert(0, ROOT_DIR) |
| 22 | 22 |
| 23 import isolate | 23 import isolate |
| 24 import trace_test_cases | 24 import trace_test_cases |
| 25 from utils import file_path |
| 25 | 26 |
| 26 | 27 |
| 27 class IsolateTestCases(unittest.TestCase): | 28 class IsolateTestCases(unittest.TestCase): |
| 28 def setUp(self): | 29 def setUp(self): |
| 29 self.tempdir = None | 30 self.tempdir = None |
| 30 | 31 |
| 31 self.initial_cwd = ROOT_DIR | 32 self.initial_cwd = ROOT_DIR |
| 32 if sys.platform == 'win32': | 33 if sys.platform == 'win32': |
| 33 # Windows has no kernel mode concept of current working directory. | 34 # Windows has no kernel mode concept of current working directory. |
| 34 self.initial_cwd = None | 35 self.initial_cwd = None |
| 35 | 36 |
| 36 # There's 2 kinds of references to python, self.executable, | 37 # There's 2 kinds of references to python, self.executable, |
| 37 # self.real_executable. It depends how python was started and on which OS. | 38 # self.real_executable. It depends how python was started and on which OS. |
| 38 self.executable = unicode(sys.executable) | 39 self.executable = unicode(sys.executable) |
| 39 if sys.platform == 'darwin': | 40 if sys.platform == 'darwin': |
| 40 # /usr/bin/python is a thunk executable that decides which version of | 41 # /usr/bin/python is a thunk executable that decides which version of |
| 41 # python gets executed. | 42 # python gets executed. |
| 42 suffix = '.'.join(map(str, sys.version_info[0:2])) | 43 suffix = '.'.join(map(str, sys.version_info[0:2])) |
| 43 if os.access(self.executable + suffix, os.X_OK): | 44 if os.access(self.executable + suffix, os.X_OK): |
| 44 # So it'll look like /usr/bin/python2.7 | 45 # So it'll look like /usr/bin/python2.7 |
| 45 self.executable += suffix | 46 self.executable += suffix |
| 46 | 47 |
| 47 self.real_executable = isolate.trace_inputs.get_native_path_case( | 48 self.real_executable = file_path.get_native_path_case( |
| 48 self.executable) | 49 self.executable) |
| 49 # Make sure there's no environment variable that could cause side effects. | 50 # Make sure there's no environment variable that could cause side effects. |
| 50 os.environ.pop('GTEST_SHARD_INDEX', '') | 51 os.environ.pop('GTEST_SHARD_INDEX', '') |
| 51 os.environ.pop('GTEST_TOTAL_SHARDS', '') | 52 os.environ.pop('GTEST_TOTAL_SHARDS', '') |
| 52 | 53 |
| 53 def tearDown(self): | 54 def tearDown(self): |
| 54 if self.tempdir: | 55 if self.tempdir: |
| 55 if VERBOSE: | 56 if VERBOSE: |
| 56 # If -v is used, this means the user wants to do further analisys on | 57 # If -v is used, this means the user wants to do further analisys on |
| 57 # the data. | 58 # the data. |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 }], | 211 }], |
| 211 ]), | 212 ]), |
| 212 } | 213 } |
| 213 self.assertEqual(expected, actual) | 214 self.assertEqual(expected, actual) |
| 214 | 215 |
| 215 | 216 |
| 216 if __name__ == '__main__': | 217 if __name__ == '__main__': |
| 217 VERBOSE = '-v' in sys.argv | 218 VERBOSE = '-v' in sys.argv |
| 218 logging.basicConfig(level=logging.DEBUG if VERBOSE else logging.ERROR) | 219 logging.basicConfig(level=logging.DEBUG if VERBOSE else logging.ERROR) |
| 219 unittest.main() | 220 unittest.main() |
| OLD | NEW |