OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 # Copyright (c) 2012 Google Inc. All rights reserved. | 3 # Copyright (c) 2012 Google Inc. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 """ Unit tests for the ninja.py file. """ | 7 """ Unit tests for the ninja.py file. """ |
8 | 8 |
9 import gyp.generator.ninja as ninja | 9 import gyp.generator.ninja as ninja |
10 import unittest | 10 import unittest |
11 import StringIO | 11 import StringIO |
12 import sys | 12 import sys |
13 import TestCommon | 13 import TestCommon |
14 | 14 |
15 | 15 |
16 class TestPrefixesAndSuffixes(unittest.TestCase): | 16 class TestPrefixesAndSuffixes(unittest.TestCase): |
17 def test_BinaryNamesWindows(self): | 17 def test_BinaryNamesWindows(self): |
18 writer = ninja.NinjaWriter('foo', 'wee', '.', '.', 'build.ninja', '.', | 18 # These cannot run on non-Windows as they require a VS installation to |
19 'build.ninja', 'win') | 19 # correctly handle variable expansion. |
20 spec = { 'target_name': 'wee' } | 20 if sys.platform.startswith('win'): |
21 self.assertTrue(writer.ComputeOutputFileName(spec, 'executable'). | 21 writer = ninja.NinjaWriter('foo', 'wee', '.', '.', 'build.ninja', '.', |
22 endswith('.exe')) | 22 'build.ninja', 'win') |
23 self.assertTrue(writer.ComputeOutputFileName(spec, 'shared_library'). | 23 spec = { 'target_name': 'wee' } |
24 endswith('.dll')) | 24 self.assertTrue(writer.ComputeOutputFileName(spec, 'executable'). |
25 self.assertTrue(writer.ComputeOutputFileName(spec, 'static_library'). | 25 endswith('.exe')) |
26 endswith('.lib')) | 26 self.assertTrue(writer.ComputeOutputFileName(spec, 'shared_library'). |
| 27 endswith('.dll')) |
| 28 self.assertTrue(writer.ComputeOutputFileName(spec, 'static_library'). |
| 29 endswith('.lib')) |
27 | 30 |
28 def test_BinaryNamesLinux(self): | 31 def test_BinaryNamesLinux(self): |
29 writer = ninja.NinjaWriter('foo', 'wee', '.', '.', 'build.ninja', '.', | 32 writer = ninja.NinjaWriter('foo', 'wee', '.', '.', 'build.ninja', '.', |
30 'build.ninja', 'linux') | 33 'build.ninja', 'linux') |
31 spec = { 'target_name': 'wee' } | 34 spec = { 'target_name': 'wee' } |
32 self.assertTrue('.' not in writer.ComputeOutputFileName(spec, | 35 self.assertTrue('.' not in writer.ComputeOutputFileName(spec, |
33 'executable')) | 36 'executable')) |
34 self.assertTrue(writer.ComputeOutputFileName(spec, 'shared_library'). | 37 self.assertTrue(writer.ComputeOutputFileName(spec, 'shared_library'). |
35 startswith('lib')) | 38 startswith('lib')) |
36 self.assertTrue(writer.ComputeOutputFileName(spec, 'static_library'). | 39 self.assertTrue(writer.ComputeOutputFileName(spec, 'static_library'). |
37 startswith('lib')) | 40 startswith('lib')) |
38 self.assertTrue(writer.ComputeOutputFileName(spec, 'shared_library'). | 41 self.assertTrue(writer.ComputeOutputFileName(spec, 'shared_library'). |
39 endswith('.so')) | 42 endswith('.so')) |
40 self.assertTrue(writer.ComputeOutputFileName(spec, 'static_library'). | 43 self.assertTrue(writer.ComputeOutputFileName(spec, 'static_library'). |
41 endswith('.a')) | 44 endswith('.a')) |
42 | 45 |
43 if __name__ == '__main__': | 46 if __name__ == '__main__': |
44 unittest.main() | 47 unittest.main() |
OLD | NEW |