summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build.ninja3
-rw-r--r--src/build_test.cc1
-rw-r--r--src/ninja_test.cc18
-rw-r--r--src/test.cc34
-rw-r--r--src/test.h5
5 files changed, 42 insertions, 19 deletions
diff --git a/build.ninja b/build.ninja
index 019568c..8f5a744 100644
--- a/build.ninja
+++ b/build.ninja
@@ -53,9 +53,10 @@ build $builddir/build_log_test.o: cxx src/build_log_test.cc
build $builddir/ninja_test.o: cxx src/ninja_test.cc
build $builddir/parsers_test.o: cxx src/parsers_test.cc
build $builddir/subprocess_test.o: cxx src/subprocess_test.cc
+build $builddir/test.o: cxx src/test.cc
build ninja_test: link $builddir/build_test.o $builddir/build_log_test.o \
$builddir/ninja_test.o $builddir/parsers_test.o \
- $builddir/subprocess_test.o $builddir/ninja.a
+ $builddir/subprocess_test.o $builddir/test.o $builddir/ninja.a
ldflags = -g -rdynamic -lgtest -lgtest_main -lpthread
diff --git a/src/build_test.cc b/src/build_test.cc
index 7533b44..cdc6534 100644
--- a/src/build_test.cc
+++ b/src/build_test.cc
@@ -14,6 +14,7 @@
#include "build.h"
+#include "graph.h"
#include "test.h"
// Though Plan doesn't use State, it's useful to have one around
diff --git a/src/ninja_test.cc b/src/ninja_test.cc
index 646b4a9..a90c334 100644
--- a/src/ninja_test.cc
+++ b/src/ninja_test.cc
@@ -17,26 +17,10 @@
#include <gtest/gtest.h>
#include "build.h"
+#include "graph.h"
#include "parsers.h"
#include "test.h"
-void AssertParse(State* state, const char* input) {
- ManifestParser parser(state, NULL);
- string err;
- ASSERT_TRUE(parser.Parse(input, &err)) << err;
- ASSERT_EQ("", err);
-}
-
-StateTestWithBuiltinRules::StateTestWithBuiltinRules() {
- AssertParse(&state_,
-"rule cat\n"
-" command = cat $in > $out\n");
-}
-
-Node* StateTestWithBuiltinRules::GetNode(const string& path) {
- return state_.GetNode(path);
-}
-
TEST(State, Basic) {
State state;
Rule* rule = new Rule("cat");
diff --git a/src/test.cc b/src/test.cc
new file mode 100644
index 0000000..e78bfd1
--- /dev/null
+++ b/src/test.cc
@@ -0,0 +1,34 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "test.h"
+
+#include "parsers.h"
+
+StateTestWithBuiltinRules::StateTestWithBuiltinRules() {
+ AssertParse(&state_,
+"rule cat\n"
+" command = cat $in > $out\n");
+}
+
+Node* StateTestWithBuiltinRules::GetNode(const string& path) {
+ return state_.GetNode(path);
+}
+
+void AssertParse(State* state, const char* input) {
+ ManifestParser parser(state, NULL);
+ string err;
+ ASSERT_TRUE(parser.Parse(input, &err)) << err;
+ ASSERT_EQ("", err);
+}
diff --git a/src/test.h b/src/test.h
index bc8dfcc..646d8f3 100644
--- a/src/test.h
+++ b/src/test.h
@@ -14,9 +14,12 @@
#include <gtest/gtest.h>
-#include "graph.h"
#include "ninja.h"
+// Support utilites for tests.
+
+struct Node;
+
struct StateTestWithBuiltinRules : public testing::Test {
StateTestWithBuiltinRules();
Node* GetNode(const string& path);