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

Side by Side Diff: tools/gn/ninja_create_bundle_target_writer_unittest.cc

Issue 2940873002: Implement tracking of BUILD.gn files used to define target, toolchain or (Closed)
Patch Set: Fix compilation after rebase. Created 3 years, 5 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
OLDNEW
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « tools/gn/ninja_copy_target_writer_unittest.cc ('k') | tools/gn/ninja_group_target_writer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698