Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: test/ninja/normalize-paths-win/gyptest-normalize-paths.py

Issue 10228016: ninja windows: fix expansion of some VS macros (Closed) Base URL: https://gyp.googlecode.com/svn/trunk
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 #!/usr/bin/env python
2
3 # Copyright (c) 2012 Google Inc. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 """
8 Make sure paths are normalized properly on Windows.
9 """
10
11 import TestGyp
12
13 import sys
14
15 if sys.platform == 'win32':
16 # This is ninja-specific because ninja is more fussy about paths matching in
17 # case. Because the file system is case-preserving, but insensitive, we have
Nico 2012/04/25 23:18:23 This is true on Mac too. Why is this a problem on
scottmg 2012/04/26 03:06:46 Good question. I guess tools are generally more se
18 # to make sure that case matches. We also confirm the paths are fully
19 # relativized (not having redundant xyz/../ for example) which is necessary
20 # for efficient stating on Windows.
Nico 2012/04/25 23:18:23 Does windows have directory symlinks?
scottmg 2012/04/26 03:06:46 Yes.
21 test = TestGyp.TestGyp(formats=['ninja'])
22
23 test.run_gyp('normalize-paths.gyp')
24
25 # We can't use existence tests because any case will pass, so we check the
26 # contents of ninja files directly since that's what we're most concerned
27 # with anyway.
28 rootninja = open(test.built_file_path('build.ninja')).read()
29 if 'microsoft visual studio' not in rootninja:
30 test.fail_test()
31 if 'some_target.ninja' not in rootninja or 'Some_Target.ninja' in rootninja:
32 test.fail_test()
33 if 'Some_Target' in rootninja or 'AnotherName' in rootninja:
34 test.fail_test()
35
36 subninja = open(test.built_file_path('obj/some_target.ninja')).read()
37 if 'AnotherName' in subninja or 'anothername' not in subninja:
38 test.fail_test()
39 if ('Some_Target.exe' in subninja or 'Some_Target.pdb' in subninja or
40 'some_target.pdb' not in subninja):
41 test.fail_test()
42 if 'HeLLo' in subninja or 'hello' not in subninja:
43 test.fail_test()
44 if 'blOrP' in subninja or 'blorp' not in subninja:
45 test.fail_test()
46 if '$!product_dir' in subninja:
47 test.fail_test()
48
49 second = open(test.built_file_path('obj/second.ninja')).read()
50 if 'AnotherName' in second or 'anothername' not in second:
51 test.fail_test()
52 if 'HeLLo' in second or 'hello' not in second:
53 test.fail_test()
54
55 action = open(test.built_file_path('obj/action.ninja')).read()
56 if 'TempFile' in action or 'tempfile' not in action:
57 test.fail_test()
58 if 'TempFILE' in action:
59 test.fail_test()
60 if 'ReSuLt' in action or 'result' not in action:
61 test.fail_test()
62 if 'SomeInput' in action or 'someinput' not in action:
63 test.fail_test()
64
65 test.pass_test()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698