Index: test/ninja/normalize-paths-win/gyptest-normalize-paths.py |
diff --git a/test/ninja/normalize-paths-win/gyptest-normalize-paths.py b/test/ninja/normalize-paths-win/gyptest-normalize-paths.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..af48d071cf90594beea585c29e11c09a5b1b06ef |
--- /dev/null |
+++ b/test/ninja/normalize-paths-win/gyptest-normalize-paths.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. |
+ |
+""" |
+Make sure paths are normalized with VS macros properly expanded on Windows. |
+""" |
+ |
+import TestGyp |
+ |
+import sys |
+ |
+if sys.platform == 'win32': |
+ test = TestGyp.TestGyp(formats=['ninja']) |
+ |
+ test.run_gyp('normalize-paths.gyp') |
+ |
+ # We can't use existence tests because any case will pass, so we check the |
+ # contents of ninja files directly since that's what we're most concerned |
+ # with anyway. |
+ subninja = open(test.built_file_path('obj/some_target.ninja')).read() |
+ if '$!product_dir' in subninja: |
+ test.fail_test() |
+ if 'out\\Default' in subninja: |
+ test.fail_test() |
+ |
+ second = open(test.built_file_path('obj/second.ninja')).read() |
+ if ('..\\..\\things\\AnotherName.exe' in second or |
+ 'AnotherName.exe' not in second): |
+ test.fail_test() |
+ |
+ action = open(test.built_file_path('obj/action.ninja')).read() |
+ if '..\\..\\out\\Default' in action: |
+ test.fail_test() |
+ if '..\\..\\SomethingElse' in action or 'SomethingElse' not in action: |
+ test.fail_test() |
+ if '..\\..\\SomeOtherInput' in action or 'SomeOtherInput' not in action: |
+ test.fail_test() |
+ |
+ test.pass_test() |