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

Side by Side Diff: server/test.py

Issue 4176007: Fix server side autotests installing to the wrong directory. (Closed) Base URL: http://git.chromium.org/git/autotest.git
Patch Set: Change path back to default. Created 10 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 | Annotate | Revision Log
« no previous file with comments | « server/autotest_unittest.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright Martin J. Bligh, Andy Whitcroft, 2007 1 # Copyright Martin J. Bligh, Andy Whitcroft, 2007
2 # 2 #
3 # Define the server-side test class 3 # Define the server-side test class
4 # 4 #
5 5
6 import os, tempfile, logging 6 import os, tempfile, logging
7 7
8 from autotest_lib.client.common_lib import log, utils, test as common_test 8 from autotest_lib.client.common_lib import log, utils, test as common_test
9 9
10 10
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 self.before_hook = self.after_hook = None 83 self.before_hook = self.after_hook = None
84 self.before_iteration_hook = self.after_iteration_hook = None 84 self.before_iteration_hook = self.after_iteration_hook = None
85 85
86 86
87 def _install(self): 87 def _install(self):
88 if not self.host: 88 if not self.host:
89 from autotest_lib.server import hosts, autotest 89 from autotest_lib.server import hosts, autotest
90 self.host = hosts.create_host(self.job.machines[0], 90 self.host = hosts.create_host(self.job.machines[0],
91 auto_monitor=False) 91 auto_monitor=False)
92 try: 92 try:
93 # Since ChromeOS uses tmpfs (in memory fs) we don't want to let
94 # Autotest use it for running tests and storing results. As an
95 # additional wrinkle all fs are mounted noexec. To work around
96 # this we need to setup a mount point and remount it as exec.
97 client_path = "/mnt/stateful_partition/autotest"
98 client_mount_path = "/home/autotest_mount"
99
100 if not self.host.path_exists(client_path):
101 self.host.run("mkdir " + client_path)
102
103 if not self.host.path_exists(client_mount_path):
104 self.host.run("mkdir " + client_mount_path)
105
106 # Check for existing mount and unmount if exists.
107 result = self.host.run("mount | grep -q " + client_mount_path,
108 ignore_status=True)
109 if result.exit_status == 0:
110 self.host.run("umount " + client_mount_path)
111
112 self.host.run("mount --bind %s %s" % (client_path,
113 client_mount_path))
114 self.host.run("mount -o remount,exec " + client_mount_path)
115
116 tmp_dir = self.host.get_tmp_dir(parent=client_mount_path)
117 self.autotest = autotest.Autotest(self.host) 93 self.autotest = autotest.Autotest(self.host)
118 self.autotest.install(autodir=tmp_dir) 94 self.autotest.install()
119 self.outputdir = self.host.get_tmp_dir() 95 self.outputdir = self.host.get_tmp_dir()
120 except: 96 except:
121 # if installation fails roll back the host 97 # if installation fails roll back the host
122 try: 98 try:
123 self.host.close() 99 self.host.close()
124 except: 100 except:
125 logging.exception("Unable to close host %s", 101 logging.exception("Unable to close host %s",
126 self.host.hostname) 102 self.host.hostname)
127 self.host = None 103 self.host = None
128 self.autotest = None 104 self.autotest = None
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 if existing_hook: 243 if existing_hook:
268 existing_hook(mytest) 244 existing_hook(mytest)
269 logging_args[0] = log_kernel_hook 245 logging_args[0] = log_kernel_hook
270 246
271 try: 247 try:
272 common_test.runtest(job, url, tag, args, dargs, locals(), globals(), 248 common_test.runtest(job, url, tag, args, dargs, locals(), globals(),
273 *logging_args) 249 *logging_args)
274 finally: 250 finally:
275 if logger: 251 if logger:
276 logger.cleanup() 252 logger.cleanup()
OLDNEW
« no previous file with comments | « server/autotest_unittest.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698