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

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

Issue 12459004: Adjust pnacl-translate sbtc flag override mechanism to append. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: test default for reals Created 7 years, 9 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
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 driver_env 6 import driver_env
7 import os 7 import os
8 from os.path import dirname 8 from os.path import dirname
9 import platform 9 import platform
10 import sys 10 import sys
(...skipping 12 matching lines...) Expand all
23 23
24 def _SetupLinuxHostDir(env, nacl_dir): 24 def _SetupLinuxHostDir(env, nacl_dir):
25 # Use the 32-bit path by default, but fall back to 64-bit if the 32-bit does 25 # Use the 32-bit path by default, but fall back to 64-bit if the 32-bit does
26 # not exist. 26 # not exist.
27 dir_template = os.path.join(nacl_dir, 'toolchain', 'pnacl_linux_x86', 27 dir_template = os.path.join(nacl_dir, 'toolchain', 'pnacl_linux_x86',
28 'host_%s') 28 'host_%s')
29 dir_32 = dir_template % 'x86_32' 29 dir_32 = dir_template % 'x86_32'
30 dir_64 = dir_template % 'x86_64' 30 dir_64 = dir_template % 'x86_64'
31 env.set('BASE_HOST', dir_32 if os.path.exists(dir_32) else dir_64) 31 env.set('BASE_HOST', dir_32 if os.path.exists(dir_32) else dir_64)
32 32
33 def SetupNaClDir(env):
34 test_dir = os.path.abspath(dirname(__file__))
35 nacl_dir = dirname(dirname(dirname(test_dir)))
36 env.set('BASE_NACL', nacl_dir)
37
38 def SetupToolchainDir(env):
39 test_dir = os.path.abspath(dirname(__file__))
40 nacl_dir = dirname(dirname(dirname(test_dir)))
41 toolchain_dir = os.path.join(nacl_dir, 'toolchain')
42 env.set('BASE_TOOLCHAIN', toolchain_dir)
43
33 def SetupHostDir(env): 44 def SetupHostDir(env):
34 # Some of the tools require 'BASE_HOST' to be set, because they end up 45 # Some of the tools require 'BASE_HOST' to be set, because they end up
35 # running one of the host binaries. 46 # running one of the host binaries.
36 test_dir = os.path.abspath(dirname(__file__)) 47 test_dir = os.path.abspath(dirname(__file__))
37 nacl_dir = dirname(dirname(dirname(test_dir))) 48 nacl_dir = dirname(dirname(dirname(test_dir)))
38 if sys.platform == 'darwin': 49 if sys.platform == 'darwin':
39 os_shortname = 'mac' 50 os_shortname = 'mac'
40 host_arch = 'x86_64' 51 host_arch = 'x86_64'
41 elif sys.platform.startswith('linux'): 52 elif sys.platform.startswith('linux'):
42 _SetupLinuxHostDir(env, nacl_dir) 53 _SetupLinuxHostDir(env, nacl_dir)
43 return 54 return
44 elif sys.platform in ('cygwin', 'win32'): 55 elif sys.platform in ('cygwin', 'win32'):
45 os_shortname = 'win' 56 os_shortname = 'win'
46 host_arch= 'x86_32' 57 host_arch= 'x86_32'
47 host_dir = os.path.join(nacl_dir, 'toolchain', 58 host_dir = os.path.join(nacl_dir, 'toolchain',
48 'pnacl_%s_x86' % os_shortname, 59 'pnacl_%s_x86' % os_shortname,
49 'host_%s' % host_arch) 60 'host_%s' % host_arch)
50 env.set('BASE_HOST', host_dir) 61 env.set('BASE_HOST', host_dir)
51 62
52
53 # A collection of override methods that mock driver_env.Environment. 63 # A collection of override methods that mock driver_env.Environment.
54 64
55 # One thing is we prevent having to read a driver.conf file, 65 # One thing is we prevent having to read a driver.conf file,
56 # so instead we have a base group of variables set for testing. 66 # so instead we have a base group of variables set for testing.
57 def TestEnvReset(self): 67 def TestEnvReset(self):
58 # Call to "super" class method (assumed to be driver_env.Environment). 68 # Call to "super" class method (assumed to be driver_env.Environment).
59 # TODO(jvoung): We may want a different way of overriding things. 69 # TODO(jvoung): We may want a different way of overriding things.
60 driver_env.Environment.reset(self) 70 driver_env.Environment.reset(self)
61 # The overrides. 71 # The overrides.
62 self.set('LIBMODE', 'newlib') 72 self.set('LIBMODE', 'newlib')
63 self.set('PNACL_RUNNING_UNITTESTS', '1') 73 self.set('PNACL_RUNNING_UNITTESTS', '1')
74 SetupNaClDir(self)
75 SetupToolchainDir(self)
64 SetupHostDir(self) 76 SetupHostDir(self)
65 77
66
67 def ApplyTestEnvOverrides(env): 78 def ApplyTestEnvOverrides(env):
68 """Register all the override methods and reset the env to a testable state. 79 """Register all the override methods and reset the env to a testable state.
69 """ 80 """
70 driver_env.override_env('reset', TestEnvReset) 81 driver_env.override_env('reset', TestEnvReset)
71 env.reset() 82 env.reset()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698