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

Side by Side Diff: pnacl/driver/tests/driver_test_utils.py

Issue 580983002: Remove i686-hosted Linux build and start switching to new directory layout (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: review 2, put back test and build.sh patch from PS5 Created 6 years, 3 months 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 | « pnacl/driver/pnacl-llc.py ('k') | toolchain_build/pnacl_commands.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. 2 # Copyright (c) 2012 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 import os 6 import os
7 from os.path import dirname 7 from os.path import dirname
8 import platform 8 import platform
9 import sys 9 import sys
10 import tempfile 10 import tempfile
11 import unittest 11 import unittest
12 12
13 import driver_env 13 import driver_env
14 import driver_log 14 import driver_log
15 import driver_temps 15 import driver_temps
16 import driver_tools 16 import driver_tools
17 17
18 def CanRunHost(): 18 def CanRunHost():
19 # Some of the test+tools require running the host binaries, but that 19 # Some of the test+tools require running the host binaries, but that
20 # does not work on some bots (e.g., the ARM bots). 20 # does not work on some bots (e.g., the ARM bots).
21 if platform.machine().startswith('arm'): 21 if platform.machine().startswith('arm'):
22 return False 22 return False
23 # We also cannot run some of the Windows binaries directly, since 23 # We also cannot run some of the Windows binaries directly, since
24 # they depend on cygwin DLLs and the cygwin DLLs are only in the 24 # they depend on cygwin DLLs and the cygwin DLLs are only in the
25 # path for the installed drivers bin and not for the binaries. 25 # path for the installed drivers bin and not for the binaries.
26 if sys.platform == 'win32': 26 if sys.platform == 'win32':
27 return False 27 return False
28 return True 28 return True
29 29
30 def _SetupLinuxHostDir(env, nacl_dir):
31 # Use the 32-bit path by default, but fall back to 64-bit if the 32-bit does
32 # not exist.
33 dir_template = os.path.join(nacl_dir, 'toolchain', 'linux_x86',
34 'pnacl_newlib', 'host_%s')
35 dir_32 = dir_template % 'x86_32'
36 dir_64 = dir_template % 'x86_64'
37 driver_tools.AddHostBinarySearchPath(
38 dir_32 if os.path.exists(dir_32) else dir_64)
39
40 def SetupNaClDir(env): 30 def SetupNaClDir(env):
41 test_dir = os.path.abspath(dirname(__file__)) 31 test_dir = os.path.abspath(dirname(__file__))
42 nacl_dir = dirname(dirname(dirname(test_dir))) 32 nacl_dir = dirname(dirname(dirname(test_dir)))
43 env.set('BASE_NACL', nacl_dir) 33 env.set('BASE_NACL', nacl_dir)
44 34
45 def SetupToolchainDir(env): 35 def SetupToolchainDir(env):
46 test_dir = os.path.abspath(dirname(__file__)) 36 test_dir = os.path.abspath(dirname(__file__))
47 nacl_dir = dirname(dirname(dirname(test_dir))) 37 nacl_dir = dirname(dirname(dirname(test_dir)))
48 os_name = driver_tools.GetOSName() 38 os_name = driver_tools.GetOSName()
49 39
50 toolchain_dir = os.path.join(nacl_dir, 'toolchain', '%s_x86' % os_name, 40 toolchain_dir = os.path.join(nacl_dir, 'toolchain', '%s_x86' % os_name,
51 'pnacl_newlib') 41 'pnacl_newlib')
52 env.set('BASE_TOOLCHAIN', toolchain_dir) 42 env.set('BASE_TOOLCHAIN', toolchain_dir)
53 43
54 def SetupHostDir(env): 44 def SetupHostDir(env):
55 # Some of the tools end up running one of the host binaries. Find the host 45 # Some of the tools end up running one of the host binaries. Find the host
56 # dir on the test system and inject it into the search path using the 46 # dir on the test system and inject it into the search path using the
57 # implementation of -B 47 # implementation of -B
58 test_dir = os.path.abspath(dirname(__file__)) 48 test_dir = os.path.abspath(dirname(__file__))
59 nacl_dir = dirname(dirname(dirname(test_dir))) 49 nacl_dir = dirname(dirname(dirname(test_dir)))
60 if sys.platform == 'darwin':
61 host_arch = 'x86_64'
62 elif sys.platform.startswith('linux'):
63 _SetupLinuxHostDir(env, nacl_dir)
64 return
65 elif sys.platform in ('cygwin', 'win32'):
66 host_arch = 'x86_32'
67 50
68 os_shortname = driver_tools.GetOSName() 51 os_shortname = driver_tools.GetOSName()
69 host_dir = os.path.join(nacl_dir, 'toolchain', 52 host_dir = os.path.join(nacl_dir, 'toolchain',
70 '%s_x86' % os_shortname, 53 '%s_x86' % os_shortname,
71 'pnacl_newlib', 54 'pnacl_newlib')
72 'host_%s' % host_arch)
73 driver_tools.AddHostBinarySearchPath(host_dir) 55 driver_tools.AddHostBinarySearchPath(host_dir)
74 56
75 # A collection of override methods that mock driver_env.Environment. 57 # A collection of override methods that mock driver_env.Environment.
76 58
77 # One thing is we prevent having to read a driver.conf file, 59 # One thing is we prevent having to read a driver.conf file,
78 # so instead we have a base group of variables set for testing. 60 # so instead we have a base group of variables set for testing.
79 def TestEnvReset(self, more_overrides={}): 61 def TestEnvReset(self, more_overrides={}):
80 # Call to "super" class method (assumed to be driver_env.Environment). 62 # Call to "super" class method (assumed to be driver_env.Environment).
81 # TODO(jvoung): We may want a different way of overriding things. 63 # TODO(jvoung): We may want a different way of overriding things.
82 driver_env.Environment.reset(self) 64 driver_env.Environment.reset(self)
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 123
142 def getTemp(self, close=True, **kwargs): 124 def getTemp(self, close=True, **kwargs):
143 """ Get a temporary named file object. 125 """ Get a temporary named file object.
144 """ 126 """
145 # Set delete=False, so that we can close the files and 127 # Set delete=False, so that we can close the files and
146 # re-open them. Windows sometimes does not allow you to 128 # re-open them. Windows sometimes does not allow you to
147 # re-open an already opened temp file. 129 # re-open an already opened temp file.
148 t = tempfile.NamedTemporaryFile(delete=False, **kwargs) 130 t = tempfile.NamedTemporaryFile(delete=False, **kwargs)
149 self._tempfiles.append(t) 131 self._tempfiles.append(t)
150 return TempWrapper(t, close=close) 132 return TempWrapper(t, close=close)
OLDNEW
« no previous file with comments | « pnacl/driver/pnacl-llc.py ('k') | toolchain_build/pnacl_commands.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698