| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Visual C++ 2015 warns if a local variable hides visibility of another variable
in a higher scope. Since this project declares warnings as errors, ninja_test
simply won't build on Visual C++ 2015.
The variables have been renamed and scope limited as appropriate, so that
ninja_test will build without error now on Visual C++ 2015.
|
|
|
|
|
|
|
|
|
|
| |
Recompacting the build log used to be slow, so it made sense to print this
message. We then made recompaction much faster, but didn't remove this
message back then.
The deps log only has it because the build log had it.
Since both steps are effectively instant in practice, remove these log messages.
|
| |
|
|
|
|
| |
Now tests don't print anything. Non-test behavior is unchanged.
|
|
|
|
|
|
|
| |
Turns out gtest was pulling in sys/stat.h, and we were
using stat() through that in tests. This doesn't work
with old MSVCs, so we should probably replace that with
RealDiskInterface in a follow-up.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Also add a test for this case, which would have spotted the issue too.
|
| |
|
|
|
|
|
|
| |
Previously, a DepsLog would become invalid after Recompact() was called,
due to Recompact() making all node ids refer to a temporary DepsLog
object constructed in Recompact().
|
|
|
|
|
|
| |
This is a behavior change, but it should be safe: Graph only queries the
deps log at startup, before running any command. Nothing else currently
queries the deps log.
|
|\
| |
| | |
Introduce a Truncate() function that works on POSIX and Windows.
|
| |
| |
| |
| | |
Hopefully fixes the build on Windows.
|
|/
|
|
| |
Part of issue #554.
|
|
|
|
|
|
| |
If a read fails while reading an entry, truncate the log to the last
successfully read entry. This prevents corruption when a subsequent
run appends another entry.
|
|
|
|
|
| |
This doesn't yet exhibit the full problems with truncation, but it's
a start.
|
|
|
|
|
| |
I think I commented this out when tracking down a bug and forgot
to uncomment it.
|
| |
|
|
|
|
| |
Also add tests for invalid headers.
|
|
|
|
| |
Not done automatically yet, just an implementation and a test.
|
|
|
|
| |
Shortcuts a common case.
|
| |
|
|
DepsLog is a compact serialization of dependency information.
It can be used to replace depfiles for faster loading.
|