From e1d8e366d4e89d52e77b9d4954dfc23adbb2a248 Mon Sep 17 00:00:00 2001 From: mjpt777 Date: Thu, 6 Jun 2019 17:42:15 +0100 Subject: [PATCH] [C++] Add semantic version checks to sample tools. Issue #624. --- aeron-samples/src/main/cpp/AeronStat.cpp | 9 ++++++--- aeron-samples/src/main/cpp/DriverTool.cpp | 7 +++++-- aeron-samples/src/main/cpp/ErrorStat.cpp | 9 ++++++--- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/aeron-samples/src/main/cpp/AeronStat.cpp b/aeron-samples/src/main/cpp/AeronStat.cpp index 23d3f27c50..5409ccaaab 100644 --- a/aeron-samples/src/main/cpp/AeronStat.cpp +++ b/aeron-samples/src/main/cpp/AeronStat.cpp @@ -86,10 +86,13 @@ int main (int argc, char** argv) const std::int32_t cncVersion = CncFileDescriptor::cncVersionVolatile(cncFile); - if (cncVersion != CncFileDescriptor::CNC_VERSION) + if (semanticVersionMajor(cncVersion) != semanticVersionMajor(CncFileDescriptor::CNC_VERSION)) { - std::cerr << "CNC version not supported: file version=" << cncVersion << std::endl; - return -1; + std::cerr << "CNC version not supported: " + << " file=" << semanticVersionToString(cncVersion) + << " app=" << semanticVersionToString(CncFileDescriptor::CNC_VERSION) << std::endl; + + return EXIT_FAILURE; } const std::int64_t clientLivenessTimeoutNs = CncFileDescriptor::clientLivenessTimeout(cncFile); diff --git a/aeron-samples/src/main/cpp/DriverTool.cpp b/aeron-samples/src/main/cpp/DriverTool.cpp index 178ca6f340..bfad30c96f 100644 --- a/aeron-samples/src/main/cpp/DriverTool.cpp +++ b/aeron-samples/src/main/cpp/DriverTool.cpp @@ -105,9 +105,12 @@ int main (int argc, char** argv) const std::int32_t cncVersion = CncFileDescriptor::cncVersionVolatile(cncFile); - if (cncVersion != CncFileDescriptor::CNC_VERSION) + if (semanticVersionMajor(cncVersion) != semanticVersionMajor(CncFileDescriptor::CNC_VERSION)) { - std::cerr << "CNC version not supported: file version=" << cncVersion << std::endl; + std::cerr << "CNC version not supported: " + << " file=" << semanticVersionToString(cncVersion) + << " app=" << semanticVersionToString(CncFileDescriptor::CNC_VERSION) << std::endl; + return EXIT_FAILURE; } diff --git a/aeron-samples/src/main/cpp/ErrorStat.cpp b/aeron-samples/src/main/cpp/ErrorStat.cpp index 72ed32fdd1..f295528ab7 100644 --- a/aeron-samples/src/main/cpp/ErrorStat.cpp +++ b/aeron-samples/src/main/cpp/ErrorStat.cpp @@ -101,10 +101,13 @@ int main (int argc, char** argv) const std::int32_t cncVersion = CncFileDescriptor::cncVersionVolatile(cncFile); - if (cncVersion != CncFileDescriptor::CNC_VERSION) + if (semanticVersionMajor(cncVersion) != semanticVersionMajor(CncFileDescriptor::CNC_VERSION)) { - std::cerr << "CNC version not supported: file version=" << cncVersion << std::endl; - return -1; + std::cerr << "CNC version not supported: " + << " file=" << semanticVersionToString(cncVersion) + << " app=" << semanticVersionToString(CncFileDescriptor::CNC_VERSION) << std::endl; + + return EXIT_FAILURE; } AtomicBuffer errorBuffer = CncFileDescriptor::createErrorLogBuffer(cncFile);