#!/usr/bin/env python # Copyright (c) 2014 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. """Tests for analyzer """ import TestGyp found = 'Found dependency\n' not_found = 'No dependencies\n' def __CreateTestFile(files): f = open('test_file', 'w') for file in files: f.write(file + '\n') f.close() test = TestGyp.TestGypCustom(format='analyzer') # Verifies file_path must be specified. test.run_gyp('test.gyp', stdout='Must specify files to analyze via file_path generator ' 'flag\n') # Trivial test of a source. __CreateTestFile(['foo.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=found) # Conditional source that is excluded. __CreateTestFile(['conditional_source.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=not_found) # Conditional source that is included by way of argument. __CreateTestFile(['conditional_source.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', '-Dtest_variable=1', stdout=found) # Two unknown files. __CreateTestFile(['unknown1.c', 'unoknow2.cc']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=not_found) # Two unknown files. __CreateTestFile(['unknown1.c', 'subdir/subdir_sourcex.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=not_found) # Included dependency __CreateTestFile(['unknown1.c', 'subdir/subdir_source.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=found) # Included inputs to actions. __CreateTestFile(['action_input.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=found) # Don't consider outputs. __CreateTestFile(['action_output.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=not_found) # Rule inputs. __CreateTestFile(['rule_input.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=found) # Ignore patch specified with PRODUCT_DIR. __CreateTestFile(['product_dir_input.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=not_found) # Path specified via a variable. __CreateTestFile(['subdir/subdir_source2.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=found) # Verifies paths with // are fixed up correctly. __CreateTestFile(['parent_source.c']) test.run_gyp('test.gyp', '-Gfile_path=test_file', stdout=found) test.pass_test()