| 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 |