GithubHelp home page GithubHelp logo

yattabyte / nsuite Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 2.33 MB

Library + utilities for packaging, distributing, and patching directories

License: BSD 3-Clause "New" or "Revised" License

CMake 3.26% C++ 61.20% C 34.38% Shell 1.15%
installer updater patcher diff diffing delta-encoding

nsuite's Introduction

Yatta (formerly nSuite)

Linux Windows CodeCov CodeFactor Codacy LGTM CodeDocs license

This is a C++17 library which allows users to pack, unpack, diff, and patch buffers as well as directories. Using the standard filesystem library, it can virtualize directories, package them, hash them, diff them, and patch them.

The library is optimized for 64-bit CPU's, and is actively tested on linux and windows with every commit.

Library Status

The library is currently undergoing an entire rework. Certain features and examples have been moved to the /deprecated/ directory until they're replaced - including old sample applications. The current status of the project can be found in Table 1 below. For a list of all known supported operating systems and compiler combinations, see Table 2 below. And lastly, for all other requirements and dependencies, see Table 3 below.

Table 1: Descriptions of continuous integration environments in use.

CI Environment Build Test Analyze
Travis CI Linux Debug/Release
  • Code Coverage
  • Clang Tidy
  • Clang Sanitizers
  • CppCheck
  • OCLint
Appveyor Windows Debug/Release
Codecov Code Coverage
LGTM Code Review
CodeFactor Code Review
Codacy Code Review

Table 2: List of operating systems and compilers supported.

Operating System Compiler Debug/Release
Linux (x64) GCC 8/9, Clang 7/8/9 BOTH
Windows (x64) MSVC 2017/2019, Clang+LLVM BOTH

Table 3: List of all other requirements and dependencies.

Category Description Required
Language C++17 (w/ filesystem) YES
CPU Architecture x64 YES
Build System CMake YES
External Libraries LZ4 PRE-BUNDLED
Documentation System Doxygen OPTIONAL

This library is licensed under the BSD-3-Clause.

nsuite's People

Contributors

yattabyte avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

nsuite's Issues

Address Sanitizer Report

