Initial commit
[yaffs-website] / node_modules / node-gyp / gyp / pylib / gyp / generator / ninja_test.py
1 #!/usr/bin/env python
2
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
5 # found in the LICENSE file.
6
7 """ Unit tests for the ninja.py file. """
8
9 import gyp.generator.ninja as ninja
10 import unittest
11 import StringIO
12 import sys
13 import TestCommon
14
15
16 class TestPrefixesAndSuffixes(unittest.TestCase):
17   def test_BinaryNamesWindows(self):
18     # These cannot run on non-Windows as they require a VS installation to
19     # correctly handle variable expansion.
20     if sys.platform.startswith('win'):
21       writer = ninja.NinjaWriter('foo', 'wee', '.', '.', 'build.ninja', '.',
22           'build.ninja', 'win')
23       spec = { 'target_name': 'wee' }
24       self.assertTrue(writer.ComputeOutputFileName(spec, 'executable').
25           endswith('.exe'))
26       self.assertTrue(writer.ComputeOutputFileName(spec, 'shared_library').
27           endswith('.dll'))
28       self.assertTrue(writer.ComputeOutputFileName(spec, 'static_library').
29           endswith('.lib'))
30
31   def test_BinaryNamesLinux(self):
32     writer = ninja.NinjaWriter('foo', 'wee', '.', '.', 'build.ninja', '.',
33         'build.ninja', 'linux')
34     spec = { 'target_name': 'wee' }
35     self.assertTrue('.' not in writer.ComputeOutputFileName(spec,
36                                                             'executable'))
37     self.assertTrue(writer.ComputeOutputFileName(spec, 'shared_library').
38         startswith('lib'))
39     self.assertTrue(writer.ComputeOutputFileName(spec, 'static_library').
40         startswith('lib'))
41     self.assertTrue(writer.ComputeOutputFileName(spec, 'shared_library').
42         endswith('.so'))
43     self.assertTrue(writer.ComputeOutputFileName(spec, 'static_library').
44         endswith('.a'))
45
46 if __name__ == '__main__':
47   unittest.main()