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

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

Issue 1359243002: [GN]: Fix bug where cflag vars were not being written on non-PCH builds (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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/ninja_binary_target_writer.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 <sstream> 5 #include <sstream>
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "tools/gn/ninja_binary_target_writer.h" 8 #include "tools/gn/ninja_binary_target_writer.h"
9 #include "tools/gn/scheduler.h" 9 #include "tools/gn/scheduler.h"
10 #include "tools/gn/target.h" 10 #include "tools/gn/target.h"
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 pch_toolchain.ToolchainSetupComplete(); 402 pch_toolchain.ToolchainSetupComplete();
403 403
404 // This target doesn't specify precompiled headers. 404 // This target doesn't specify precompiled headers.
405 { 405 {
406 Target no_pch_target(&pch_settings, 406 Target no_pch_target(&pch_settings,
407 Label(SourceDir("//foo/"), "no_pch_target")); 407 Label(SourceDir("//foo/"), "no_pch_target"));
408 no_pch_target.set_output_type(Target::SOURCE_SET); 408 no_pch_target.set_output_type(Target::SOURCE_SET);
409 no_pch_target.visibility().SetPublic(); 409 no_pch_target.visibility().SetPublic();
410 no_pch_target.sources().push_back(SourceFile("//foo/input1.cc")); 410 no_pch_target.sources().push_back(SourceFile("//foo/input1.cc"));
411 no_pch_target.sources().push_back(SourceFile("//foo/input2.c")); 411 no_pch_target.sources().push_back(SourceFile("//foo/input2.c"));
412 no_pch_target.config_values().cflags_c().push_back("-std=c99");
412 no_pch_target.SetToolchain(&pch_toolchain); 413 no_pch_target.SetToolchain(&pch_toolchain);
413 ASSERT_TRUE(no_pch_target.OnResolved(&err)); 414 ASSERT_TRUE(no_pch_target.OnResolved(&err));
414 415
415 std::ostringstream out; 416 std::ostringstream out;
416 NinjaBinaryTargetWriter writer(&no_pch_target, out); 417 NinjaBinaryTargetWriter writer(&no_pch_target, out);
417 writer.Run(); 418 writer.Run();
418 419
419 const char no_pch_expected[] = 420 const char no_pch_expected[] =
420 "defines =\n" 421 "defines =\n"
421 "include_dirs =\n" 422 "include_dirs =\n"
422 "cflags =\n" 423 "cflags =\n"
423 "cflags_c =\n" 424 "cflags_c = -std=c99\n"
424 "cflags_cc =\n" 425 "cflags_cc =\n"
425 "target_output_name = no_pch_target\n" 426 "target_output_name = no_pch_target\n"
426 "\n" 427 "\n"
427 "build withpch/obj/foo/no_pch_target.input1.o: " 428 "build withpch/obj/foo/no_pch_target.input1.o: "
428 "withpch_cxx ../../foo/input1.cc\n" 429 "withpch_cxx ../../foo/input1.cc\n"
429 "build withpch/obj/foo/no_pch_target.input2.o: " 430 "build withpch/obj/foo/no_pch_target.input2.o: "
430 "withpch_cc ../../foo/input2.c\n" 431 "withpch_cc ../../foo/input2.c\n"
431 "\n" 432 "\n"
432 "build withpch/obj/foo/no_pch_target.stamp: " 433 "build withpch/obj/foo/no_pch_target.stamp: "
433 "withpch_stamp withpch/obj/foo/no_pch_target.input1.o " 434 "withpch_stamp withpch/obj/foo/no_pch_target.input1.o "
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 pch_toolchain.ToolchainSetupComplete(); 531 pch_toolchain.ToolchainSetupComplete();
531 532
532 // This target doesn't specify precompiled headers. 533 // This target doesn't specify precompiled headers.
533 { 534 {
534 Target no_pch_target(&pch_settings, 535 Target no_pch_target(&pch_settings,
535 Label(SourceDir("//foo/"), "no_pch_target")); 536 Label(SourceDir("//foo/"), "no_pch_target"));
536 no_pch_target.set_output_type(Target::SOURCE_SET); 537 no_pch_target.set_output_type(Target::SOURCE_SET);
537 no_pch_target.visibility().SetPublic(); 538 no_pch_target.visibility().SetPublic();
538 no_pch_target.sources().push_back(SourceFile("//foo/input1.cc")); 539 no_pch_target.sources().push_back(SourceFile("//foo/input1.cc"));
539 no_pch_target.sources().push_back(SourceFile("//foo/input2.c")); 540 no_pch_target.sources().push_back(SourceFile("//foo/input2.c"));
541 no_pch_target.config_values().cflags_c().push_back("-std=c99");
540 no_pch_target.SetToolchain(&pch_toolchain); 542 no_pch_target.SetToolchain(&pch_toolchain);
541 ASSERT_TRUE(no_pch_target.OnResolved(&err)); 543 ASSERT_TRUE(no_pch_target.OnResolved(&err));
542 544
543 std::ostringstream out; 545 std::ostringstream out;
544 NinjaBinaryTargetWriter writer(&no_pch_target, out); 546 NinjaBinaryTargetWriter writer(&no_pch_target, out);
545 writer.Run(); 547 writer.Run();
546 548
547 const char no_pch_expected[] = 549 const char no_pch_expected[] =
548 "defines =\n" 550 "defines =\n"
549 "include_dirs =\n" 551 "include_dirs =\n"
550 "cflags =\n" 552 "cflags =\n"
551 "cflags_c =\n" 553 "cflags_c = -std=c99\n"
552 "cflags_cc =\n" 554 "cflags_cc =\n"
553 "target_output_name = no_pch_target\n" 555 "target_output_name = no_pch_target\n"
554 "\n" 556 "\n"
555 "build withpch/obj/foo/no_pch_target.input1.o: " 557 "build withpch/obj/foo/no_pch_target.input1.o: "
556 "withpch_cxx ../../foo/input1.cc\n" 558 "withpch_cxx ../../foo/input1.cc\n"
557 "build withpch/obj/foo/no_pch_target.input2.o: " 559 "build withpch/obj/foo/no_pch_target.input2.o: "
558 "withpch_cc ../../foo/input2.c\n" 560 "withpch_cc ../../foo/input2.c\n"
559 "\n" 561 "\n"
560 "build withpch/obj/foo/no_pch_target.stamp: " 562 "build withpch/obj/foo/no_pch_target.stamp: "
561 "withpch_stamp withpch/obj/foo/no_pch_target.input1.o " 563 "withpch_stamp withpch/obj/foo/no_pch_target.input1.o "
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 630
629 EXPECT_FALSE(scheduler.is_failed()); 631 EXPECT_FALSE(scheduler.is_failed());
630 632
631 std::ostringstream out; 633 std::ostringstream out;
632 NinjaBinaryTargetWriter writer(&target, out); 634 NinjaBinaryTargetWriter writer(&target, out);
633 writer.Run(); 635 writer.Run();
634 636
635 // Should have issued an error. 637 // Should have issued an error.
636 EXPECT_TRUE(scheduler.is_failed()); 638 EXPECT_TRUE(scheduler.is_failed());
637 } 639 }
OLDNEW
« no previous file with comments | « tools/gn/ninja_binary_target_writer.cc ('k') | tools/gn/variables.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698