Chromium Code Reviews| Index: test/ninja/s-needs-no-depfiles/gyptest-s-needs-no-depfiles.py |
| diff --git a/test/ninja/s-needs-no-depfiles/gyptest-s-needs-no-depfiles.py b/test/ninja/s-needs-no-depfiles/gyptest-s-needs-no-depfiles.py |
| new file mode 100755 |
| index 0000000000000000000000000000000000000000..5df5b45f9d401016f69e43ccd3164fbdbb5992f1 |
| --- /dev/null |
| +++ b/test/ninja/s-needs-no-depfiles/gyptest-s-needs-no-depfiles.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. |
| + |
| +""" |
| +Verify that .s files don't always trigger a rebuild, as would happen if depfiles |
| +were used for them (since clang & gcc ignore -MMD when building .s->.o). |
|
Nico
2012/10/18 18:09:39
"when building .s->o on linux" (doesn't happen on
Ami GONE FROM CHROMIUM
2012/10/18 18:14:38
Are you sure? The interwebz tell me otherwise.
(
Nico
2012/10/18 18:30:21
Pretty sure. See the ninja-build thread on this, w
|
| +""" |
| + |
| +import os |
| +import sys |
| +import TestCommon |
| +import TestGyp |
| + |
| +# NOTE(fischman): Each generator uses depfiles (or not) differently, so this is |
| +# a ninja-specific test. |
| +test = TestGyp.TestGyp(formats=['ninja']) |
| + |
| +if sys.platform == 'win32' or sys.platform == 'win64': |
| + # This test is about clang/gcc vs. depfiles; VS gets a pass. |
| + test.pass_test() |
| + sys.exit(0) |
| + |
| +test.run_gyp('s-needs-no-depfiles.gyp') |
| + |
| +# Build the library, grab its timestamp, rebuild the library, ensure timestamp |
| +# hasn't changed. |
| +test.write(os.path.join(test.workdir, 'empty.s'), '') |
|
Nico
2012/10/18 18:09:39
Can't you just check in an empty 'empty.s'?
Ami GONE FROM CHROMIUM
2012/10/18 18:14:38
I did that with an earlier revision, but it made g
Nico
2012/10/18 18:30:21
"# This file intentionally left empty." Regular bo
|
| +test.build('s-needs-no-depfiles.gyp', 'empty') |
| +empty_dll = test.built_file_path('empty', test.SHARED_LIB) |
| +test.built_file_must_exist(empty_dll) |
| +pre_stat = os.stat(test.built_file_path(empty_dll)) |
| +test.sleep() |
| +test.build('s-needs-no-depfiles.gyp', 'empty') |
| +post_stat = os.stat(test.built_file_path(empty_dll)) |
| + |
| +if pre_stat.st_mtime != post_stat.st_mtime: |
| + test.fail_test() |
| +else: |
| + test.pass_test() |