OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """TestEnvironment classes. | 5 """TestEnvironment classes. |
6 | 6 |
7 These classes abstract away the various setups needed to run the WebDriver java | 7 These classes abstract away the various setups needed to run the WebDriver java |
8 tests in various environments. | 8 tests in various environments. |
9 """ | 9 """ |
10 | 10 |
(...skipping 24 matching lines...) Expand all Loading... |
35 """Manages the environment java tests require to run.""" | 35 """Manages the environment java tests require to run.""" |
36 | 36 |
37 def __init__(self, chrome_version='HEAD'): | 37 def __init__(self, chrome_version='HEAD'): |
38 """Initializes a desktop test environment. | 38 """Initializes a desktop test environment. |
39 | 39 |
40 Args: | 40 Args: |
41 chrome_version: Optionally a chrome version to run the tests against. | 41 chrome_version: Optionally a chrome version to run the tests against. |
42 """ | 42 """ |
43 self._chrome_version = chrome_version | 43 self._chrome_version = chrome_version |
44 | 44 |
| 45 def GetOS(self): |
| 46 """Name of the OS.""" |
| 47 raise NotImplementedError |
| 48 |
45 def GlobalSetUp(self): | 49 def GlobalSetUp(self): |
46 """Sets up the global test environment state.""" | 50 """Sets up the global test environment state.""" |
47 pass | 51 pass |
48 | 52 |
49 def GlobalTearDown(self): | 53 def GlobalTearDown(self): |
50 """Tears down the global test environment state.""" | 54 """Tears down the global test environment state.""" |
51 pass | 55 pass |
52 | 56 |
53 def GetPassedJavaTestFilter(self): | 57 def GetPassedJavaTestFilter(self): |
54 """Returns the test filter for running all passing tests. | 58 """Get the test filter for running all passing tests. |
55 | 59 |
56 Returns: | 60 Returns: |
57 Filter string, in Google Test (C++) format. | 61 Filter string, in Google Test (C++) format. |
58 """ | 62 """ |
59 raise NotImplementedError | 63 return _EXPECTATIONS['GetPassedJavaTestFilter']( |
| 64 'android', self._chrome_version) |
| 65 |
| 66 def GetPassedJavaTests(self): |
| 67 """Get the list of passed java tests. |
| 68 |
| 69 Returns: |
| 70 List of passed test names. |
| 71 """ |
| 72 with open(os.path.join(_THIS_DIR, 'java_tests.txt'), 'r') as f: |
| 73 return _EXPECTATIONS['ApplyJavaTestFilter']( |
| 74 'android', self._chrome_version, |
| 75 [t.strip('\n') for t in f.readlines()]) |
60 | 76 |
61 | 77 |
62 class DesktopTestEnvironment(BaseTestEnvironment): | 78 class DesktopTestEnvironment(BaseTestEnvironment): |
63 """Manages the environment java tests require to run on Desktop.""" | 79 """Manages the environment java tests require to run on Desktop.""" |
64 | 80 |
65 #override | 81 #override |
66 def GetPassedJavaTestFilter(self): | 82 def GetOS(self): |
67 return _EXPECTATIONS['GetPassedJavaTestFilter']( | 83 return util.GetPlatformName() |
68 util.GetPlatformName(), self._chrome_version) | |
69 | 84 |
70 | 85 |
71 class AndroidTestEnvironment(DesktopTestEnvironment): | 86 class AndroidTestEnvironment(DesktopTestEnvironment): |
72 """Manages the environment java tests require to run on Android.""" | 87 """Manages the environment java tests require to run on Android.""" |
73 | 88 |
74 def __init__(self, chrome_version='HEAD'): | 89 def __init__(self, chrome_version='HEAD'): |
75 super(AndroidTestEnvironment, self).__init__(chrome_version) | 90 super(AndroidTestEnvironment, self).__init__(chrome_version) |
76 self._adb = None | 91 self._adb = None |
77 self._forwarder = None | 92 self._forwarder = None |
78 | 93 |
79 #override | 94 #override |
80 def GlobalSetUp(self): | 95 def GlobalSetUp(self): |
81 os.putenv('TEST_HTTP_PORT', str(ANDROID_TEST_HTTP_PORT)) | 96 os.putenv('TEST_HTTP_PORT', str(ANDROID_TEST_HTTP_PORT)) |
82 os.putenv('TEST_HTTPS_PORT', str(ANDROID_TEST_HTTPS_PORT)) | 97 os.putenv('TEST_HTTPS_PORT', str(ANDROID_TEST_HTTPS_PORT)) |
83 self._adb = android_commands.AndroidCommands() | 98 self._adb = android_commands.AndroidCommands() |
84 self._forwarder = forwarder.Forwarder(self._adb, 'Debug') | 99 self._forwarder = forwarder.Forwarder(self._adb, 'Debug') |
85 self._forwarder.Run( | 100 self._forwarder.Run( |
86 [(ANDROID_TEST_HTTP_PORT, ANDROID_TEST_HTTP_PORT), | 101 [(ANDROID_TEST_HTTP_PORT, ANDROID_TEST_HTTP_PORT), |
87 (ANDROID_TEST_HTTPS_PORT, ANDROID_TEST_HTTPS_PORT)], | 102 (ANDROID_TEST_HTTPS_PORT, ANDROID_TEST_HTTPS_PORT)], |
88 valgrind_tools.BaseTool(), '127.0.0.1') | 103 valgrind_tools.BaseTool(), '127.0.0.1') |
89 | 104 |
90 #override | 105 #override |
91 def GlobalTearDown(self): | 106 def GlobalTearDown(self): |
92 if self._adb is not None: | 107 if self._adb is not None: |
93 forwarder.Forwarder.KillDevice(self._adb, valgrind_tools.BaseTool()) | 108 forwarder.Forwarder.KillDevice(self._adb, valgrind_tools.BaseTool()) |
94 if self._forwarder is not None: | 109 if self._forwarder is not None: |
95 self._forwarder.Close() | 110 self._forwarder.Close() |
96 | 111 |
97 #override | 112 #override |
98 def GetPassedJavaTestFilter(self): | 113 def GetOS(self): |
99 return _EXPECTATIONS['GetPassedJavaTestFilter']( | 114 return 'android' |
100 'android', self._chrome_version) | |
OLD | NEW |