summaryrefslogtreecommitdiffstats
path: root/tools/gn/ninja_toolchain_writer_unittest.cc
blob: fc52f7da7be7df56513bc6f13b0e3a7991ca42d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <sstream>

#include "testing/gtest/include/gtest/gtest.h"
#include "tools/gn/ninja_toolchain_writer.h"
#include "tools/gn/test_with_scope.h"

TEST(NinjaToolchainWriter, WriteToolRule) {
  TestWithScope setup;

  //Target target(setup.settings(), Label(SourceDir("//foo/"), "target"));
  //target.set_output_type(Target::EXECUTABLE);
  //target.SetToolchain(setup.toolchain());

  std::ostringstream stream;

  NinjaToolchainWriter writer(setup.settings(), setup.toolchain(),
                              std::vector<const Target*>(), stream);
  writer.WriteToolRule(Toolchain::TYPE_CC,
                       setup.toolchain()->GetTool(Toolchain::TYPE_CC),
                       std::string("prefix_"));

  EXPECT_EQ(
      "rule prefix_cc\n"
      "  command = cc ${in} ${cflags} ${cflags_c} ${defines} ${include_dirs} "
          "-o ${out}\n",
      stream.str());
}