summaryrefslogtreecommitdiffstats
path: root/src/graph_test.cc
Commit message (Collapse)AuthorAgeFilesLines
* move BuildLog to DependencyScanEvan Martin2012-09-041-1/+1
| | | | | | | The build log is needed in computing whether an edge is dirty, so I think it belongs here. (It's a bit weird that Builder needs to reach into it to record completed commands, maybe it will become cleaner with more thought.)
* split out dirty recomputation logic from Edge classEvan Martin2012-09-021-8/+11
| | | | | | | | | | Rather than passing States and DiskInterfaces through all the calls, put the necessary ambient information in a new DependencyScan object and move the code accordingly. Note: I didn't move the source location of the functions to preserve history, though this does result in a sort of weird order for the functions in graph.cc.
* safer build: consider target dirty if depfile is missingMaxim Kalaev2012-08-301-0/+25
|
* Add a regression test for issue #380 (which fails at the moment)Nico Weber2012-07-281-0/+19
|
* Add a test for quoting spaces in expanded $in and $out.Jeremy Apthorp2012-01-041-0/+9
|
* make Node::in_edge_ privateEvan Martin2011-12-071-5/+5
|
* make Node::dirty_ privateEvan Martin2011-12-071-5/+5
|
* merge FileStat into NodeEvan Martin2011-12-071-1/+1
| | | | | | The two were always one-to-one anyway. I started adding accessors to FileStat and then realized most users wanted them on Node and that forwarding them through was silly.
* SEMANTIC CHANGE: implicit inputs are now required to existEvan Martin2011-05-131-2/+20
| | | | | | Edges found through depfiles are special: they get an extra empty "phony" rule. (This is identical to the way you hack this with Makefiles.)
* windows: successfully link testsEvan Martin2011-05-061-1/+1
| | | | | It links, with some hacks. Tests still fail.
* add test for RootNodes(); fix commentEvan Martin2011-05-011-0/+16
|
* fix SEGV in graph_testHiroyuki Iwatsuki2011-04-291-5/+5
|
* add doxygen-compatibile comments to most classesEvan Martin2011-04-291-0/+18
|
* Move CanonicalizePath into util.h so it can be shared by the other modules.Thiago Farina2011-04-151-33/+0
| | | | | | Also add util_test.cc and move the CanonicalizePathTest into there. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* files that have both implicit and explicit edges should be implicitEvan Martin2011-03-071-0/+24
| | | | | | | This is just deleting some code that was written in anticipation of staying memory-resident; when loading a depfile, we don't need to attempt to update existing entries in the dependency list, we just need to blindly add them.
* canonicalize paths loaded from depfilesEvan Martin2011-03-071-0/+90
If a C file #includes "../foo.cc", then gcc will emit paths like "bar/../foo.cc" into the dependency file; canonicalize these when we load the file. Add a test module for testing the graph dirty recomputation directly, without all the build classes around it.