1fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org#!/usr/bin/env python 2fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 3159fe3f09a7398b3bf48200855888596c1b95110steveblock@chromium.org# Copyright (c) 2012 Google Inc. All rights reserved. 4fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org# Use of this source code is governed by a BSD-style license that can be 5fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org# found in the LICENSE file. 6fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 7fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org""" 8fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgVerifies that targets have independent INTERMEDIATE_DIRs. 9fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org""" 10fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 11fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgimport TestGyp 12fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 13fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest = TestGyp.TestGyp() 14fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 15fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest.run_gyp('test.gyp', chdir='src') 16fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest.build('test.gyp', 'target1', chdir='src') 17fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org# Check stuff exists. 18fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgintermediate_file1 = test.read('src/outfile.txt') 19fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest.must_contain(intermediate_file1, 'target1') 20fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 21fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgshared_intermediate_file1 = test.read('src/shared_outfile.txt') 22fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest.must_contain(shared_intermediate_file1, 'shared_target1') 23fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 24fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest.run_gyp('test2.gyp', chdir='src') 257de43b9540a23f600c1a41b22b4b1ef4dfde8926thakis@chromium.org# Force the shared intermediate to be rebuilt. 267de43b9540a23f600c1a41b22b4b1ef4dfde8926thakis@chromium.orgtest.sleep() 277de43b9540a23f600c1a41b22b4b1ef4dfde8926thakis@chromium.orgtest.touch('src/shared_infile.txt') 28fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest.build('test2.gyp', 'target2', chdir='src') 29159fe3f09a7398b3bf48200855888596c1b95110steveblock@chromium.org# Check INTERMEDIATE_DIR file didn't get overwritten but SHARED_INTERMEDIATE_DIR 30fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org# file did. 31fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgintermediate_file2 = test.read('src/outfile.txt') 32fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest.must_contain(intermediate_file1, 'target1') 33fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest.must_contain(intermediate_file2, 'target2') 34fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 35fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgshared_intermediate_file2 = test.read('src/shared_outfile.txt') 36fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgif shared_intermediate_file1 != shared_intermediate_file2: 37fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org test.fail_test(shared_intermediate_file1 + ' != ' + shared_intermediate_file2) 38fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 397de43b9540a23f600c1a41b22b4b1ef4dfde8926thakis@chromium.orgtest.must_contain(shared_intermediate_file1, 'shared_target2') 407de43b9540a23f600c1a41b22b4b1ef4dfde8926thakis@chromium.orgtest.must_contain(shared_intermediate_file2, 'shared_target2') 41fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.org 42fbcd968877bac98d0d6f5f61847c0232939562f4thakis@chromium.orgtest.pass_test() 43