summaryrefslogtreecommitdiffstats
path: root/src/state_test.cc
Commit message (Collapse)AuthorAgeFilesLines
* make all GetNode explicit, add DepsLog canonicalize testScott Graham2014-11-101-3/+3
|
* wip on adding tests at higher level, some not rightScott Graham2014-11-081-3/+3
|
* Use a small, standalone testing framework instead of googletest.Nico Weber2014-09-181-2/+1
| | | | | | | | | | | | | | | | | | | | | Ninja currently uses googletest for testing. That makes building ninja_test somewhat annoying since it requires that one passes --with-gtest PATH to configure. It turns out just implementing the bits of googletest that ninja uses needs about the same amount of code than making the --with-gtest flag in configure.py work and making googletest print test results in a way we want (!) In addition to making configuration simpler, this also makes compiling tests much faster: On my system, touching src/build_test.cc (the slowest file to build in ninja) and rebuilding ninja_tests is twice as fast than without this patch. Building all is noticeably faster too: 5.6s with this patch, 9.1s without this patch (38% faster). The most noticeable things missing: EXPECT_* and ASSERT_* don't support streaming notes to them with operator<<, and for failing tests the lhs and rhs are not printed. That's so that this header does not have to include sstream, which slows down building ninja_test almost 20%. If this turns out to be annoying, we can maybe add it.
* rearrange handling of builtin bindings to make rules simplerEvan Martin2012-12-291-2/+2
| | | | | Now, a 'build' block can override any special binding like 'command' or 'description' if it needs to.
* all building and tests passingRobert Iannucci2012-11-091-1/+1
|
* clarify setterEvan Martin2012-09-041-4/+7
|
* Fix the TODO in graph.h.Thiago Farina2012-02-161-4/+4
| | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* make evalstring internals privateEvan Martin2011-12-301-4/+4
|
* switch the core ninja parser to use re2c for the lexerEvan Martin2011-12-291-3/+6
| | | | | | | | | - Delete the old "Tokenizer" code. - Write separate tests for the lexer distinct from the parser. - Switch the parser to use the new code. - New lexer error output has file:line numbers so e.g. Emacs can jump your editor to the syntax error. - The EvalEnv ($-interpolation) code is now part of the lexer as well.
* Follow up fix to commit 32bf74f (Fix the TODO in Rule class.)Thiago Farina2011-12-241-1/+1
| | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* remove unused functionEvan Martin2011-12-071-1/+1
|
* Split ninja_test.cc into state_test.cc and disk_interface_test.ccThiago Farina2011-09-111-0/+41
Signed-off-by: Thiago Farina <tfarina@chromium.org>