OLD | NEW |
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 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 ASSERT_TRUE(forward.OnResolved(&err)); | 422 ASSERT_TRUE(forward.OnResolved(&err)); |
423 } | 423 } |
424 | 424 |
425 // Tests that different link/depend outputs work for solink tools. | 425 // Tests that different link/depend outputs work for solink tools. |
426 TEST(Target, LinkAndDepOutputs) { | 426 TEST(Target, LinkAndDepOutputs) { |
427 TestWithScope setup; | 427 TestWithScope setup; |
428 Err err; | 428 Err err; |
429 | 429 |
430 Toolchain toolchain(setup.settings(), Label(SourceDir("//tc/"), "tc")); | 430 Toolchain toolchain(setup.settings(), Label(SourceDir("//tc/"), "tc")); |
431 | 431 |
432 scoped_ptr<Tool> solink_tool(new Tool()); | 432 std::unique_ptr<Tool> solink_tool(new Tool()); |
433 solink_tool->set_output_prefix("lib"); | 433 solink_tool->set_output_prefix("lib"); |
434 solink_tool->set_default_output_extension(".so"); | 434 solink_tool->set_default_output_extension(".so"); |
435 | 435 |
436 const char kLinkPattern[] = | 436 const char kLinkPattern[] = |
437 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}"; | 437 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}"; |
438 SubstitutionPattern link_output = SubstitutionPattern::MakeForTest( | 438 SubstitutionPattern link_output = SubstitutionPattern::MakeForTest( |
439 kLinkPattern); | 439 kLinkPattern); |
440 solink_tool->set_link_output(link_output); | 440 solink_tool->set_link_output(link_output); |
441 | 441 |
442 const char kDependPattern[] = | 442 const char kDependPattern[] = |
(...skipping 18 matching lines...) Expand all Loading... |
461 } | 461 } |
462 | 462 |
463 // Tests that runtime_link output works without an explicit link_output for | 463 // Tests that runtime_link output works without an explicit link_output for |
464 // solink tools. | 464 // solink tools. |
465 TEST(Target, RuntimeLinkOuput) { | 465 TEST(Target, RuntimeLinkOuput) { |
466 TestWithScope setup; | 466 TestWithScope setup; |
467 Err err; | 467 Err err; |
468 | 468 |
469 Toolchain toolchain(setup.settings(), Label(SourceDir("//tc/"), "tc")); | 469 Toolchain toolchain(setup.settings(), Label(SourceDir("//tc/"), "tc")); |
470 | 470 |
471 scoped_ptr<Tool> solink_tool(new Tool()); | 471 std::unique_ptr<Tool> solink_tool(new Tool()); |
472 solink_tool->set_output_prefix(""); | 472 solink_tool->set_output_prefix(""); |
473 solink_tool->set_default_output_extension(".dll"); | 473 solink_tool->set_default_output_extension(".dll"); |
474 | 474 |
475 const char kLibPattern[] = | 475 const char kLibPattern[] = |
476 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}.lib"; | 476 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}.lib"; |
477 SubstitutionPattern lib_output = | 477 SubstitutionPattern lib_output = |
478 SubstitutionPattern::MakeForTest(kLibPattern); | 478 SubstitutionPattern::MakeForTest(kLibPattern); |
479 | 479 |
480 const char kDllPattern[] = | 480 const char kDllPattern[] = |
481 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}"; | 481 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}"; |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
874 ASSERT_EQ(c.bundle_data().file_rules().size(), 1u); | 874 ASSERT_EQ(c.bundle_data().file_rules().size(), 1u); |
875 ASSERT_EQ(c.bundle_data().file_rules()[0].sources().size(), 1u); | 875 ASSERT_EQ(c.bundle_data().file_rules()[0].sources().size(), 1u); |
876 ASSERT_EQ(c.bundle_data().bundle_deps().size(), 1u); | 876 ASSERT_EQ(c.bundle_data().bundle_deps().size(), 1u); |
877 | 877 |
878 // E does not have any bundle_data information but gets a list of | 878 // E does not have any bundle_data information but gets a list of |
879 // bundle_deps to propagate them during target resolution. | 879 // bundle_deps to propagate them during target resolution. |
880 ASSERT_TRUE(e.bundle_data().file_rules().empty()); | 880 ASSERT_TRUE(e.bundle_data().file_rules().empty()); |
881 ASSERT_TRUE(e.bundle_data().asset_catalog_sources().empty()); | 881 ASSERT_TRUE(e.bundle_data().asset_catalog_sources().empty()); |
882 ASSERT_EQ(e.bundle_data().bundle_deps().size(), 2u); | 882 ASSERT_EQ(e.bundle_data().bundle_deps().size(), 2u); |
883 } | 883 } |
OLD | NEW |