OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "tools/gn/ninja_create_bundle_target_writer.h" | 5 #include "tools/gn/ninja_create_bundle_target_writer.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <sstream> | 8 #include <sstream> |
9 | 9 |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 bundle_data->plugins_dir() = SourceDir(bundle_root_dir + "/Plug Ins"); | 21 bundle_data->plugins_dir() = SourceDir(bundle_root_dir + "/Plug Ins"); |
22 } | 22 } |
23 | 23 |
24 } // namespace | 24 } // namespace |
25 | 25 |
26 // Tests multiple files with an output pattern. | 26 // Tests multiple files with an output pattern. |
27 TEST(NinjaCreateBundleTargetWriter, Run) { | 27 TEST(NinjaCreateBundleTargetWriter, Run) { |
28 Err err; | 28 Err err; |
29 TestWithScope setup; | 29 TestWithScope setup; |
30 | 30 |
31 Target bundle_data(setup.settings(), Label(SourceDir("//foo/"), "data")); | 31 Target bundle_data(setup.settings(), Label(SourceDir("//foo/"), "data"), {}); |
32 bundle_data.set_output_type(Target::BUNDLE_DATA); | 32 bundle_data.set_output_type(Target::BUNDLE_DATA); |
33 bundle_data.sources().push_back(SourceFile("//foo/input1.txt")); | 33 bundle_data.sources().push_back(SourceFile("//foo/input1.txt")); |
34 bundle_data.sources().push_back(SourceFile("//foo/input2.txt")); | 34 bundle_data.sources().push_back(SourceFile("//foo/input2.txt")); |
35 bundle_data.action_values().outputs() = SubstitutionList::MakeForTest( | 35 bundle_data.action_values().outputs() = SubstitutionList::MakeForTest( |
36 "{{bundle_resources_dir}}/{{source_file_part}}"); | 36 "{{bundle_resources_dir}}/{{source_file_part}}"); |
37 bundle_data.SetToolchain(setup.toolchain()); | 37 bundle_data.SetToolchain(setup.toolchain()); |
38 bundle_data.visibility().SetPublic(); | 38 bundle_data.visibility().SetPublic(); |
39 ASSERT_TRUE(bundle_data.OnResolved(&err)); | 39 ASSERT_TRUE(bundle_data.OnResolved(&err)); |
40 | 40 |
41 Target create_bundle( | 41 Target create_bundle( |
42 setup.settings(), | 42 setup.settings(), |
43 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), | 43 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), |
44 setup.toolchain()->label().name())); | 44 setup.toolchain()->label().name()), |
| 45 {}); |
45 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); | 46 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); |
46 create_bundle.set_output_type(Target::CREATE_BUNDLE); | 47 create_bundle.set_output_type(Target::CREATE_BUNDLE); |
47 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data)); | 48 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data)); |
48 create_bundle.SetToolchain(setup.toolchain()); | 49 create_bundle.SetToolchain(setup.toolchain()); |
49 ASSERT_TRUE(create_bundle.OnResolved(&err)); | 50 ASSERT_TRUE(create_bundle.OnResolved(&err)); |
50 | 51 |
51 std::ostringstream out; | 52 std::ostringstream out; |
52 NinjaCreateBundleTargetWriter writer(&create_bundle, out); | 53 NinjaCreateBundleTargetWriter writer(&create_bundle, out); |
53 writer.Run(); | 54 writer.Run(); |
54 | 55 |
55 const char expected[] = | 56 const char expected[] = |
56 "build bar.bundle/Contents/Resources/input1.txt: copy_bundle_data " | 57 "build bar.bundle/Contents/Resources/input1.txt: copy_bundle_data " |
57 "../../foo/input1.txt\n" | 58 "../../foo/input1.txt\n" |
58 "build bar.bundle/Contents/Resources/input2.txt: copy_bundle_data " | 59 "build bar.bundle/Contents/Resources/input2.txt: copy_bundle_data " |
59 "../../foo/input2.txt\n" | 60 "../../foo/input2.txt\n" |
60 "build obj/baz/bar.stamp: stamp " | 61 "build obj/baz/bar.stamp: stamp " |
61 "bar.bundle/Contents/Resources/input1.txt " | 62 "bar.bundle/Contents/Resources/input1.txt " |
62 "bar.bundle/Contents/Resources/input2.txt\n" | 63 "bar.bundle/Contents/Resources/input2.txt\n" |
63 "build bar.bundle: phony obj/baz/bar.stamp\n"; | 64 "build bar.bundle: phony obj/baz/bar.stamp\n"; |
64 std::string out_str = out.str(); | 65 std::string out_str = out.str(); |
65 EXPECT_EQ(expected, out_str); | 66 EXPECT_EQ(expected, out_str); |
66 } | 67 } |
67 | 68 |
68 // Tests multiple files from asset catalog. | 69 // Tests multiple files from asset catalog. |
69 TEST(NinjaCreateBundleTargetWriter, AssetCatalog) { | 70 TEST(NinjaCreateBundleTargetWriter, AssetCatalog) { |
70 Err err; | 71 Err err; |
71 TestWithScope setup; | 72 TestWithScope setup; |
72 | 73 |
73 Target bundle_data(setup.settings(), Label(SourceDir("//foo/"), "data")); | 74 Target bundle_data(setup.settings(), Label(SourceDir("//foo/"), "data"), {}); |
74 bundle_data.set_output_type(Target::BUNDLE_DATA); | 75 bundle_data.set_output_type(Target::BUNDLE_DATA); |
75 bundle_data.sources().push_back( | 76 bundle_data.sources().push_back( |
76 SourceFile("//foo/Foo.xcassets/Contents.json")); | 77 SourceFile("//foo/Foo.xcassets/Contents.json")); |
77 bundle_data.sources().push_back( | 78 bundle_data.sources().push_back( |
78 SourceFile("//foo/Foo.xcassets/foo.imageset/Contents.json")); | 79 SourceFile("//foo/Foo.xcassets/foo.imageset/Contents.json")); |
79 bundle_data.sources().push_back( | 80 bundle_data.sources().push_back( |
80 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29.png")); | 81 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29.png")); |
81 bundle_data.sources().push_back( | 82 bundle_data.sources().push_back( |
82 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@2x.png")); | 83 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@2x.png")); |
83 bundle_data.sources().push_back( | 84 bundle_data.sources().push_back( |
84 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@3x.png")); | 85 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@3x.png")); |
85 bundle_data.action_values().outputs() = SubstitutionList::MakeForTest( | 86 bundle_data.action_values().outputs() = SubstitutionList::MakeForTest( |
86 "{{bundle_resources_dir}}/{{source_file_part}}"); | 87 "{{bundle_resources_dir}}/{{source_file_part}}"); |
87 bundle_data.SetToolchain(setup.toolchain()); | 88 bundle_data.SetToolchain(setup.toolchain()); |
88 bundle_data.visibility().SetPublic(); | 89 bundle_data.visibility().SetPublic(); |
89 ASSERT_TRUE(bundle_data.OnResolved(&err)); | 90 ASSERT_TRUE(bundle_data.OnResolved(&err)); |
90 | 91 |
91 Target create_bundle( | 92 Target create_bundle( |
92 setup.settings(), | 93 setup.settings(), |
93 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), | 94 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), |
94 setup.toolchain()->label().name())); | 95 setup.toolchain()->label().name()), |
| 96 {}); |
95 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); | 97 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); |
96 create_bundle.set_output_type(Target::CREATE_BUNDLE); | 98 create_bundle.set_output_type(Target::CREATE_BUNDLE); |
97 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data)); | 99 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data)); |
98 create_bundle.bundle_data().product_type().assign("com.apple.product-type"); | 100 create_bundle.bundle_data().product_type().assign("com.apple.product-type"); |
99 create_bundle.SetToolchain(setup.toolchain()); | 101 create_bundle.SetToolchain(setup.toolchain()); |
100 ASSERT_TRUE(create_bundle.OnResolved(&err)); | 102 ASSERT_TRUE(create_bundle.OnResolved(&err)); |
101 | 103 |
102 std::ostringstream out; | 104 std::ostringstream out; |
103 NinjaCreateBundleTargetWriter writer(&create_bundle, out); | 105 NinjaCreateBundleTargetWriter writer(&create_bundle, out); |
104 writer.Run(); | 106 writer.Run(); |
(...skipping 11 matching lines...) Expand all Loading... |
116 | 118 |
117 // Tests that the phony target for the top-level bundle directory is generated | 119 // Tests that the phony target for the top-level bundle directory is generated |
118 // correctly. | 120 // correctly. |
119 TEST(NinjaCreateBundleTargetWriter, PhonyTarget) { | 121 TEST(NinjaCreateBundleTargetWriter, PhonyTarget) { |
120 Err err; | 122 Err err; |
121 TestWithScope setup; | 123 TestWithScope setup; |
122 | 124 |
123 Target create_bundle( | 125 Target create_bundle( |
124 setup.settings(), | 126 setup.settings(), |
125 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), | 127 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), |
126 setup.toolchain()->label().name())); | 128 setup.toolchain()->label().name()), |
| 129 {}); |
127 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); | 130 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); |
128 create_bundle.set_output_type(Target::CREATE_BUNDLE); | 131 create_bundle.set_output_type(Target::CREATE_BUNDLE); |
129 create_bundle.SetToolchain(setup.toolchain()); | 132 create_bundle.SetToolchain(setup.toolchain()); |
130 ASSERT_TRUE(create_bundle.OnResolved(&err)); | 133 ASSERT_TRUE(create_bundle.OnResolved(&err)); |
131 | 134 |
132 std::ostringstream out; | 135 std::ostringstream out; |
133 NinjaCreateBundleTargetWriter writer(&create_bundle, out); | 136 NinjaCreateBundleTargetWriter writer(&create_bundle, out); |
134 writer.Run(); | 137 writer.Run(); |
135 | 138 |
136 const char expected[] = | 139 const char expected[] = |
137 "build obj/baz/bar.stamp: stamp\n" | 140 "build obj/baz/bar.stamp: stamp\n" |
138 "build bar.bundle: phony obj/baz/bar.stamp\n"; | 141 "build bar.bundle: phony obj/baz/bar.stamp\n"; |
139 std::string out_str = out.str(); | 142 std::string out_str = out.str(); |
140 EXPECT_EQ(expected, out_str); | 143 EXPECT_EQ(expected, out_str); |
141 } | 144 } |
142 | 145 |
143 // Tests complex target with multiple bundle_data sources, including | 146 // Tests complex target with multiple bundle_data sources, including |
144 // some asset catalog. | 147 // some asset catalog. |
145 TEST(NinjaCreateBundleTargetWriter, Complex) { | 148 TEST(NinjaCreateBundleTargetWriter, Complex) { |
146 Err err; | 149 Err err; |
147 TestWithScope setup; | 150 TestWithScope setup; |
148 | 151 |
149 Target bundle_data0(setup.settings(), | 152 Target bundle_data0(setup.settings(), |
150 Label(SourceDir("//qux/"), "info_plist")); | 153 Label(SourceDir("//qux/"), "info_plist"), {}); |
151 bundle_data0.set_output_type(Target::BUNDLE_DATA); | 154 bundle_data0.set_output_type(Target::BUNDLE_DATA); |
152 bundle_data0.sources().push_back(SourceFile("//qux/qux-Info.plist")); | 155 bundle_data0.sources().push_back(SourceFile("//qux/qux-Info.plist")); |
153 bundle_data0.action_values().outputs() = | 156 bundle_data0.action_values().outputs() = |
154 SubstitutionList::MakeForTest("{{bundle_root_dir}}/Info.plist"); | 157 SubstitutionList::MakeForTest("{{bundle_root_dir}}/Info.plist"); |
155 bundle_data0.SetToolchain(setup.toolchain()); | 158 bundle_data0.SetToolchain(setup.toolchain()); |
156 bundle_data0.visibility().SetPublic(); | 159 bundle_data0.visibility().SetPublic(); |
157 ASSERT_TRUE(bundle_data0.OnResolved(&err)); | 160 ASSERT_TRUE(bundle_data0.OnResolved(&err)); |
158 | 161 |
159 Target bundle_data1(setup.settings(), Label(SourceDir("//foo/"), "data")); | 162 Target bundle_data1(setup.settings(), Label(SourceDir("//foo/"), "data"), {}); |
160 bundle_data1.set_output_type(Target::BUNDLE_DATA); | 163 bundle_data1.set_output_type(Target::BUNDLE_DATA); |
161 bundle_data1.sources().push_back(SourceFile("//foo/input1.txt")); | 164 bundle_data1.sources().push_back(SourceFile("//foo/input1.txt")); |
162 bundle_data1.sources().push_back(SourceFile("//foo/input2.txt")); | 165 bundle_data1.sources().push_back(SourceFile("//foo/input2.txt")); |
163 bundle_data1.action_values().outputs() = SubstitutionList::MakeForTest( | 166 bundle_data1.action_values().outputs() = SubstitutionList::MakeForTest( |
164 "{{bundle_resources_dir}}/{{source_file_part}}"); | 167 "{{bundle_resources_dir}}/{{source_file_part}}"); |
165 bundle_data1.SetToolchain(setup.toolchain()); | 168 bundle_data1.SetToolchain(setup.toolchain()); |
166 bundle_data1.visibility().SetPublic(); | 169 bundle_data1.visibility().SetPublic(); |
167 ASSERT_TRUE(bundle_data1.OnResolved(&err)); | 170 ASSERT_TRUE(bundle_data1.OnResolved(&err)); |
168 | 171 |
169 Target bundle_data2(setup.settings(), Label(SourceDir("//foo/"), "assets")); | 172 Target bundle_data2(setup.settings(), Label(SourceDir("//foo/"), "assets"), |
| 173 {}); |
170 bundle_data2.set_output_type(Target::BUNDLE_DATA); | 174 bundle_data2.set_output_type(Target::BUNDLE_DATA); |
171 bundle_data2.sources().push_back( | 175 bundle_data2.sources().push_back( |
172 SourceFile("//foo/Foo.xcassets/Contents.json")); | 176 SourceFile("//foo/Foo.xcassets/Contents.json")); |
173 bundle_data2.sources().push_back( | 177 bundle_data2.sources().push_back( |
174 SourceFile("//foo/Foo.xcassets/foo.imageset/Contents.json")); | 178 SourceFile("//foo/Foo.xcassets/foo.imageset/Contents.json")); |
175 bundle_data2.sources().push_back( | 179 bundle_data2.sources().push_back( |
176 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29.png")); | 180 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29.png")); |
177 bundle_data2.sources().push_back( | 181 bundle_data2.sources().push_back( |
178 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@2x.png")); | 182 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@2x.png")); |
179 bundle_data2.sources().push_back( | 183 bundle_data2.sources().push_back( |
180 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@3x.png")); | 184 SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@3x.png")); |
181 bundle_data2.action_values().outputs() = SubstitutionList::MakeForTest( | 185 bundle_data2.action_values().outputs() = SubstitutionList::MakeForTest( |
182 "{{bundle_resources_dir}}/{{source_file_part}}"); | 186 "{{bundle_resources_dir}}/{{source_file_part}}"); |
183 bundle_data2.SetToolchain(setup.toolchain()); | 187 bundle_data2.SetToolchain(setup.toolchain()); |
184 bundle_data2.visibility().SetPublic(); | 188 bundle_data2.visibility().SetPublic(); |
185 ASSERT_TRUE(bundle_data2.OnResolved(&err)); | 189 ASSERT_TRUE(bundle_data2.OnResolved(&err)); |
186 | 190 |
187 Target bundle_data3(setup.settings(), Label(SourceDir("//quz/"), "assets")); | 191 Target bundle_data3(setup.settings(), Label(SourceDir("//quz/"), "assets"), |
| 192 {}); |
188 bundle_data3.set_output_type(Target::BUNDLE_DATA); | 193 bundle_data3.set_output_type(Target::BUNDLE_DATA); |
189 bundle_data3.sources().push_back( | 194 bundle_data3.sources().push_back( |
190 SourceFile("//quz/Quz.xcassets/Contents.json")); | 195 SourceFile("//quz/Quz.xcassets/Contents.json")); |
191 bundle_data3.sources().push_back( | 196 bundle_data3.sources().push_back( |
192 SourceFile("//quz/Quz.xcassets/quz.imageset/Contents.json")); | 197 SourceFile("//quz/Quz.xcassets/quz.imageset/Contents.json")); |
193 bundle_data3.sources().push_back( | 198 bundle_data3.sources().push_back( |
194 SourceFile("//quz/Quz.xcassets/quz.imageset/QuzIcon-29.png")); | 199 SourceFile("//quz/Quz.xcassets/quz.imageset/QuzIcon-29.png")); |
195 bundle_data3.sources().push_back( | 200 bundle_data3.sources().push_back( |
196 SourceFile("//quz/Quz.xcassets/quz.imageset/QuzIcon-29@2x.png")); | 201 SourceFile("//quz/Quz.xcassets/quz.imageset/QuzIcon-29@2x.png")); |
197 bundle_data3.sources().push_back( | 202 bundle_data3.sources().push_back( |
198 SourceFile("//quz/Quz.xcassets/quz.imageset/QuzIcon-29@3x.png")); | 203 SourceFile("//quz/Quz.xcassets/quz.imageset/QuzIcon-29@3x.png")); |
199 bundle_data3.action_values().outputs() = SubstitutionList::MakeForTest( | 204 bundle_data3.action_values().outputs() = SubstitutionList::MakeForTest( |
200 "{{bundle_resources_dir}}/{{source_file_part}}"); | 205 "{{bundle_resources_dir}}/{{source_file_part}}"); |
201 bundle_data3.SetToolchain(setup.toolchain()); | 206 bundle_data3.SetToolchain(setup.toolchain()); |
202 bundle_data3.visibility().SetPublic(); | 207 bundle_data3.visibility().SetPublic(); |
203 ASSERT_TRUE(bundle_data3.OnResolved(&err)); | 208 ASSERT_TRUE(bundle_data3.OnResolved(&err)); |
204 | 209 |
205 Target create_bundle( | 210 Target create_bundle( |
206 setup.settings(), | 211 setup.settings(), |
207 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), | 212 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), |
208 setup.toolchain()->label().name())); | 213 setup.toolchain()->label().name()), |
| 214 {}); |
209 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); | 215 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); |
210 create_bundle.set_output_type(Target::CREATE_BUNDLE); | 216 create_bundle.set_output_type(Target::CREATE_BUNDLE); |
211 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data0)); | 217 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data0)); |
212 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data1)); | 218 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data1)); |
213 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data2)); | 219 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data2)); |
214 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data3)); | 220 create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data3)); |
215 create_bundle.bundle_data().product_type().assign("com.apple.product-type"); | 221 create_bundle.bundle_data().product_type().assign("com.apple.product-type"); |
216 create_bundle.SetToolchain(setup.toolchain()); | 222 create_bundle.SetToolchain(setup.toolchain()); |
217 ASSERT_TRUE(create_bundle.OnResolved(&err)); | 223 ASSERT_TRUE(create_bundle.OnResolved(&err)); |
218 | 224 |
(...skipping 23 matching lines...) Expand all Loading... |
242 "build bar.bundle: phony obj/baz/bar.stamp\n"; | 248 "build bar.bundle: phony obj/baz/bar.stamp\n"; |
243 std::string out_str = out.str(); | 249 std::string out_str = out.str(); |
244 EXPECT_EQ(expected, out_str); | 250 EXPECT_EQ(expected, out_str); |
245 } | 251 } |
246 | 252 |
247 // Tests code signing steps. | 253 // Tests code signing steps. |
248 TEST(NinjaCreateBundleTargetWriter, CodeSigning) { | 254 TEST(NinjaCreateBundleTargetWriter, CodeSigning) { |
249 Err err; | 255 Err err; |
250 TestWithScope setup; | 256 TestWithScope setup; |
251 | 257 |
252 Target executable(setup.settings(), Label(SourceDir("//baz/"), "quz")); | 258 Target executable(setup.settings(), Label(SourceDir("//baz/"), "quz"), {}); |
253 executable.set_output_type(Target::EXECUTABLE); | 259 executable.set_output_type(Target::EXECUTABLE); |
254 executable.sources().push_back(SourceFile("//baz/quz.c")); | 260 executable.sources().push_back(SourceFile("//baz/quz.c")); |
255 executable.SetToolchain(setup.toolchain()); | 261 executable.SetToolchain(setup.toolchain()); |
256 executable.visibility().SetPublic(); | 262 executable.visibility().SetPublic(); |
257 ASSERT_TRUE(executable.OnResolved(&err)); | 263 ASSERT_TRUE(executable.OnResolved(&err)); |
258 | 264 |
259 Target bundle_data(setup.settings(), Label(SourceDir("//foo/"), "data")); | 265 Target bundle_data(setup.settings(), Label(SourceDir("//foo/"), "data"), {}); |
260 bundle_data.set_output_type(Target::BUNDLE_DATA); | 266 bundle_data.set_output_type(Target::BUNDLE_DATA); |
261 bundle_data.sources().push_back(SourceFile("//foo/input1.txt")); | 267 bundle_data.sources().push_back(SourceFile("//foo/input1.txt")); |
262 bundle_data.sources().push_back(SourceFile("//foo/input2.txt")); | 268 bundle_data.sources().push_back(SourceFile("//foo/input2.txt")); |
263 bundle_data.action_values().outputs() = SubstitutionList::MakeForTest( | 269 bundle_data.action_values().outputs() = SubstitutionList::MakeForTest( |
264 "{{bundle_resources_dir}}/{{source_file_part}}"); | 270 "{{bundle_resources_dir}}/{{source_file_part}}"); |
265 bundle_data.SetToolchain(setup.toolchain()); | 271 bundle_data.SetToolchain(setup.toolchain()); |
266 bundle_data.visibility().SetPublic(); | 272 bundle_data.visibility().SetPublic(); |
267 ASSERT_TRUE(bundle_data.OnResolved(&err)); | 273 ASSERT_TRUE(bundle_data.OnResolved(&err)); |
268 | 274 |
269 Target create_bundle( | 275 Target create_bundle( |
270 setup.settings(), | 276 setup.settings(), |
271 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), | 277 Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), |
272 setup.toolchain()->label().name())); | 278 setup.toolchain()->label().name()), |
| 279 {}); |
273 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); | 280 SetupBundleDataDir(&create_bundle.bundle_data(), "//out/Debug"); |
274 create_bundle.set_output_type(Target::CREATE_BUNDLE); | 281 create_bundle.set_output_type(Target::CREATE_BUNDLE); |
275 create_bundle.bundle_data().set_code_signing_script( | 282 create_bundle.bundle_data().set_code_signing_script( |
276 SourceFile("//build/codesign.py")); | 283 SourceFile("//build/codesign.py")); |
277 create_bundle.bundle_data().code_signing_sources().push_back( | 284 create_bundle.bundle_data().code_signing_sources().push_back( |
278 SourceFile("//out/Debug/quz")); | 285 SourceFile("//out/Debug/quz")); |
279 create_bundle.bundle_data().code_signing_outputs() = | 286 create_bundle.bundle_data().code_signing_outputs() = |
280 SubstitutionList::MakeForTest( | 287 SubstitutionList::MakeForTest( |
281 "//out/Debug/bar.bundle/Contents/quz", | 288 "//out/Debug/bar.bundle/Contents/quz", |
282 "//out/Debug/bar.bundle/_CodeSignature/CodeResources"); | 289 "//out/Debug/bar.bundle/_CodeSignature/CodeResources"); |
(...skipping 27 matching lines...) Expand all Loading... |
310 "build bar.bundle/Contents/quz bar.bundle/_CodeSignature/CodeResources: " | 317 "build bar.bundle/Contents/quz bar.bundle/_CodeSignature/CodeResources: " |
311 "__baz_bar___toolchain_default__code_signing_rule " | 318 "__baz_bar___toolchain_default__code_signing_rule " |
312 "| obj/baz/bar.codesigning.inputdeps.stamp\n" | 319 "| obj/baz/bar.codesigning.inputdeps.stamp\n" |
313 "build obj/baz/bar.stamp: stamp " | 320 "build obj/baz/bar.stamp: stamp " |
314 "bar.bundle/Contents/quz " | 321 "bar.bundle/Contents/quz " |
315 "bar.bundle/_CodeSignature/CodeResources\n" | 322 "bar.bundle/_CodeSignature/CodeResources\n" |
316 "build bar.bundle: phony obj/baz/bar.stamp\n"; | 323 "build bar.bundle: phony obj/baz/bar.stamp\n"; |
317 std::string out_str = out.str(); | 324 std::string out_str = out.str(); |
318 EXPECT_EQ(expected, out_str); | 325 EXPECT_EQ(expected, out_str); |
319 } | 326 } |
OLD | NEW |