|
Ninja
|
An implementation of DiskInterface that uses an in-memory representation of disk state. More...
#include <test.h>

Classes | |
| struct | Entry |
| An entry for a single in-memory file. More... | |
Public Types | |
| typedef std::map< std::string, Entry > | FileMap |
| enum | Status { Okay , NotFound , OtherError } |
| Result of ReadFile. More... | |
Public Member Functions | |
| void | Create (const std::string &path, const std::string &contents) |
| "Create" a file with contents. More... | |
| bool | MakeDir (const std::string &path) override |
| Create a directory, returning false on failure. More... | |
| bool | MakeDirs (const std::string &path) |
Create all the parent directories for path; like mkdir -p basename path. More... | |
| Status | ReadFile (const std::string &path, std::string *contents, std::string *err) override |
| Read and store in given string. More... | |
| int | RemoveFile (const std::string &path) override |
| Remove the file named path. More... | |
| TimeStamp | Stat (const std::string &path, std::string *err) const override |
| stat() a file, returning the mtime, or 0 if missing and -1 on other errors. More... | |
| int | Tick () |
| Tick "time" forwards; subsequent file operations will be newer than previous ones. More... | |
| VirtualFileSystem () | |
| bool | WriteFile (const std::string &path, const std::string &contents, bool) override |
| Create a file, with the specified name and contents If crlf_on_windows is true, will be converted to \r (only on Windows builds of Ninja). More... | |
Public Attributes | |
| std::vector< std::string > | directories_made_ |
| FileMap | files_ |
| std::set< std::string > | files_created_ |
| std::vector< std::string > | files_read_ |
| std::set< std::string > | files_removed_ |
| int | now_ |
| A simple fake timestamp for file operations. More... | |
An implementation of DiskInterface that uses an in-memory representation of disk state.
It also logs file accesses and directory creations so it can be used by tests to verify disk access patterns.
| typedef std::map<std::string, Entry> VirtualFileSystem::FileMap |
|
inherited |
Result of ReadFile.
| Enumerator | |
|---|---|
| Okay | |
| NotFound | |
| OtherError | |
Definition at line 29 of file disk_interface.h.
| void VirtualFileSystem::Create | ( | const std::string & | path, |
| const std::string & | contents | ||
| ) |
"Create" a file with contents.
Definition at line 145 of file test.cc.
Referenced by TestPhonyUseCase().
|
overridevirtual |
Create a directory, returning false on failure.
Implements DiskInterface.
|
inherited |
Create all the parent directories for path; like mkdir -p basename path.
Definition at line 140 of file disk_interface.cc.
References Error().
Referenced by Builder::StartEdge().
|
overridevirtual |
Read and store in given string.
On success, return Okay. On error, return another Status and fill |err|.
Implements FileReader.
|
overridevirtual |
Remove the file named path.
It behaves like 'rm -f path' so no errors are reported if it does not exists.
Implements DiskInterface.
|
overridevirtual |
stat() a file, returning the mtime, or 0 if missing and -1 on other errors.
Implements DiskInterface.
|
inline |
Tick "time" forwards; subsequent file operations will be newer than previous ones.
Definition at line 59 of file test.h.
References now_.
Referenced by TestPhonyUseCase().
|
overridevirtual |
Create a file, with the specified name and contents If crlf_on_windows is true,
will be converted to \r
(only on Windows builds of Ninja).
Returns true on success, false on failure
Implements DiskInterface.
| int VirtualFileSystem::now_ |
A simple fake timestamp for file operations.
Definition at line 87 of file test.h.
Referenced by TestPhonyUseCase(), and Tick().