1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include <sstream> 6 7#include "testing/gtest/include/gtest/gtest.h" 8#include "tools/gn/ninja_toolchain_writer.h" 9#include "tools/gn/test_with_scope.h" 10 11TEST(NinjaToolchainWriter, WriteToolRule) { 12 TestWithScope setup; 13 14 //Target target(setup.settings(), Label(SourceDir("//foo/"), "target")); 15 //target.set_output_type(Target::EXECUTABLE); 16 //target.SetToolchain(setup.toolchain()); 17 18 std::ostringstream stream; 19 20 NinjaToolchainWriter writer(setup.settings(), setup.toolchain(), 21 std::vector<const Target*>(), stream); 22 writer.WriteToolRule(Toolchain::TYPE_CC, 23 setup.toolchain()->GetTool(Toolchain::TYPE_CC), 24 std::string("prefix_")); 25 26 EXPECT_EQ( 27 "rule prefix_cc\n" 28 " command = cc ${in} ${cflags} ${cflags_c} ${defines} ${include_dirs} " 29 "-o ${out}\n", 30 stream.str()); 31} 32