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""" 8Make sure subsystem setting is extracted properly. 9""" 10 11import TestGyp 12 13import sys 14 15if 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