/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:322:10: warning: an exception may be thrown in function 'write' which should not throw exceptions [bugprone-exception-escape]
    void write(Buffer& outputBuffer, size_t& byteIndex) const noexcept final {
         ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:336:10: warning: an exception may be thrown in function 'read' which should not throw exceptions [bugprone-exception-escape]
    void read(const Buffer& inputBuffer, size_t& byteIndex) noexcept final {
         ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:369:10: warning: an exception may be thrown in function 'write' which should not throw exceptions [bugprone-exception-escape]
    void write(Buffer& outputBuffer, size_t& byteIndex) const noexcept final {
         ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:421:10: warning: an exception may be thrown in function 'write' which should not throw exceptions [bugprone-exception-escape]
    void write(Buffer& outputBuffer, size_t& byteIndex) const noexcept final {
         ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:435:10: warning: an exception may be thrown in function 'read' which should not throw exceptions [bugprone-exception-escape]
    void read(const Buffer& inputBuffer, size_t& byteIndex) noexcept final {
         ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:719:5: warning: Potential leak of memory pointed to by field '_M_head_impl' [clang-analyzer-cplusplus.NewDeleteLeaks]
    return Buffer::patch(sourceRange, diffRange);
    ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:712:12: note: Calling 'Buffer::patch'
    return Buffer::patch(*this, diffBuffer);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:719:12: note: Calling 'Buffer::patch'
    return Buffer::patch(sourceRange, diffRange);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:725:9: note: Assuming the condition is false
    if (diffMemory.empty())
        ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:725:5: note: Taking false branch
    if (diffMemory.empty())
    ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:733:9: note: Assuming the condition is false
    if (std::strcmp(header.m_title, "yatta diff") != 0)
        ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:733:5: note: Taking false branch
    if (std::strcmp(header.m_title, "yatta diff") != 0)
    ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:740:12: note: Calling constructor for 'Buffer'
    Buffer bufferNew(header.m_targetSize);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:21:12: note: Calling 'make_unique<std::byte []>'
    m_data(std::make_unique<std::byte[]>(m_capacity))
           ^
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:855:30: note: Memory is allocated
    { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); }
                             ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:21:12: note: Returned allocated memory
    m_data(std::make_unique<std::byte[]>(m_capacity))
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:740:12: note: Returning from constructor for 'Buffer'
    Buffer bufferNew(header.m_targetSize);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:743:12: note: Assuming the condition is false
    while (bytesRead < diffInstructionBuffer.size()) {
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:743:5: note: Loop condition is false. Execution continues on line 769
    while (bytesRead < diffInstructionBuffer.size()) {
    ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:719:12: note: Returned allocated memory
    return Buffer::patch(sourceRange, diffRange);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:719:5: note: Potential leak of memory pointed to by field '_M_head_impl'
    return Buffer::patch(sourceRange, diffRange);
    ^
[ 75%] Linking CXX static library ../libyatta.a
[ 75%] Built target yatta
[ 87%] Building CXX object tests/UnitTests/CMakeFiles/UnitTests.dir/main.cpp.o
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:39:45: warning: potentially unintended semicolon [bugprone-suspicious-semicolon]
    if constexpr (sizeof...(restFuncs) > 0) {
                                            ^
[100%] Linking CXX executable ../../UnitTests
[100%] Built target UnitTests
UpdateCTestConfiguration  from :/home/travis/build/Yattabyte/nSuite/DartConfiguration.tcl
Parse Config file:/home/travis/build/Yattabyte/nSuite/DartConfiguration.tcl
UpdateCTestConfiguration  from :/home/travis/build/Yattabyte/nSuite/DartConfiguration.tcl
Parse Config file:/home/travis/build/Yattabyte/nSuite/DartConfiguration.tcl
Test project /home/travis/build/Yattabyte/nSuite
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
    Start 1: LibraryTest
1: Test command: /home/travis/build/Yattabyte/nSuite/UnitTests
1: Test timeout computed to be: 1500
1: Buffer Construction Test - Success
1: Buffer Assignment Test - Success
1: Buffer Method Test - Success
1: Buffer IO Test - Success
1: Buffer Compression/Decompression Test - Success
1: Buffer Diff/Patch Test - Success
1: Buffer-View Construction Test - Success
1: Buffer-View Assignment Test - Success
1: Buffer-View Method Test - Success
1: Buffer-View IO Test - Success
1: Buffer-View Compression/Decompression Test - Success
1: Buffer-View Diff/Patch Test - Success
1: Memory Range Construction Test - Success
1: Memory Range Assignment Test - Success
1: Memory Range Method Test - Success
1: Memory Range IO Test - Success
1: Directory Construction Test - Success
1: Directory Method Test - Success
1: ==6097==WARNING: invalid path to external symbolizer!
1: ==6097==WARNING: Failed to use and restart external symbolizer!
1: 
1: =================================================================
1: ==6097==ERROR: LeakSanitizer: detected memory leaks
1: 
1: Direct leak of 148 byte(s) in 1 object(s) allocated from:
1:     #0 0x4c56fd  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c56fd)
1:     #1 0x4e918d  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4e918d)
1:     #2 0x4d94c2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d94c2)
1:     #3 0x4dd543  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4dd543)
1:     #4 0x5043bd  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x5043bd)
1:     #5 0x4cf3e7  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4cf3e7)
1:     #6 0x4d653a  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d653a)
1:     #7 0x4d64dc  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d64dc)
1:     #8 0x4d644e  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d644e)
1:     #9 0x4d63a4  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d63a4)
1:     #10 0x4d62d7  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d62d7)
1:     #11 0x4d61ed  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d61ed)
1:     #12 0x4d60f6  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d60f6)
1:     #13 0x4d5fea  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5fea)
1:     #14 0x4d5ebe  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5ebe)
1:     #15 0x4d5d80  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5d80)
1:     #16 0x4d5c22  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5c22)
1:     #17 0x4c8144  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c8144)
1:     #18 0x4c7fd2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c7fd2)
1:     #19 0x7f3938e0482f  (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
1: 
1: Direct leak of 148 byte(s) in 1 object(s) allocated from:
1:     #0 0x4c56fd  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c56fd)
1:     #1 0x4e918d  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4e918d)
1:     #2 0x4d94c2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d94c2)
1:     #3 0x4dd543  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4dd543)
1:     #4 0x4dbec6  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4dbec6)
1:     #5 0x4dbbc2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4dbbc2)
1:     #6 0x4cb4cb  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4cb4cb)
1:     #7 0x4d609f  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d609f)
1:     #8 0x4d5fea  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5fea)
1:     #9 0x4d5ebe  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5ebe)
1:     #10 0x4d5d80  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5d80)
1:     #11 0x4d5c22  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5c22)
1:     #12 0x4c8144  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c8144)
1:     #13 0x4c7fd2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c7fd2)
1:     #14 0x7f3938e0482f  (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
1: 
1: SUMMARY: AddressSanitizer: 296 byte(s) leaked in 2 allocation(s).
1/1 Test #1: LibraryTest ......................***Failed    0.69 sec
Buffer Construction Test - Success
Buffer Assignment Test - Success
Buffer Method Test - Success
Buffer IO Test - Success
Buffer Compression/Decompression Test - Success
Buffer Diff/Patch Test - Success
Buffer-View Construction Test - Success
Buffer-View Assignment Test - Success
Buffer-View Method Test - Success
Buffer-View IO Test - Success
Buffer-View Compression/Decompression Test - Success
Buffer-View Diff/Patch Test - Success
Memory Range Construction Test - Success
Memory Range Assignment Test - Success
Memory Range Method Test - Success
Memory Range IO Test - Success
Directory Construction Test - Success
Directory Method Test - Success
==6097==WARNING: invalid path to external symbolizer!
==6097==WARNING: Failed to use and restart external symbolizer!
=================================================================
==6097==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 148 byte(s) in 1 object(s) allocated from:
    #0 0x4c56fd  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c56fd)
    #1 0x4e918d  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4e918d)
    #2 0x4d94c2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d94c2)
    #3 0x4dd543  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4dd543)
    #4 0x5043bd  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x5043bd)
    #5 0x4cf3e7  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4cf3e7)
    #6 0x4d653a  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d653a)
    #7 0x4d64dc  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d64dc)
    #8 0x4d644e  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d644e)
    #9 0x4d63a4  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d63a4)
    #10 0x4d62d7  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d62d7)
    #11 0x4d61ed  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d61ed)
    #12 0x4d60f6  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d60f6)
    #13 0x4d5fea  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5fea)
    #14 0x4d5ebe  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5ebe)
    #15 0x4d5d80  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5d80)
    #16 0x4d5c22  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5c22)
    #17 0x4c8144  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c8144)
    #18 0x4c7fd2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c7fd2)
    #19 0x7f3938e0482f  (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
Direct leak of 148 byte(s) in 1 object(s) allocated from:
    #0 0x4c56fd  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c56fd)
    #1 0x4e918d  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4e918d)
    #2 0x4d94c2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d94c2)
    #3 0x4dd543  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4dd543)
    #4 0x4dbec6  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4dbec6)
    #5 0x4dbbc2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4dbbc2)
    #6 0x4cb4cb  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4cb4cb)
    #7 0x4d609f  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d609f)
    #8 0x4d5fea  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5fea)
    #9 0x4d5ebe  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5ebe)
    #10 0x4d5d80  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5d80)
    #11 0x4d5c22  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4d5c22)
    #12 0x4c8144  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c8144)
    #13 0x4c7fd2  (/home/travis/build/Yattabyte/nSuite/UnitTests-1.6.9+0x4c7fd2)
    #14 0x7f3938e0482f  (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
SUMMARY: AddressSanitizer: 296 byte(s) leaked in 2 allocation(s).

[table-pipe-alignment] Misaligned table fence

Codacy detected an issue:

Message: [table-pipe-alignment] Misaligned table fence

Occurred on:

  • Commit: d2d137f
  • File: README.md
  • LineNum: 13
  • Code: | Appveyor | Build/Test | [![Build status](https://ci.appveyor.com/api/projects/status/7gheavgnj8cooyxx/branch/beta?svg=true)](https://ci.appveyor.com/project/Yattabyte/nsuite/branch/beta) |

Currently on:

CPPCheck Report

**************************************************
Starting CPPCheck
**************************************************
Cppcheck 1.90
Checking src/Buffer.cpp ...
Checking src/Buffer.cpp: LZ4_DISABLE_DEPRECATE_WARNINGS...
Checking src/Buffer.cpp: LZ4_DLL_EXPORT...
Checking src/Buffer.cpp: LZ4_DLL_IMPORT...
Checking src/Buffer.cpp: LZ4_PUBLISH_STATIC_FUNCTIONS;LZ4_STATIC_LINKING_ONLY...
Checking src/Buffer.cpp: LZ4_STATIC_LINKING_ONLY...
Checking src/Buffer.cpp: _MSC_VER...
Checking src/Buffer.cpp: __GNUC__...
Checking src/Buffer.cpp: __STDC_VERSION__...
Checking src/Buffer.cpp: __clang__...
1/6 files checked 32% done
Checking src/BufferView.cpp ...
2/6 files checked 33% done
Checking src/Deprecated/Directory.cpp ...
src/Deprecated/Directory.cpp:544:11: warning: Return value of function std::find_if() is not used. [ignoredReturnValue]
     std::find_if(m_files.begin(), m_files.end(), [&](auto& file) -> bool {
          ^
src/Deprecated/Directory.cpp:616:12: warning: Return value of function std::find_if() is not used. [ignoredReturnValue]
      std::find_if(m_files.begin(), m_files.end(), [&](auto& file) -> bool {
           ^
3/6 files checked 64% done
Checking src/Directory.cpp ...
Checking src/Directory.cpp: __GNUC__...
4/6 files checked 68% done
Checking src/MemoryRange.cpp ...
5/6 files checked 72% done
Checking tests/UnitTests/main.cpp ...
6/6 files checked 100% done
nofile:0:0: information: Cppcheck cannot find all the include files (use --check-config for details) [missingInclude]

CPPCheck Report

Error in unit tests / main.cpp on line 39
I think this is a false positive

Undefined Behavior Report

**************************************************
Starting Undefined-Behaviour Sanitizer
**************************************************
-- Configuring done
-- Generating done
-- Build files have been written to: /home/travis/build/Yattabyte/nSuite
[ 12%] Building CXX object src/CMakeFiles/yatta.dir/Buffer.cpp.o
[ 25%] Building CXX object src/CMakeFiles/yatta.dir/BufferView.cpp.o
[ 37%] Building CXX object src/CMakeFiles/yatta.dir/MemoryRange.cpp.o
[ 50%] Building CXX object src/CMakeFiles/yatta.dir/Directory.cpp.o
[ 62%] Building C object src/CMakeFiles/yatta.dir/lz4/lz4.c.o
[ 75%] Linking CXX static library ../libyatta.a
[ 75%] Built target yatta
[ 87%] Building CXX object tests/UnitTests/CMakeFiles/UnitTests.dir/main.cpp.o
[100%] Linking CXX executable ../../UnitTests
[100%] Built target UnitTests
UpdateCTestConfiguration  from :/home/travis/build/Yattabyte/nSuite/DartConfiguration.tcl
Parse Config file:/home/travis/build/Yattabyte/nSuite/DartConfiguration.tcl
UpdateCTestConfiguration  from :/home/travis/build/Yattabyte/nSuite/DartConfiguration.tcl
Parse Config file:/home/travis/build/Yattabyte/nSuite/DartConfiguration.tcl
Test project /home/travis/build/Yattabyte/nSuite
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
    Start 1: LibraryTest
1: Test command: /home/travis/build/Yattabyte/nSuite/UnitTests
1: Test timeout computed to be: 1500
1: /home/travis/build/Yattabyte/nSuite/src/MemoryRange.hpp:81:17: runtime error: store to misaligned address 0x0000019923e1 for type 'unsigned long', which requires 8 byte alignment
1: 0x0000019923e1: note: pointer points here
1:  00 00 00  49 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00
1:               ^ 
1: /home/travis/build/Yattabyte/nSuite/src/MemoryRange.hpp:107:27: runtime error: load of misaligned address 0x000001991e71 for type 'unsigned long', which requires 8 byte alignment
1: 0x000001991e71: note: pointer points here
1:  00 00 00  49 24 00 00 00 00 00 00  00 04 00 00 00 00 00 00  00 e1 10 00 00 49 00 00  00 00 00 00 00
1:               ^ 
1: Buffer Construction Test - Success
1: Buffer Assignment Test - Success
1: Buffer Method Test - Success
1: Buffer IO Test - Success
1: Buffer Compression/Decompression Test - Success
1: Buffer Diff/Patch Test - Success
1: Buffer-View Construction Test - Success
1: Buffer-View Assignment Test - Success
1: Buffer-View Method Test - Success
1: Buffer-View IO Test - Success
1: Buffer-View Compression/Decompression Test - Success
1: Buffer-View Diff/Patch Test - Success
1: Memory Range Construction Test - Success
1: Memory Range Assignment Test - Success
1: Memory Range Method Test - Success
1: Memory Range IO Test - Success
1: Directory Construction Test - Success
1: Directory Method Test - Success
1/1 Test #1: LibraryTest ......................   Passed    0.50 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) =   0.50 sec

Oclint Report

**************************************************
Starting OCLint
**************************************************
OCLint Report
Summary: TotalFiles=5 FilesWithViolations=4 P1=0 P2=8 P3=95 
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:496:73: deep nested block [size|P3] Block depth of 6 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:117:1: long line [size|P3] Line with 107 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:158:1: long line [size|P3] Line with 107 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:169:1: long line [size|P3] Line with 109 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:476:1: long line [size|P3] Line with 111 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:493:1: long line [size|P3] Line with 129 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:505:1: long line [size|P3] Line with 103 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:509:1: long line [size|P3] Line with 107 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:513:1: long line [size|P3] Line with 104 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:516:1: long line [size|P3] Line with 114 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:517:1: long line [size|P3] Line with 107 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:522:1: long line [size|P3] Line with 122 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:563:1: long line [size|P3] Line with 115 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:567:1: long line [size|P3] Line with 132 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:588:1: long line [size|P3] Line with 128 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:604:1: long line [size|P3] Line with 135 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:620:1: long line [size|P3] Line with 115 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:621:1: long line [size|P3] Line with 106 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:625:1: long line [size|P3] Line with 107 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:642:1: long line [size|P3] Line with 120 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:657:1: long line [size|P3] Line with 111 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:662:1: long line [size|P3] Line with 106 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:663:1: long line [size|P3] Line with 107 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:684:1: long line [size|P3] Line with 109 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:730:1: long line [size|P3] Line with 119 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:745:1: long line [size|P3] Line with 102 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:511:21: prefer early exits and continue [convention|P3] Use early exit/continue to simplify code and reduce indentation
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:616:9: prefer early exits and continue [convention|P3] Use early exit/continue to simplify code and reduce indentation
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:667:25: avoid branching statement as last in loop [convention|P2] 
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:476:1: high ncss method [size|P2] Method of 46 non-commenting source statements exceeds limit of 30
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:476:1: long method [size|P3] Method with 238 lines exceeds limit of 50
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:31:39: short variable name [naming|P3] Length of variable name `t` is 1, which is shorter than the threshold of 3
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:65:9: short variable name [naming|P3] Length of variable name `a` is 1, which is shorter than the threshold of 3
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:66:9: short variable name [naming|P3] Length of variable name `b` is 1, which is shorter than the threshold of 3
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:627:25: short variable name [naming|P3] Length of variable name `y` is 1, which is shorter than the threshold of 3
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:476:1: high cyclomatic complexity [size|P2] Cyclomatic Complexity Number 31 exceeds limit of 10
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:476:1: high npath complexity [size|P2] NPath Complexity Number 288 exceeds limit of 200
/home/travis/build/Yattabyte/nSuite/src/MemoryRange.cpp:36:5: prefer early exits and continue [convention|P3] Use early exit/continue to simplify code and reduce indentation
/home/travis/build/Yattabyte/nSuite/src/MemoryRange.cpp:36:5: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/src/MemoryRange.cpp:40:13: short variable name [naming|P3] Length of variable name `x` is 1, which is shorter than the threshold of 3
/home/travis/build/Yattabyte/nSuite/src/Directory.cpp:99:1: long line [size|P3] Line with 104 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Directory.cpp:173:1: long line [size|P3] Line with 123 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Directory.cpp:267:1: long line [size|P3] Line with 106 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/src/Directory.cpp:154:1: high ncss method [size|P2] Method of 31 non-commenting source statements exceeds limit of 30
/home/travis/build/Yattabyte/nSuite/src/Directory.cpp:97:1: long method [size|P3] Method with 55 lines exceeds limit of 50
/home/travis/build/Yattabyte/nSuite/src/Directory.cpp:224:1: long method [size|P3] Method with 54 lines exceeds limit of 50
/home/travis/build/Yattabyte/nSuite/src/Directory.cpp:100:45: short variable name [naming|P3] Length of variable name `p` is 1, which is shorter than the threshold of 3
/home/travis/build/Yattabyte/nSuite/src/Directory.cpp:100:64: short variable name [naming|P3] Length of variable name `e` is 1, which is shorter than the threshold of 3
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:136:1: deep nested block [size|P3] Block depth of 11 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:139:25: deep nested block [size|P3] Block depth of 10 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:142:31: deep nested block [size|P3] Block depth of 9 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:144:43: deep nested block [size|P3] Block depth of 8 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:146:51: deep nested block [size|P3] Block depth of 7 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:148:99: deep nested block [size|P3] Block depth of 6 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:362:1: deep nested block [size|P3] Block depth of 8 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:366:24: deep nested block [size|P3] Block depth of 7 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:370:30: deep nested block [size|P3] Block depth of 6 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:500:1: deep nested block [size|P3] Block depth of 6 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:558:1: deep nested block [size|P3] Block depth of 8 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:562:27: deep nested block [size|P3] Block depth of 7 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:566:33: deep nested block [size|P3] Block depth of 6 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:650:1: deep nested block [size|P3] Block depth of 8 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:653:28: deep nested block [size|P3] Block depth of 7 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:656:35: deep nested block [size|P3] Block depth of 6 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:683:1: deep nested block [size|P3] Block depth of 9 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:686:28: deep nested block [size|P3] Block depth of 8 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:691:44: deep nested block [size|P3] Block depth of 7 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:693:52: deep nested block [size|P3] Block depth of 6 exceeds limit of 5
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:153:1: long line [size|P3] Line with 104 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:154:1: long line [size|P3] Line with 106 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:254:1: long line [size|P3] Line with 135 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:380:1: long line [size|P3] Line with 102 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:454:1: long line [size|P3] Line with 131 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:576:1: long line [size|P3] Line with 102 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:700:1: long line [size|P3] Line with 114 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:708:1: long line [size|P3] Line with 101 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:710:1: long line [size|P3] Line with 128 characters exceeds limit of 100
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:142:9: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:144:13: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:146:17: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:148:21: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:150:25: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:152:29: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:370:9: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:372:13: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:374:17: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:376:21: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:378:25: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:515:17: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:566:9: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:568:13: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:570:17: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:572:21: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:574:25: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:656:9: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:658:13: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:660:17: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:665:25: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:691:9: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:708:29: collapsible if statements [basic|P3] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:40:19: constant if expression [basic|P2] 
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:135:1: high cyclomatic complexity [size|P2] Cyclomatic Complexity Number 13 exceeds limit of 10
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:682:1: high cyclomatic complexity [size|P2] Cyclomatic Complexity Number 12 exceeds limit of 10
[OCLint (http://oclint.org) v0.13]
oclint: error: violations exceed threshold
P1=0[0] P2=8[10] P3=95[20] 

Clang-Tidy Report

**************************************************
Starting Clang-Tidy
**************************************************
-- Configuring done
-- Generating done
-- Build files have been written to: /home/travis/build/Yattabyte/nSuite
Scanning dependencies of target yatta
[ 12%] Building CXX object src/CMakeFiles/yatta.dir/Buffer.cpp.o
[ 25%] Building CXX object src/CMakeFiles/yatta.dir/BufferView.cpp.o
[ 37%] Building CXX object src/CMakeFiles/yatta.dir/MemoryRange.cpp.o
[ 50%] Building CXX object src/CMakeFiles/yatta.dir/Directory.cpp.o
[ 62%] Building C object src/CMakeFiles/yatta.dir/lz4/lz4.c.o
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:725:5: warning: Potential leak of memory pointed to by field '_M_head_impl' [clang-analyzer-cplusplus.NewDeleteLeaks]
    return Buffer::patch(sourceRange, diffRange);
    ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:718:12: note: Calling 'Buffer::patch'
    return Buffer::patch(*this, diffBuffer);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:725:12: note: Calling 'Buffer::patch'
    return Buffer::patch(sourceRange, diffRange);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:731:9: note: Assuming the condition is false
    if (diffMemory.empty())
        ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:731:5: note: Taking false branch
    if (diffMemory.empty())
    ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:739:9: note: Assuming the condition is false
    if (std::strcmp(header.m_title, "yatta diff") != 0)
        ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:739:5: note: Taking false branch
    if (std::strcmp(header.m_title, "yatta diff") != 0)
    ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:747:12: note: Calling constructor for 'Buffer'
    Buffer bufferNew(header.m_targetSize);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:211:12: note: Calling 'make_unique<std::byte []>'
    m_data(std::make_unique<std::byte[]>(m_capacity))
           ^
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:855:30: note: Memory is allocated
    { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); }
                             ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:211:12: note: Returned allocated memory
    m_data(std::make_unique<std::byte[]>(m_capacity))
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:747:12: note: Returning from constructor for 'Buffer'
    Buffer bufferNew(header.m_targetSize);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:750:12: note: Assuming the condition is false
    while (bytesRead < patchBuffer.size()) {
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:750:5: note: Loop condition is false. Execution continues on line 776
    while (bytesRead < patchBuffer.size()) {
    ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:725:12: note: Returned allocated memory
    return Buffer::patch(sourceRange, diffRange);
           ^
/home/travis/build/Yattabyte/nSuite/src/Buffer.cpp:725:5: note: Potential leak of memory pointed to by field '_M_head_impl'
    return Buffer::patch(sourceRange, diffRange);
    ^
[ 75%] Linking CXX static library ../libyatta.a
[ 75%] Built target yatta
Scanning dependencies of target UnitTests
[ 87%] Building CXX object tests/UnitTests/CMakeFiles/UnitTests.dir/main.cpp.o
/home/travis/build/Yattabyte/nSuite/tests/UnitTests/main.cpp:40:45: warning: potentially unintended semicolon [bugprone-suspicious-semicolon]
    if constexpr (sizeof...(restFuncs) > 0) {
                                            ^
[100%] Linking CXX executable ../../UnitTests
[100%] Built target UnitTests

Valgrind Report: Memory Leak - 2, Potential Memory Leak - 1

Memory checking results:
Memory Leak - 2
Potential Memory Leak - 1
==5701== 148 bytes in 1 blocks are definitely lost in loss record 1 of 3
==5701==    at 0x4C2E80F: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5701==    by 0x410931: std::_MakeUniq<std::byte []>::__array std::make_unique<std::byte []>(unsigned long) (unique_ptr.h:855)
==5701==    by 0x409B0A: yatta::Buffer::Buffer(unsigned long const&) (Buffer.cpp:21)
==5701==    by 0x40BF7A: yatta::Buffer::diff(yatta::MemoryRange const&, yatta::MemoryRange const&, unsigned long const&) (Buffer.cpp:682)
==5701==    by 0x40AAC7: yatta::Buffer::diff(yatta::Buffer const&, yatta::Buffer const&, unsigned long const&) (Buffer.cpp:467)
==5701==    by 0x40A9AA: yatta::Buffer::diff(yatta::Buffer const&, unsigned long const&) const (Buffer.cpp:456)
==5701==    by 0x404840: Buffer_DiffTest() (main.cpp:266)
==5701==    by 0x408199: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:36)
==5701==    by 0x40814B: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x4080BE: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x408032: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x407AA1: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x4072AF: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x403986: main (main.cpp:49)
==5701== 
==5701== 148 bytes in 1 blocks are definitely lost in loss record 2 of 3
==5701==    at 0x4C2E80F: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5701==    by 0x410931: std::_MakeUniq<std::byte []>::__array std::make_unique<std::byte []>(unsigned long) (unique_ptr.h:855)
==5701==    by 0x409B0A: yatta::Buffer::Buffer(unsigned long const&) (Buffer.cpp:21)
==5701==    by 0x40BF7A: yatta::Buffer::diff(yatta::MemoryRange const&, yatta::MemoryRange const&, unsigned long const&) (Buffer.cpp:682)
==5701==    by 0x41857C: yatta::BufferView::diff(yatta::BufferView const&, unsigned long const&) const (BufferView.cpp:35)
==5701==    by 0x405AC0: BufferView_DiffTest() (main.cpp:485)
==5701==    by 0x40849C: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:36)
==5701==    by 0x40844E: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x4083D3: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x408359: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x4082D8: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x408258: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x4081D1: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x40814B: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x4080BE: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x408032: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x407AA1: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x4072AF: bool RunTests<bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool (), bool ()>(bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)(), bool ( const&)()) (main.cpp:40)
==5701==    by 0x403986: main (main.cpp:49)
==5701== 
==5701== 72,704 bytes in 1 blocks are still reachable in loss record 3 of 3
==5701==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5701==    by 0x50F8F85: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28)
==5701==    by 0x40106C9: call_init.part.0 (dl-init.c:72)
==5701==    by 0x40107DA: call_init (dl-init.c:30)
==5701==    by 0x40107DA: _dl_init (dl-init.c:120)
==5701==    by 0x4000C69: ??? (in /lib/x86_64-linux-gnu/ld-2.23.so)
==5701==

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.