summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/gyp-defines/gyptest-multiple-values.py
blob: 67735cce6a872bad15bee733263434e41540ea75 (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
#!/usr/bin/env python

# Copyright (c) 2012 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 when multiple values are supplied for a gyp define, the last one
is used.
"""

import os
import TestGyp

test = TestGyp.TestGyp()

os.environ['GYP_DEFINES'] = 'key=value1 key=value2 key=value3'
test.run_gyp('defines.gyp')

test.build('defines.gyp')
test.must_contain('action.txt', 'value3')

# The last occurrence of a repeated set should take precedence over other
# values.
os.environ['GYP_DEFINES'] = 'key=repeated_value key=value1 key=repeated_value'
test.run_gyp('defines.gyp')

if test.format == 'msvs' and not test.uses_msbuild:
  # msvs versions before 2010 don't detect build rule changes not reflected
  # in file system timestamps. Rebuild to see differences.
  test.build('defines.gyp', rebuild=True)
else:
  test.build('defines.gyp')
test.must_contain('action.txt', 'repeated_value')

test.pass_test()