#!/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()
