Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add 'using namespace std;' to all cc files to prepare for removing it from ↵ | Michael Jones | 2020-09-30 | 1 | -0/+2 |
| | | | | header files | ||||
* | Use a small, standalone testing framework instead of googletest. | Nico Weber | 2014-09-18 | 1 | -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. | ||||
* | reject tabs (and CRs) in input files more aggressively | Evan Martin | 2012-08-02 | 1 | -0/+10 |
| | |||||
* | add colon escaping | Peter Kuemmel | 2012-01-29 | 1 | -2/+2 |
| | | | | | | | | Needed for Windows drive names. For instance configure with gtest: python configure.py --with-gtest=c$:\gtest-1.6.0 | ||||
* | make Lexer::Error not emit trailing newline | Evan Martin | 2012-01-05 | 1 | -1/+1 |
| | | | | | Now it's consistent with other errors. Fixes part of issue #187. | ||||
* | allow hyphen in variable names | Evan Martin | 2011-12-30 | 1 | -1/+3 |
| | |||||
* | switch the core ninja parser to use re2c for the lexer | Evan Martin | 2011-12-29 | 1 | -0/+85 |
- 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. |