17a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org#!/usr/bin/env python 27a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org 37a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org# Copyright (c) 2012 Google Inc. All rights reserved. 47a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org# Use of this source code is governed by a BSD-style license that can be 57a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org# found in the LICENSE file. 67a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org 77a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org""" 8fc18ffc05cce31c9315c07297e7605f0723bfc18scottmg@chromium.orgVerifies that the 'ProgramDatabaseFile' attribute in VCLinker is extracted 9fc18ffc05cce31c9315c07297e7605f0723bfc18scottmg@chromium.orgproperly. 107a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org""" 117a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org 127a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.orgimport TestGyp 137a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org 147a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.orgimport os 157a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.orgimport sys 167a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org 177a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org 187a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.orgif sys.platform == 'win32': 197a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org test = TestGyp.TestGyp(formats=['msvs', 'ninja']) 207a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org CHDIR = 'linker-flags' 217a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org test.run_gyp('program-database.gyp', chdir=CHDIR) 227a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org test.build('program-database.gyp', test.ALL, chdir=CHDIR) 237a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org 247a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org def FindFile(pdb): 257a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org full_path = test.built_file_path(pdb, chdir=CHDIR) 267a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org return os.path.isfile(full_path) 277a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org 287a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org # Verify the specified PDB is created when ProgramDatabaseFile 297a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org # is provided. 3010defb6b1dea70c51076dce765d2e359b7943de7noelallen@chromium.org if not FindFile('name_outdir.pdb'): 317a9065df64cfbf8dd74a6d925d0df3ea7df78fdenoelallen@chromium.org test.fail_test() 3210defb6b1dea70c51076dce765d2e359b7943de7noelallen@chromium.org if not FindFile('name_proddir.pdb'): 3310defb6b1dea70c51076dce765d2e359b7943de7noelallen@chromium.org test.fail_test() 3410defb6b1dea70c51076dce765d2e359b7943de7noelallen@chromium.org 3510defb6b1dea70c51076dce765d2e359b7943de7noelallen@chromium.org test.pass_test() 36