From 3a2db551a8387818af92810528fb5fdce75df690 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Fri, 25 Jan 2019 15:35:40 +0100 Subject: Some return values are ignored in vespalog. --- vespalog/src/logger/runserver.cpp | 11 ++++++++--- vespalog/src/test/bufferedlogskiptest.cpp | 1 + vespalog/src/test/bufferedlogtest.cpp | 8 ++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/vespalog/src/logger/runserver.cpp b/vespalog/src/logger/runserver.cpp index efd45288199..be61ee2551d 100644 --- a/vespalog/src/logger/runserver.cpp +++ b/vespalog/src/logger/runserver.cpp @@ -90,7 +90,12 @@ void PidFile::writePid() { if (_fd < 0) abort(); - ftruncate(_fd, (off_t)0); + int didtruncate = ftruncate(_fd, (off_t)0); + if (didtruncate != 0) { + fprintf(stderr, "could not truncate pid file %s: %s\n", + _pidfile, strerror(errno)); + exit(1); + } char buf[100]; sprintf(buf, "%d\n", getpid()); int l = strlen(buf); @@ -110,9 +115,9 @@ PidFile::readPid() if (pf == NULL) return 0; char buf[100]; strcpy(buf, "0"); - fgets(buf, 100, pf); + char *fgetsres = fgets(buf, 100, pf); fclose(pf); - return atoi(buf); + return ((fgetsres != nullptr) ? atoi(buf) : 0); } bool diff --git a/vespalog/src/test/bufferedlogskiptest.cpp b/vespalog/src/test/bufferedlogskiptest.cpp index 96f2d234c58..21a3044e676 100644 --- a/vespalog/src/test/bufferedlogskiptest.cpp +++ b/vespalog/src/test/bufferedlogskiptest.cpp @@ -50,6 +50,7 @@ void testSkipBufferOnDebug(const std::string& file, uint64_t & timer) if (result != expected) { std::cerr << "Failed " << "testSkipBufferOnDebug\n"; + [[maybe_unused]] int system_result = system(("diff -u " + file + " bufferedlogskiptest.skipped.log").c_str()); exit(EXIT_FAILURE); diff --git a/vespalog/src/test/bufferedlogtest.cpp b/vespalog/src/test/bufferedlogtest.cpp index 9b69d9d3a14..09e103986ac 100644 --- a/vespalog/src/test/bufferedlogtest.cpp +++ b/vespalog/src/test/bufferedlogtest.cpp @@ -95,6 +95,7 @@ void testThatEntriesWithHighCountIsKept(const std::string& file, uint64_t& timer if (result != expected) { std::cerr << "Failed testThatEntriesWithHighCountIsKept\n"; + [[maybe_unused]] int systemResult = system(("diff -u " + file + " bufferedlogtest.highcountkept.log") .c_str()); exit(EXIT_FAILURE); @@ -130,6 +131,7 @@ void testThatEntriesWithHighCountsAreEventuallyRemoved( if (result != expected) { std::cerr << "Failed " << "testThatEntriesWithHighCountsAreEventuallyRemoved\n"; + [[maybe_unused]] int systemResult = system(("diff -u " + file + " bufferedlogtest.highcountexpire.log") .c_str()); exit(EXIT_FAILURE); @@ -164,6 +166,7 @@ void testThatEntriesExpire( if (result != expected) { std::cerr << "Failed " << "testThatEntriesExpire\n"; + [[maybe_unused]] int systemResult = system(("diff -u " + file + " bufferedlogtest.expire.log").c_str()); exit(EXIT_FAILURE); } @@ -232,6 +235,7 @@ void testThatHighCountEntriesDontStarveOthers( if (result != expected) { std::cerr << "Failed " << "testThatHighCountEntriesDontStarveOthers\n"; + [[maybe_unused]] int systemResult = system(("diff -u " + file + " bufferedlogtest.nostarve.log").c_str()); exit(EXIT_FAILURE); } @@ -263,6 +267,7 @@ void testNoTokenMatchAcrossComponents(const std::string& file, if (result != expected) { std::cerr << "Failed " << "testNoTokenMatchAcrossComponents\n"; + [[maybe_unused]] int systemResult = system(("diff -u " + file + " bufferedlogtest.tokenacrossloggers.log").c_str()); exit(EXIT_FAILURE); @@ -291,6 +296,7 @@ void testLogLocationAsToken(const std::string& file, uint64_t& timer) if (result != expected) { std::cerr << "Failed " << "testLogLocationAsToken\n"; + [[maybe_unused]] int systemResult = system(("diff -u " + file + " bufferedlogtest.locationastoken.log").c_str()); exit(EXIT_FAILURE); @@ -319,6 +325,7 @@ void testLogMessageAsToken(const std::string& file, uint64_t& timer) if (result != expected) { std::cerr << "Failed " << "testLogMessageAsToken\n"; + [[maybe_unused]] int systemResult = system(("diff -u " + file + " bufferedlogtest.messageastoken.log").c_str()); exit(EXIT_FAILURE); @@ -353,6 +360,7 @@ void testNonBufferedLoggerTriggersBufferedLogTrim(const std::string& file, if (result != expected) { std::cerr << "Failed " << "testNonBufferedLoggerTriggersBufferedLogTrim\n"; + [[maybe_unused]] int systemResult = system(("diff -u " + file + " bufferedlogtest.trimcache.log").c_str()); exit(EXIT_FAILURE); -- cgit v1.2.3