Home | History | Annotate | Download | only in win
      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 """
      8 Make sure subsystem setting is extracted properly.
      9 """
     10 
     11 import TestGyp
     12 
     13 import sys
     14 
     15 if sys.platform == 'win32':
     16   test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
     17 
     18   CHDIR = 'linker-flags'
     19   test.run_gyp('subsystem.gyp', chdir=CHDIR)
     20 
     21   test.build('subsystem.gyp', 'test_console_ok', chdir=CHDIR)
     22   test.build('subsystem.gyp', 'test_console_fail', chdir=CHDIR, status=1)
     23   test.build('subsystem.gyp', 'test_windows_ok', chdir=CHDIR)
     24   test.build('subsystem.gyp', 'test_windows_fail', chdir=CHDIR, status=1)
     25 
     26   test.build('subsystem.gyp', 'test_console_xp', chdir=CHDIR)
     27   test.build('subsystem.gyp', 'test_windows_xp', chdir=CHDIR)
     28   # Make sure we are targeting XP.
     29   def GetHeaders(exe):
     30     return test.run_dumpbin('/headers', test.built_file_path(exe, chdir=CHDIR))
     31   if '5.01 subsystem version' not in GetHeaders('test_console_xp.exe'):
     32     test.fail_test()
     33   if '5.01 subsystem version' not in GetHeaders('test_windows_xp.exe'):
     34     test.fail_test()
     35 
     36   # TODO(scottmg): There are other subsystems (WinCE, etc.) that we don't use.
     37 
     38   test.pass_test()
     39