OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2014 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2014 The Chromium 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 import ntpath | 7 import ntpath |
8 import posixpath | 8 import posixpath |
9 import sys | 9 import sys |
10 import collections | 10 import collections |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 class GypNinjaPosixTestCase(BasePosixTestCase): | 111 class GypNinjaPosixTestCase(BasePosixTestCase): |
112 def setUp(self): | 112 def setUp(self): |
113 BasePosixTestCase.setUp(self) | 113 BasePosixTestCase.setUp(self) |
114 patch('sys.executable', 'python').start() | 114 patch('sys.executable', 'python').start() |
115 patch('build_artifacts.SRC_DIR', 'src_dir').start() | 115 patch('build_artifacts.SRC_DIR', 'src_dir').start() |
116 patch('os.environ', {}).start() | 116 patch('os.environ', {}).start() |
117 self.run_mock = patch('buildbot_common.Run').start() | 117 self.run_mock = patch('buildbot_common.Run').start() |
118 self.options_mock = patch('build_artifacts.options').start() | 118 self.options_mock = patch('build_artifacts.options').start() |
119 self.options_mock.mac_sdk = False | 119 self.options_mock.mac_sdk = False |
120 self.options_mock.no_arm_trusted = False | 120 self.options_mock.no_arm_trusted = False |
| 121 self.gyp_defines_base = ['nacl_allow_thin_archives=0'] |
121 | 122 |
122 def testSimple(self): | 123 def testSimple(self): |
123 build_artifacts.GypNinjaBuild( | 124 build_artifacts.GypNinjaBuild( |
124 None, 'gyp.py', 'foo.gyp', 'target', 'out_dir') | 125 None, 'gyp.py', 'foo.gyp', 'target', 'out_dir') |
125 self.run_mock.assert_has_calls([ | 126 self.run_mock.assert_has_calls([ |
126 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', | 127 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', |
127 'output_dir=out_dir'], | 128 'output_dir=out_dir'], |
128 cwd='src_dir', | 129 cwd='src_dir', |
129 env={'GYP_GENERATORS': 'ninja', 'GYP_DEFINES': ''}), | 130 env={'GYP_GENERATORS': 'ninja', |
| 131 'GYP_DEFINES': ' '.join(self.gyp_defines_base)}), |
130 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') | 132 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') |
131 ]) | 133 ]) |
132 | 134 |
133 def testTargetArch(self): | 135 def testTargetArch(self): |
134 build_artifacts.GypNinjaBuild( | 136 build_artifacts.GypNinjaBuild( |
135 'x64', 'gyp.py', 'foo.gyp', 'target', 'out_dir') | 137 'x64', 'gyp.py', 'foo.gyp', 'target', 'out_dir') |
136 self.run_mock.assert_has_calls([ | 138 self.run_mock.assert_has_calls([ |
137 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', | 139 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', |
138 'output_dir=out_dir'], | 140 'output_dir=out_dir'], |
139 cwd='src_dir', | 141 cwd='src_dir', |
140 env={ | 142 env={ |
141 'GYP_GENERATORS': 'ninja', | 143 'GYP_GENERATORS': 'ninja', |
142 'GYP_DEFINES': 'target_arch=x64' | 144 'GYP_DEFINES': ' '.join(self.gyp_defines_base + |
| 145 ['target_arch=x64']), |
143 }), | 146 }), |
144 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') | 147 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') |
145 ]) | 148 ]) |
146 | 149 |
147 def testMultipleTargets(self): | 150 def testMultipleTargets(self): |
148 build_artifacts.GypNinjaBuild( | 151 build_artifacts.GypNinjaBuild( |
149 None, 'gyp.py', 'foo.gyp', ['target1', 'target2'], 'out_dir') | 152 None, 'gyp.py', 'foo.gyp', ['target1', 'target2'], 'out_dir') |
150 self.run_mock.assert_has_calls([ | 153 self.run_mock.assert_has_calls([ |
151 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', | 154 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', |
152 'output_dir=out_dir'], | 155 'output_dir=out_dir'], |
153 cwd='src_dir', | 156 cwd='src_dir', |
154 env={'GYP_GENERATORS': 'ninja', 'GYP_DEFINES': ''}), | 157 env={'GYP_GENERATORS': 'ninja', |
| 158 'GYP_DEFINES': ' '.join(self.gyp_defines_base)}), |
155 call(['ninja', '-C', 'out_dir/Release', 'target1', 'target2'], | 159 call(['ninja', '-C', 'out_dir/Release', 'target1', 'target2'], |
156 cwd='src_dir') | 160 cwd='src_dir') |
157 ]) | 161 ]) |
158 | 162 |
159 def testMacSdk(self): | 163 def testMacSdk(self): |
160 build_artifacts.PLATFORM = 'mac' | 164 build_artifacts.PLATFORM = 'mac' |
161 self.options_mock.mac_sdk = '10.6' | 165 self.options_mock.mac_sdk = '10.6' |
162 build_artifacts.GypNinjaBuild( | 166 build_artifacts.GypNinjaBuild( |
163 None, 'gyp.py', 'foo.gyp', 'target', 'out_dir') | 167 None, 'gyp.py', 'foo.gyp', 'target', 'out_dir') |
164 self.run_mock.assert_has_calls([ | 168 self.run_mock.assert_has_calls([ |
165 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', | 169 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', |
166 'output_dir=out_dir'], | 170 'output_dir=out_dir'], |
167 cwd='src_dir', | 171 cwd='src_dir', |
168 env={ | 172 env={ |
169 'GYP_GENERATORS': 'ninja', | 173 'GYP_GENERATORS': 'ninja', |
170 'GYP_DEFINES': 'mac_sdk=10.6 clang=1' | 174 'GYP_DEFINES': ' '.join(self.gyp_defines_base + |
| 175 ['mac_sdk=10.6', 'clang=1']), |
171 }), | 176 }), |
172 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') | 177 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') |
173 ]) | 178 ]) |
174 | 179 |
175 def testArmLinux(self): | 180 def testArmLinux(self): |
176 build_artifacts.PLATFORM = 'linux' | 181 build_artifacts.PLATFORM = 'linux' |
177 build_artifacts.GypNinjaBuild( | 182 build_artifacts.GypNinjaBuild( |
178 'arm', 'gyp.py', 'foo.gyp', 'target', 'out_dir') | 183 'arm', 'gyp.py', 'foo.gyp', 'target', 'out_dir') |
179 self.run_mock.assert_has_calls([ | 184 self.run_mock.assert_has_calls([ |
180 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', | 185 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', |
181 'output_dir=out_dir'], | 186 'output_dir=out_dir'], |
182 cwd='src_dir', | 187 cwd='src_dir', |
183 env={ | 188 env={ |
184 'GYP_CROSSCOMPILE': '1', | 189 'GYP_CROSSCOMPILE': '1', |
185 'GYP_GENERATORS': 'ninja', | 190 'GYP_GENERATORS': 'ninja', |
186 'GYP_DEFINES': 'target_arch=arm arm_float_abi=hard', | 191 'GYP_DEFINES': ' '.join(self.gyp_defines_base + |
| 192 ['target_arch=arm', |
| 193 'arm_float_abi=hard']), |
187 }), | 194 }), |
188 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') | 195 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') |
189 ]) | 196 ]) |
190 | 197 |
191 def testNoArmTrusted(self): | 198 def testNoArmTrusted(self): |
192 build_artifacts.PLATFORM = 'linux' | 199 build_artifacts.PLATFORM = 'linux' |
193 self.options_mock.no_arm_trusted = True | 200 self.options_mock.no_arm_trusted = True |
194 build_artifacts.GypNinjaBuild( | 201 build_artifacts.GypNinjaBuild( |
195 'arm', 'gyp.py', 'foo.gyp', 'target', 'out_dir') | 202 'arm', 'gyp.py', 'foo.gyp', 'target', 'out_dir') |
196 self.run_mock.assert_has_calls([ | 203 self.run_mock.assert_has_calls([ |
197 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', | 204 call(['python', 'gyp.py', 'foo.gyp', '--depth=.', '-G', |
198 'output_dir=out_dir'], | 205 'output_dir=out_dir'], |
199 cwd='src_dir', | 206 cwd='src_dir', |
200 env={ | 207 env={ |
201 'GYP_CROSSCOMPILE': '1', | 208 'GYP_CROSSCOMPILE': '1', |
202 'GYP_GENERATORS': 'ninja', | 209 'GYP_GENERATORS': 'ninja', |
203 'GYP_DEFINES': 'target_arch=arm arm_float_abi=hard ' | 210 'GYP_DEFINES': ' '.join(self.gyp_defines_base + |
204 'disable_cross_trusted=1', | 211 ['target_arch=arm', |
| 212 'arm_float_abi=hard', |
| 213 'disable_cross_trusted=1']), |
205 }), | 214 }), |
206 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') | 215 call(['ninja', '-C', 'out_dir/Release', 'target'], cwd='src_dir') |
207 ]) | 216 ]) |
208 | 217 |
209 | 218 |
210 class ArchivePosixTestCase(BasePosixTestCase): | 219 class ArchivePosixTestCase(BasePosixTestCase): |
211 def setUp(self): | 220 def setUp(self): |
212 BasePosixTestCase.setUp(self) | 221 BasePosixTestCase.setUp(self) |
213 self.makedir_mock = patch('buildbot_common.MakeDir').start() | 222 self.makedir_mock = patch('buildbot_common.MakeDir').start() |
214 self.copyfile_mock = patch('buildbot_common.CopyFile').start() | 223 self.copyfile_mock = patch('buildbot_common.CopyFile').start() |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 archive = build_artifacts.Archive('foo') | 297 archive = build_artifacts.Archive('foo') |
289 self.assertEqual(archive.name, 'win_foo') | 298 self.assertEqual(archive.name, 'win_foo') |
290 self.assertEqual(archive.archive_name, 'win_foo.tar.bz2') | 299 self.assertEqual(archive.archive_name, 'win_foo.tar.bz2') |
291 self.assertEqual(archive.archive_path, r'c:\archive_dir\win_foo.tar.bz2') | 300 self.assertEqual(archive.archive_path, r'c:\archive_dir\win_foo.tar.bz2') |
292 self.assertEqual(archive.dirname, r'c:\archive_dir\win_foo') | 301 self.assertEqual(archive.dirname, r'c:\archive_dir\win_foo') |
293 makedir_mock.assert_called_once_with(r'c:\archive_dir\win_foo') | 302 makedir_mock.assert_called_once_with(r'c:\archive_dir\win_foo') |
294 | 303 |
295 | 304 |
296 if __name__ == '__main__': | 305 if __name__ == '__main__': |
297 unittest.main() | 306 unittest.main() |
OLD | NEW |