OLD | NEW |
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2010 The Chromium OS 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 import logging, shutil | 5 import logging, os, shutil |
6 from autotest_lib.client.common_lib import site_httpd, utils | 6 from autotest_lib.client.common_lib import site_httpd, utils |
7 | 7 |
8 | 8 |
9 def xcommand(cmd): | 9 def xcommand(cmd): |
10 """ | 10 """ |
11 Add the necessary X setup to a shell command that needs to connect to the X | 11 Add the necessary X setup to a shell command that needs to connect to the X |
12 server. | 12 server. |
13 | 13 |
14 @param cmd: the command line string | 14 @param cmd: the command line string |
15 @return a modified command line string with necessary X setup | 15 @return a modified command line string with necessary X setup |
(...skipping 21 matching lines...) Expand all Loading... |
37 def xsystem_as(cmd, user='chronos', timeout=None, ignore_status=False): | 37 def xsystem_as(cmd, user='chronos', timeout=None, ignore_status=False): |
38 """ | 38 """ |
39 Run the command cmd as the given user, using utils.system, after adding | 39 Run the command cmd as the given user, using utils.system, after adding |
40 the necessary setup to connect to the X server. | 40 the necessary setup to connect to the X server. |
41 """ | 41 """ |
42 | 42 |
43 return utils.system(xcommand_as(cmd, user=user), timeout=timeout, | 43 return utils.system(xcommand_as(cmd, user=user), timeout=timeout, |
44 ignore_status=ignore_status) | 44 ignore_status=ignore_status) |
45 | 45 |
46 | 46 |
| 47 def get_autox(): |
| 48 """Return a new autox instance.""" |
| 49 # we're running as root, but need to connect to chronos' X session |
| 50 os.environ.setdefault('XAUTHORITY', '/home/chronos/.Xauthority') |
| 51 os.environ.setdefault('DISPLAY', ':0.0') |
| 52 |
| 53 import autox |
| 54 return autox.AutoX() |
| 55 |
| 56 |
47 class ChromeSession(object): | 57 class ChromeSession(object): |
48 """ | 58 """ |
49 A class to start and close Chrome sessions. | 59 A class to start and close Chrome sessions. |
50 """ | 60 """ |
51 | 61 |
52 def __init__(self, args='', clean_state=True, suid=True): | 62 def __init__(self, args='', clean_state=True, suid=True): |
53 self._clean_state = clean_state | 63 self._clean_state = clean_state |
54 self.start(args, suid=suid) | 64 self.start(args, suid=suid) |
55 | 65 |
56 | 66 |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 http_server.stop() | 155 http_server.stop() |
146 | 156 |
147 # Return None if timeout. | 157 # Return None if timeout. |
148 if not latch.is_set(): | 158 if not latch.is_set(): |
149 http_server.stop() | 159 http_server.stop() |
150 return None | 160 return None |
151 | 161 |
152 result = http_server.get_form_entries()['result'] | 162 result = http_server.get_form_entries()['result'] |
153 http_server.stop() | 163 http_server.stop() |
154 return result | 164 return result |
OLD | NEW |