diff options
Diffstat (limited to 'third_party/python/gyp/test/sibling')
7 files changed, 146 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/sibling/gyptest-all.py b/third_party/python/gyp/test/sibling/gyptest-all.py new file mode 100755 index 0000000000..318e1a3d84 --- /dev/null +++ b/third_party/python/gyp/test/sibling/gyptest-all.py @@ -0,0 +1,42 @@ +#!/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. + +import TestGyp + +test = TestGyp.TestGyp() + +# The xcode-ninja generator handles gypfiles which are not at the +# project root incorrectly. +# cf. https://code.google.com/p/gyp/issues/detail?id=460 +if test.format == 'xcode-ninja': + test.skip_test() + +test.run_gyp('build/all.gyp', chdir='src') + +test.build('build/all.gyp', test.ALL, chdir='src') + +chdir = 'src/build' + +# The top-level Makefile is in the directory where gyp was run. +# TODO(mmoss) Should the Makefile go in the directory of the passed in .gyp +# file? What about when passing in multiple .gyp files? Would sub-project +# Makefiles (see http://codereview.chromium.org/340008 comments) solve this? +if test.format in ('make', 'ninja', 'cmake'): + chdir = 'src' + +if test.format == 'xcode': + chdir = 'src/prog1' +test.run_built_executable('program1', + chdir=chdir, + stdout="Hello from prog1.c\n") + +if test.format == 'xcode': + chdir = 'src/prog2' +test.run_built_executable('program2', + chdir=chdir, + stdout="Hello from prog2.c\n") + +test.pass_test() diff --git a/third_party/python/gyp/test/sibling/gyptest-relocate.py b/third_party/python/gyp/test/sibling/gyptest-relocate.py new file mode 100755 index 0000000000..05fa9d96fe --- /dev/null +++ b/third_party/python/gyp/test/sibling/gyptest-relocate.py @@ -0,0 +1,44 @@ +#!/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. + +import TestGyp + +test = TestGyp.TestGyp() + +# The xcode-ninja generator handles gypfiles which are not at the +# project root incorrectly. +# cf. https://code.google.com/p/gyp/issues/detail?id=460 +if test.format == 'xcode-ninja': + test.skip_test() + +test.run_gyp('build/all.gyp', chdir='src') + +test.relocate('src', 'relocate/src') + +test.build('build/all.gyp', test.ALL, chdir='relocate/src') + +chdir = 'relocate/src/build' + +# The top-level Makefile is in the directory where gyp was run. +# TODO(mmoss) Should the Makefile go in the directory of the passed in .gyp +# file? What about when passing in multiple .gyp files? Would sub-project +# Makefiles (see http://codereview.chromium.org/340008 comments) solve this? +if test.format in ('make', 'ninja', 'cmake'): + chdir = 'relocate/src' + +if test.format == 'xcode': + chdir = 'relocate/src/prog1' +test.run_built_executable('program1', + chdir=chdir, + stdout="Hello from prog1.c\n") + +if test.format == 'xcode': + chdir = 'relocate/src/prog2' +test.run_built_executable('program2', + chdir=chdir, + stdout="Hello from prog2.c\n") + +test.pass_test() diff --git a/third_party/python/gyp/test/sibling/src/build/all.gyp b/third_party/python/gyp/test/sibling/src/build/all.gyp new file mode 100644 index 0000000000..79c80c9363 --- /dev/null +++ b/third_party/python/gyp/test/sibling/src/build/all.gyp @@ -0,0 +1,16 @@ +# Copyright (c) 2009 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. + +{ + 'targets': [ + { + 'target_name': 'All', + 'type': 'none', + 'dependencies': [ + '../prog1/prog1.gyp:*', + '../prog2/prog2.gyp:*', + ], + }, + ], +} diff --git a/third_party/python/gyp/test/sibling/src/prog1/prog1.c b/third_party/python/gyp/test/sibling/src/prog1/prog1.c new file mode 100644 index 0000000000..218e99401c --- /dev/null +++ b/third_party/python/gyp/test/sibling/src/prog1/prog1.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +int main(void) +{ + printf("Hello from prog1.c\n"); + return 0; +} diff --git a/third_party/python/gyp/test/sibling/src/prog1/prog1.gyp b/third_party/python/gyp/test/sibling/src/prog1/prog1.gyp new file mode 100644 index 0000000000..4532e4be10 --- /dev/null +++ b/third_party/python/gyp/test/sibling/src/prog1/prog1.gyp @@ -0,0 +1,15 @@ +# Copyright (c) 2009 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. + +{ + 'targets': [ + { + 'target_name': 'program1', + 'type': 'executable', + 'sources': [ + 'prog1.c', + ], + }, + ], +} diff --git a/third_party/python/gyp/test/sibling/src/prog2/prog2.c b/third_party/python/gyp/test/sibling/src/prog2/prog2.c new file mode 100644 index 0000000000..12a31883b9 --- /dev/null +++ b/third_party/python/gyp/test/sibling/src/prog2/prog2.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +int main(void) +{ + printf("Hello from prog2.c\n"); + return 0; +} diff --git a/third_party/python/gyp/test/sibling/src/prog2/prog2.gyp b/third_party/python/gyp/test/sibling/src/prog2/prog2.gyp new file mode 100644 index 0000000000..4cf7f6eb2f --- /dev/null +++ b/third_party/python/gyp/test/sibling/src/prog2/prog2.gyp @@ -0,0 +1,15 @@ +# Copyright (c) 2009 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. + +{ + 'targets': [ + { + 'target_name': 'program2', + 'type': 'executable', + 'sources': [ + 'prog2.c', + ], + }, + ], +} |