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

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

Issue 1868023002: Add GN output prefix override and allow empty output extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « tools/gn/target.cc ('k') | tools/gn/variables.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/target.h" 5 #include "tools/gn/target.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "tools/gn/build_settings.h" 10 #include "tools/gn/build_settings.h"
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 } 263 }
264 264
265 TEST(Target, GetComputedOutputName) { 265 TEST(Target, GetComputedOutputName) {
266 TestWithScope setup; 266 TestWithScope setup;
267 Err err; 267 Err err;
268 268
269 // Basic target with no prefix (executable type tool in the TestWithScope has 269 // Basic target with no prefix (executable type tool in the TestWithScope has
270 // no prefix) or output name. 270 // no prefix) or output name.
271 TestTarget basic(setup, "//foo:bar", Target::EXECUTABLE); 271 TestTarget basic(setup, "//foo:bar", Target::EXECUTABLE);
272 ASSERT_TRUE(basic.OnResolved(&err)); 272 ASSERT_TRUE(basic.OnResolved(&err));
273 EXPECT_EQ("bar", basic.GetComputedOutputName(false)); 273 EXPECT_EQ("bar", basic.GetComputedOutputName());
274 EXPECT_EQ("bar", basic.GetComputedOutputName(true));
275 274
276 // Target with no prefix but an output name. 275 // Target with no prefix but an output name.
277 TestTarget with_name(setup, "//foo:bar", Target::EXECUTABLE); 276 TestTarget with_name(setup, "//foo:bar", Target::EXECUTABLE);
278 with_name.set_output_name("myoutput"); 277 with_name.set_output_name("myoutput");
279 ASSERT_TRUE(with_name.OnResolved(&err)); 278 ASSERT_TRUE(with_name.OnResolved(&err));
280 EXPECT_EQ("myoutput", with_name.GetComputedOutputName(false)); 279 EXPECT_EQ("myoutput", with_name.GetComputedOutputName());
281 EXPECT_EQ("myoutput", with_name.GetComputedOutputName(true));
282 280
283 // Target with a "lib" prefix (the static library tool in the TestWithScope 281 // Target with a "lib" prefix (the static library tool in the TestWithScope
284 // should specify a "lib" output prefix). 282 // should specify a "lib" output prefix).
285 TestTarget with_prefix(setup, "//foo:bar", Target::STATIC_LIBRARY); 283 TestTarget with_prefix(setup, "//foo:bar", Target::STATIC_LIBRARY);
286 ASSERT_TRUE(with_prefix.OnResolved(&err)); 284 ASSERT_TRUE(with_prefix.OnResolved(&err));
287 EXPECT_EQ("bar", with_prefix.GetComputedOutputName(false)); 285 EXPECT_EQ("libbar", with_prefix.GetComputedOutputName());
288 EXPECT_EQ("libbar", with_prefix.GetComputedOutputName(true));
289 286
290 // Target with a "lib" prefix that already has it applied. The prefix should 287 // Target with a "lib" prefix that already has it applied. The prefix should
291 // not duplicate something already in the target name. 288 // not duplicate something already in the target name.
292 TestTarget dup_prefix(setup, "//foo:bar", Target::STATIC_LIBRARY); 289 TestTarget dup_prefix(setup, "//foo:bar", Target::STATIC_LIBRARY);
293 dup_prefix.set_output_name("libbar"); 290 dup_prefix.set_output_name("libbar");
294 ASSERT_TRUE(dup_prefix.OnResolved(&err)); 291 ASSERT_TRUE(dup_prefix.OnResolved(&err));
295 EXPECT_EQ("libbar", dup_prefix.GetComputedOutputName(false)); 292 EXPECT_EQ("libbar", dup_prefix.GetComputedOutputName());
296 EXPECT_EQ("libbar", dup_prefix.GetComputedOutputName(true)); 293
294 // Target with an output prefix override should not have a prefix.
295 TestTarget override_prefix(setup, "//foo:bar", Target::SHARED_LIBRARY);
296 override_prefix.set_output_prefix_override(true);
297 ASSERT_TRUE(dup_prefix.OnResolved(&err));
298 EXPECT_EQ("bar", override_prefix.GetComputedOutputName());
297 } 299 }
298 300
299 // Test visibility failure case. 301 // Test visibility failure case.
300 TEST(Target, VisibilityFails) { 302 TEST(Target, VisibilityFails) {
301 TestWithScope setup; 303 TestWithScope setup;
302 Err err; 304 Err err;
303 305
304 TestTarget b(setup, "//private:b", Target::STATIC_LIBRARY); 306 TestTarget b(setup, "//private:b", Target::STATIC_LIBRARY);
305 b.visibility().SetPrivate(b.label().dir()); 307 b.visibility().SetPrivate(b.label().dir());
306 ASSERT_TRUE(b.OnResolved(&err)); 308 ASSERT_TRUE(b.OnResolved(&err));
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
874 ASSERT_EQ(c.bundle_data().file_rules().size(), 1u); 876 ASSERT_EQ(c.bundle_data().file_rules().size(), 1u);
875 ASSERT_EQ(c.bundle_data().file_rules()[0].sources().size(), 1u); 877 ASSERT_EQ(c.bundle_data().file_rules()[0].sources().size(), 1u);
876 ASSERT_EQ(c.bundle_data().bundle_deps().size(), 1u); 878 ASSERT_EQ(c.bundle_data().bundle_deps().size(), 1u);
877 879
878 // E does not have any bundle_data information but gets a list of 880 // E does not have any bundle_data information but gets a list of
879 // bundle_deps to propagate them during target resolution. 881 // bundle_deps to propagate them during target resolution.
880 ASSERT_TRUE(e.bundle_data().file_rules().empty()); 882 ASSERT_TRUE(e.bundle_data().file_rules().empty());
881 ASSERT_TRUE(e.bundle_data().asset_catalog_sources().empty()); 883 ASSERT_TRUE(e.bundle_data().asset_catalog_sources().empty());
882 ASSERT_EQ(e.bundle_data().bundle_deps().size(), 2u); 884 ASSERT_EQ(e.bundle_data().bundle_deps().size(), 2u);
883 } 885 }
OLDNEW
« no previous file with comments | « tools/gn/target.cc ('k') | tools/gn/variables.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698