summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/mac/gyptest-xctest.py
blob: fb478bb31c443dcfec88b628f23f41a78f2521d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env python

# Copyright (c) 2013 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""
Verifies that xctest targets are correctly configured.
"""

import TestGyp

import sys

if sys.platform == 'darwin':
  test = TestGyp.TestGyp(formats=['xcode'])

  # This test appears to be flaky.
  test.skip_test()  # bug=531

  # Ignore this test if Xcode 5 is not installed
  import subprocess
  job = subprocess.Popen(['xcodebuild', '-version'],
                         stdout=subprocess.PIPE,
                         stderr=subprocess.STDOUT)
  out, err = job.communicate()
  if job.returncode != 0:
    raise Exception('Error %d running xcodebuild' % job.returncode)
  xcode_version, build_number = out.splitlines()
  # Convert the version string from 'Xcode 5.0' to ['5','0'].
  xcode_version = xcode_version.split()[-1].split('.')
  if xcode_version < ['5']:
    test.pass_test()

  CHDIR = 'xctest'
  test.run_gyp('test.gyp', chdir=CHDIR)
  test.build('test.gyp', chdir=CHDIR, arguments=['-scheme', 'classes', 'test'])

  test.built_file_must_match('tests.xctest/Contents/Resources/resource.txt',
                             'foo\n', chdir=CHDIR)
  test.pass_test()