Merge pull request #1517 from chagui/1492-add-headers-to-ninja_log

#1492 add column headers to .ninja_log
This commit is contained in:
Jan Niklas Hasse 2019-07-02 14:46:53 +02:00 committed by GitHub
commit 4d3b315329
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 5 deletions

View File

@ -49,6 +49,7 @@
namespace {
const char kFileSignature[] = "# ninja log v%d\n";
const char kFileColumnLabels[] = "# start_time end_time mtime command hash\n";
const int kOldestSupportedVersion = 4;
const int kCurrentVersion = 5;
@ -144,7 +145,8 @@ bool BuildLog::OpenForWrite(const string& path, const BuildLogUser& user,
fseek(log_file_, 0, SEEK_END);
if (ftell(log_file_) == 0) {
if (fprintf(log_file_, kFileSignature, kCurrentVersion) < 0) {
if (fprintf(log_file_, kFileSignature, kCurrentVersion) < 0 ||
fprintf(log_file_, kFileColumnLabels) < 0) {
*err = strerror(errno);
return false;
}

View File

@ -70,8 +70,9 @@ TEST_F(BuildLogTest, WriteRead) {
}
TEST_F(BuildLogTest, FirstWriteAddsSignature) {
const char kExpectedVersion[] = "# ninja log vX\n";
const size_t kVersionPos = strlen(kExpectedVersion) - 2; // Points at 'X'.
const char kExpectedContent[] = "# ninja log vX\n"
"# start_time end_time mtime command hash\n";
const size_t kVersionPos = 13; // Points at 'X'.
BuildLog log;
string contents, err;
@ -84,7 +85,7 @@ TEST_F(BuildLogTest, FirstWriteAddsSignature) {
ASSERT_EQ("", err);
if (contents.size() >= kVersionPos)
contents[kVersionPos] = 'X';
EXPECT_EQ(kExpectedVersion, contents);
EXPECT_EQ(kExpectedContent, contents);
// Opening the file anew shouldn't add a second version string.
EXPECT_TRUE(log.OpenForWrite(kTestFilename, *this, &err));
@ -96,7 +97,7 @@ TEST_F(BuildLogTest, FirstWriteAddsSignature) {
ASSERT_EQ("", err);
if (contents.size() >= kVersionPos)
contents[kVersionPos] = 'X';
EXPECT_EQ(kExpectedVersion, contents);
EXPECT_EQ(kExpectedContent, contents);
}
TEST_F(BuildLogTest, DoubleEntry) {