SimonKagstrom / kcov

Code coverage tool for compiled programs, Python and Bash which uses debugging information to collect and report data without special compilation options
http://simonkagstrom.github.io/kcov/
GNU General Public License v2.0
709 stars 109 forks source link

Improve ci #436

Closed perillo closed 4 months ago

perillo commented 4 months ago

In the previous days I played with the CI, and found that the tests on MacOS actually works fine (after fixing some incorrect code).

Running tests for Linux armv7, aarch64, ppc64le and i386 instead result in several errors, so I will try to find the cause in a future PR.

CHANGES

NOTES

I added an additional code block in osx-build.sh, since it was done for Linux and FreeBSD. However I'm not sure what is the purpose of this, since the result should be checked manually.

TODO

I tried to run tests without using sudo, but on Linux/amd64 I got the error

ERROR: runTest (test_compiled.debuglink)
....
        FileNotFoundError: [Errno 2] No such file or directory: 'build-tests/main-tests-debug-file'

On my system I never encountered this error.

On MacOs instead the test runner stopped after a few tests, maybe cause a deadlock.

SimonKagstrom commented 4 months ago

Thanks!

I haven't tried the MacOS CI build in some time, but at least before it would hang on waiting for user input (in the UI). Maybe that has changed, and thanks for checking and fixing that, although "On MacOs instead the test runner stopped after a few tests, maybe cause a deadlock." sounds a bit like that situation. Why it would happen sometimes and not always, I don't understand though.

Do you want to complete the TODO, or shall I merge the PR? The changes looks good to me, as always!

perillo commented 4 months ago

You can merge it, thanks. I will create additional PRs later.

perillo commented 4 months ago

Thanks!

I haven't tried the MacOS CI build in some time, but at least before it would hang on waiting for user input (in the UI). Maybe that has changed, and thanks for checking and fixing that, although "On MacOs instead the test runner stopped after a few tests, maybe cause a deadlock." sounds a bit like that situation. Why it would happen sometimes and not always, I don't understand though.

In my case that happened when I tried to run the tests without using sudo. As for sudo on MacOs, I found this issue: https://github.com/actions/runner-images/issues/7987

SimonKagstrom commented 4 months ago

Great, thanks!

SimonKagstrom commented 4 months ago

Looks like this the first time you run it on OSX by the way:

Screenshot 2024-04-15 at 11 37 46

and I belive that's the reason why it didn't work for MacOS in the CI before. Not sure why that would change though...

perillo commented 4 months ago

Log files for build and testing

armv7

Build

  -- The C compiler identification is GNU 11.4.0
  -- The CXX compiler identification is GNU 11.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Looking for pthread.h
  -- Looking for pthread.h - found
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE  
  -- Found Bfd: /usr/lib/arm-linux-gnueabihf/libbfd.so  
  -- Target architectures: armv7
  -- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.11") 
  -- Found CURL: /usr/lib/arm-linux-gnueabihf/libcurl.so (found version "7.81.0")  
  -- Found DL: /usr/lib/arm-linux-gnueabihf/libdl.a
  -- Found M: /usr/lib/arm-linux-gnueabihf/libm.so
  -- Found Git: /usr/bin/git
  fatal: No names found, cannot describe anything.
  -- kcov version: 
  -- Found OpenSSL: /usr/lib/arm-linux-gnueabihf/libcrypto.so (found version "3.0.2")  
  -- Found LibElf: /usr/lib/arm-linux-gnueabihf/libelf.so  
  -- Found ElfUtils: /usr/lib/arm-linux-gnueabihf/libdw.so  
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/runner/work/kcov/kcov/build
  [  1%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/phdr_data.c.o
  [  2%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/lib.c.o
  [  3%] Linking C shared library libkcov_sowrapper.so
  [  3%] Built target kcov_sowrapper
  [  5%] Building C object src/CMakeFiles/bash_execve_redirector.dir/engines/bash-execve-redirector.c.o
  [  6%] Linking C shared library libbash_execve_redirector.so
  [  6%] Built target bash_execve_redirector
  [  7%] Building C object src/CMakeFiles/bash_tracefd_cloexec.dir/engines/bash-tracefd-cloexec.c.o
  [  8%] Linking C shared library libbash_tracefd_cloexec.so
  [  8%] Built target bash_tracefd_cloexec
  [ 10%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/engines/system-mode-binary-lib.cc.o
  [ 11%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/utils.cc.o
  [ 12%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/system-mode/registration.cc.o
  [ 13%] Linking CXX shared library libkcov_system_lib.so
  [ 13%] Built target kcov_system_lib
  [ 15%] Generating version.c
  [ 16%] Generating bash-cloexec-library.cc
  [ 17%] Generating bash-helper.cc
  [ 18%] Generating bash-redirector-library.cc
  [ 20%] Generating html-data-files.cc
  [ 21%] Generating kcov-system-library.cc
  [ 22%] Generating library.cc
  [ 24%] Generating python-helper.cc
  [ 25%] Building CXX object src/CMakeFiles/kcov.dir/capabilities.cc.o
  [ 26%] Building CXX object src/CMakeFiles/kcov.dir/collector.cc.o
  [ 27%] Building CXX object src/CMakeFiles/kcov.dir/configuration.cc.o
  [ 29%] Building CXX object src/CMakeFiles/kcov.dir/engine-factory.cc.o
  [ 30%] Building CXX object src/CMakeFiles/kcov.dir/engines/bash-engine.cc.o
  [ 31%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-engine.cc.o
  In file included from /usr/include/c++/11/vector:72,
                   from /home/runner/work/kcov/kcov/src/include/file-parser.hh:10,
                   from /home/runner/work/kcov/kcov/src/engines/system-mode-engine.cc:1:
  /usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long unsigned int}; _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]':
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<long long unsigned int>::iterator' changed in GCC 7.1
    426 |       vector<_Tp, _Alloc>::
        |       ^~~~~~~~~~~~~~~~~~~
  /usr/include/c++/11/bits/vector.tcc: In member function 'virtual int SystemModeEngine::registerBreakpoint(long unsigned int)':
  /usr/include/c++/11/bits/vector.tcc:121:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >' changed in GCC 7.1
    121 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
        |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [ 32%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-file-format.cc.o
  [ 34%] Building CXX object src/CMakeFiles/kcov.dir/engines/python-engine.cc.o
  [ 35%] Building CXX object src/CMakeFiles/kcov.dir/filter.cc.o
  [ 36%] Building CXX object src/CMakeFiles/kcov.dir/gcov.cc.o
  In file included from /usr/include/c++/11/vector:72,
                   from /home/runner/work/kcov/kcov/src/include/gcov.hh:3,
                   from /home/runner/work/kcov/kcov/src/gcov.cc:1:
  /usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int}; _Tp = long long int; _Alloc = std::allocator<long long int>]':
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<long long int>::iterator' changed in GCC 7.1
    426 |       vector<_Tp, _Alloc>::
        |       ^~~~~~~~~~~~~~~~~~~
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<long long int>::iterator' changed in GCC 7.1
  /usr/include/c++/11/bits/vector.tcc: In member function 'void kcov::GcdaParser::onCounterBase(const header*, const uint8_t*)':
  /usr/include/c++/11/bits/vector.tcc:121:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<long long int*, std::vector<long long int> >' changed in GCC 7.1
    121 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
        |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [ 37%] Building CXX object src/CMakeFiles/kcov.dir/main.cc.o
  [ 39%] Building CXX object src/CMakeFiles/kcov.dir/merge-file-parser.cc.o
  [ 40%] Building CXX object src/CMakeFiles/kcov.dir/output-handler.cc.o
  [ 41%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dummy-disassembler.cc.o
  [ 43%] Building CXX object src/CMakeFiles/kcov.dir/parser-manager.cc.o
  [ 44%] Building CXX object src/CMakeFiles/kcov.dir/reporter.cc.o
  In file included from /usr/include/c++/11/vector:72,
                   from /home/runner/work/kcov/kcov/src/include/file-parser.hh:10,
                   from /home/runner/work/kcov/kcov/src/reporter.cc:2:
  /usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {Reporter::PendingFileAddress}; _Tp = Reporter::PendingFileAddress; _Alloc = std::allocator<Reporter::PendingFileAddress>]':
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<Reporter::PendingFileAddress>::iterator' changed in GCC 7.1
    426 |       vector<_Tp, _Alloc>::
        |       ^~~~~~~~~~~~~~~~~~~
  /usr/include/c++/11/bits/vector.tcc: In member function 'bool Reporter::unMarshal(void*, size_t)':
  /usr/include/c++/11/bits/vector.tcc:121:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<Reporter::PendingFileAddress*, std::vector<Reporter::PendingFileAddress> >' changed in GCC 7.1
    121 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
        |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [ 45%] Building CXX object src/CMakeFiles/kcov.dir/source-file-cache.cc.o
  [ 46%] Building CXX object src/CMakeFiles/kcov.dir/utils.cc.o
  [ 48%] Building CXX object src/CMakeFiles/kcov.dir/writers/cobertura-writer.cc.o
  [ 49%] Building CXX object src/CMakeFiles/kcov.dir/writers/codecov-writer.cc.o
  [ 50%] Building CXX object src/CMakeFiles/kcov.dir/writers/json-writer.cc.o
  [ 51%] Building CXX object src/CMakeFiles/kcov.dir/writers/coveralls-writer.cc.o
  [ 53%] Building CXX object src/CMakeFiles/kcov.dir/writers/html-writer.cc.o
  [ 54%] Building CXX object src/CMakeFiles/kcov.dir/writers/sonarqube-xml-writer.cc.o
  [ 55%] Building CXX object src/CMakeFiles/kcov.dir/writers/writer-base.cc.o
  [ 56%] Building CXX object src/CMakeFiles/kcov.dir/engines/clang-coverage-engine.cc.o
  [ 58%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace.cc.o
  [ 59%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace_linux.cc.o
  [ 60%] Building CXX object src/CMakeFiles/kcov.dir/engines/kernel-engine.cc.o
  [ 62%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf.cc.o
  In file included from /usr/include/c++/11/vector:72,
                   from /home/runner/work/kcov/kcov/src/include/utils.hh:16,
                   from /home/runner/work/kcov/kcov/src/include/elf.hh:3,
                   from /home/runner/work/kcov/kcov/src/parsers/elf.cc:1:
  /usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const kcov::Segment&}; _Tp = kcov::Segment; _Alloc = std::allocator<kcov::Segment>]':
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<kcov::Segment>::iterator' changed in GCC 7.1
    426 |       vector<_Tp, _Alloc>::
        |       ^~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/c++/11/vector:67,
                   from /home/runner/work/kcov/kcov/src/include/utils.hh:16,
                   from /home/runner/work/kcov/kcov/src/include/elf.hh:3,
                   from /home/runner/work/kcov/kcov/src/parsers/elf.cc:1:
  /usr/include/c++/11/bits/stl_vector.h: In static member function 'static kcov::IElf* kcov::IElf::create(const string&)':
  /usr/include/c++/11/bits/stl_vector.h:1198:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<kcov::Segment*, std::vector<kcov::Segment> >' changed in GCC 7.1
   1198 |           _M_realloc_insert(end(), __x);
        |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
  [ 63%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf-parser.cc.o
  In file included from /usr/include/c++/11/vector:72,
                   from /home/runner/work/kcov/kcov/src/include/file-parser.hh:10,
                   from /home/runner/work/kcov/kcov/src/parsers/elf-parser.cc:1:
  /usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const kcov::Segment&}; _Tp = kcov::Segment; _Alloc = std::allocator<kcov::Segment>]':
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<kcov::Segment>::iterator' changed in GCC 7.1
    426 |       vector<_Tp, _Alloc>::
        |       ^~~~~~~~~~~~~~~~~~~
  /usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {kcov::Segment}; _Tp = kcov::Segment; _Alloc = std::allocator<kcov::Segment>]':
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<kcov::Segment>::iterator' changed in GCC 7.1
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<kcov::Segment>::iterator' changed in GCC 7.1
  /usr/include/c++/11/bits/vector.tcc: In member function 'virtual bool ElfInstance::addFile(const string&, phdr_data_entry*)':
  /usr/include/c++/11/bits/vector.tcc:121:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<kcov::Segment*, std::vector<kcov::Segment> >' changed in GCC 7.1
    121 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
        |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/c++/11/vector:67,
                   from /home/runner/work/kcov/kcov/src/include/file-parser.hh:10,
                   from /home/runner/work/kcov/kcov/src/parsers/elf-parser.cc:1:
  /usr/include/c++/11/bits/stl_vector.h: In function 'bool ElfInstance::parseOneElf()':
  /usr/include/c++/11/bits/stl_vector.h:1198:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<kcov::Segment*, std::vector<kcov::Segment> >' changed in GCC 7.1
   1198 |           _M_realloc_insert(end(), __x);
        |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
  [ 64%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dwarf.cc.o
  [ 65%] Building CXX object src/CMakeFiles/kcov.dir/solib-handler.cc.o
  [ 67%] Building C object src/CMakeFiles/kcov.dir/solib-parser/phdr_data.c.o
  [ 68%] Building CXX object src/CMakeFiles/kcov.dir/system-mode/file-data.cc.o
  [ 69%] Building CXX object src/CMakeFiles/kcov.dir/library.cc.o
  [ 70%] Building CXX object src/CMakeFiles/kcov.dir/bash-redirector-library.cc.o
  [ 72%] Building CXX object src/CMakeFiles/kcov.dir/bash-cloexec-library.cc.o
  [ 73%] Building CXX object src/CMakeFiles/kcov.dir/python-helper.cc.o
  [ 74%] Building CXX object src/CMakeFiles/kcov.dir/bash-helper.cc.o
  [ 75%] Building CXX object src/CMakeFiles/kcov.dir/kcov-system-library.cc.o
  [ 77%] Building CXX object src/CMakeFiles/kcov.dir/html-data-files.cc.o
  [ 78%] Building C object src/CMakeFiles/kcov.dir/version.c.o
  [ 79%] Linking CXX executable kcov
  [ 79%] Built target kcov
  [ 81%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/configuration.cc.o
  [ 82%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/dummy-solib-handler.cc.o
  [ 83%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engine-factory.cc.o
  [ 84%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/system-mode-file-format.cc.o
  [ 86%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/ptrace.cc.o
  [ 87%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/ptrace_linux.cc.o
  [ 88%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/filter.cc.o
  [ 89%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/gcov.cc.o
  In file included from /usr/include/c++/11/vector:72,
                   from /home/runner/work/kcov/kcov/src/include/gcov.hh:3,
                   from /home/runner/work/kcov/kcov/src/gcov.cc:1:
  /usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int}; _Tp = long long int; _Alloc = std::allocator<long long int>]':
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<long long int>::iterator' changed in GCC 7.1
    426 |       vector<_Tp, _Alloc>::
        |       ^~~~~~~~~~~~~~~~~~~
  /usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<long long int>::iterator' changed in GCC 7.1
  /usr/include/c++/11/bits/vector.tcc: In member function 'void kcov::GcdaParser::onCounterBase(const header*, const uint8_t*)':
  /usr/include/c++/11/bits/vector.tcc:121:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<long long int*, std::vector<long long int> >' changed in GCC 7.1
    121 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
        |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [ 91%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/main-system-daemon.cc.o
  [ 92%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/parser-manager.cc.o
  [ 93%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/system-mode/file-data.cc.o
  [ 94%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/system-mode/registration.cc.o
  [ 96%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/utils.cc.o
  [ 97%] Building C object src/CMakeFiles/kcov-system-daemon.dir/version.c.o
  [ 98%] Linking CXX executable kcov-system-daemon
  [100%] Built target kcov-system-daemon
  Consolidate compiler generated dependencies of target kcov_sowrapper
  [  3%] Built target kcov_sowrapper
  Consolidate compiler generated dependencies of target bash_execve_redirector
  [  6%] Built target bash_execve_redirector
  Consolidate compiler generated dependencies of target bash_tracefd_cloexec
  [  8%] Built target bash_tracefd_cloexec
  Consolidate compiler generated dependencies of target kcov_system_lib
  [ 13%] Built target kcov_system_lib
  Consolidate compiler generated dependencies of target kcov
  [ 79%] Built target kcov
  Consolidate compiler generated dependencies of target kcov-system-daemon
  [100%] Built target kcov-system-daemon
  Install the project...
  -- Install configuration: "Release"
  -- Installing: /usr/local/share/doc/kcov/ChangeLog
  -- Installing: /usr/local/share/doc/kcov/COPYING
  -- Installing: /usr/local/share/doc/kcov/COPYING.externals
  -- Installing: /usr/local/bin/kcov
  -- Installing: /usr/local/bin/kcov-system-daemon
  -- Installing: /usr/local/share/man/man1/kcov.1

Test

  -- The C compiler identification is GNU 11.4.0
  -- The CXX compiler identification is GNU 11.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Target architectures: armv7
  -- The ASM compiler identification is GNU
  -- Found assembler: /usr/bin/cc
  -- Looking for pthread.h
  -- Looking for pthread.h - found
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE  
  -- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.11") 
  -- Found CURL: /usr/lib/arm-linux-gnueabihf/libcurl.so (found version "7.81.0")  
  -- Found Python3: /usr/bin/python3.10 (found suitable version "3.10.12", minimum required is "3.8") found components: Interpreter 
  -- Found DL: /usr/lib/arm-linux-gnueabihf/libdl.a
  -- Found M: /usr/lib/arm-linux-gnueabihf/libm.so
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/runner/work/kcov/kcov/build-tests
  [  1%] Generating multi-fork-generated.c
  [  1%] Built target multi-fork-generated
  [  3%] Building C object CMakeFiles/shared_library.dir/shared-library/solib.c.o
  [  5%] Linking C shared library libshared_library.so
  [  5%] Built target shared_library
  [  7%] Building CXX object CMakeFiles/main-tests.dir/main.cc.o
  [  9%] Building C object CMakeFiles/main-tests.dir/subdir/file.c.o
  [ 11%] Building C object CMakeFiles/main-tests.dir/subdir2/file2.c.o
  [ 13%] Linking CXX executable main-tests
  [ 13%] Built target main-tests
  [ 15%] Building C object CMakeFiles/fork.dir/fork/fork.c.o
  [ 17%] Linking C executable fork
  [ 17%] Built target fork
  [ 19%] Building C object CMakeFiles/fork_no_wait.dir/fork/fork-no-wait.c.o
  [ 21%] Linking C executable fork_no_wait
  [ 21%] Built target fork_no_wait
  [ 23%] Building C object CMakeFiles/vfork.dir/fork/vfork.c.o
  [ 25%] Linking C executable vfork
  [ 25%] Built target vfork
  [ 26%] Building C object CMakeFiles/signals.dir/signals/test-signals.c.o
  [ 28%] Linking C executable signals
  [ 28%] Built target signals
  [ 30%] Building C object CMakeFiles/multi_fork.dir/multi-fork/test-multi-fork.c.o
  [ 32%] Linking C executable multi_fork
  [ 34%] Built target multi_fork
  [ 36%] Building C object CMakeFiles/shared_library_test.dir/shared-library/main.c.o
  [ 38%] Linking C executable shared_library_test
  [ 38%] Built target shared_library_test
  [ 40%] Building C object CMakeFiles/argv_dependent.dir/argv-dependent.c.o
  [ 42%] Linking C executable argv_dependent
  [ 42%] Built target argv_dependent
  [ 44%] Building C object CMakeFiles/test_popen.dir/popen/test-popen.c.o
  [ 46%] Linking C executable test_popen
  [ 46%] Built target test_popen
  [ 48%] Building CXX object CMakeFiles/global-constructors.dir/global-constructors/test-global-ctors.cc.o
  [ 50%] Linking CXX executable global-constructors
  [ 50%] Built target global-constructors
  [ 51%] Building CXX object CMakeFiles/test_daemon.dir/daemon/test-daemon.cc.o
  [ 53%] Linking CXX executable test_daemon
  [ 53%] Built target test_daemon
  [ 55%] Building C object CMakeFiles/multi_1.dir/merge-tests/file.c.o
  [ 57%] Building C object CMakeFiles/multi_1.dir/merge-tests/main_1.c.o
  [ 59%] Linking C executable multi_1
  [ 59%] Built target multi_1
  [ 61%] Building C object CMakeFiles/multi_2.dir/merge-tests/file.c.o
  [ 63%] Building C object CMakeFiles/multi_2.dir/merge-tests/main_2.c.o
  [ 65%] Linking C executable multi_2
  [ 65%] Built target multi_2
  [ 67%] Building CXX object CMakeFiles/setpgid-kill.dir/setpgid-kill/setpgid-kill-main.cc.o
  [ 69%] Building CXX object CMakeFiles/setpgid-kill.dir/home/runner/work/kcov/kcov/src/utils.cc.o
  [ 71%] Linking CXX executable setpgid-kill
  [ 71%] Built target setpgid-kill
  [ 73%] Building CXX object CMakeFiles/issue31.dir/daemon/test-issue31.cc.o
  [ 75%] Linking CXX executable issue31
  [ 75%] Built target issue31
  [ 76%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen.cc.o
  [ 78%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen-main.cc.o
  [ 80%] Linking CXX executable dlopen
  [ 80%] Built target dlopen
  [ 82%] Building C object CMakeFiles/s.dir/short-file.c.o
  [ 84%] Linking C executable s
  [ 84%] Built target s
  [ 86%] Building C object CMakeFiles/fork+exec.dir/fork/fork+exec.c.o
  /home/runner/work/kcov/kcov/tests/fork/fork+exec.c: In function 'main':
  /home/runner/work/kcov/kcov/tests/fork/fork+exec.c:26:17: warning: argument 2 null where non-null expected [-Wnonnull]
     26 |                 execvp(argv[1], NULL);
        |                 ^~~~~~
  In file included from /home/runner/work/kcov/kcov/tests/fork/fork+exec.c:1:
  /usr/include/unistd.h:599:12: note: in a call to function 'execvp' declared 'nonnull'
    599 | extern int execvp (const char *__file, char *const __argv[])
        |            ^~~~~~
  [ 88%] Linking C executable fork+exec
  [ 88%] Built target fork+exec
  [ 90%] Building C object CMakeFiles/thread-test.dir/threads/thread-main.c.o
  [ 92%] Linking C executable thread-test
  [ 92%] Built target thread-test
  [ 94%] Building C object CMakeFiles/pie.dir/pie.c.o
  [ 96%] Linking C executable pie
  [ 96%] Built target pie
  [ 98%] Building C object CMakeFiles/pie-test.dir/argv-dependent.c.o
  [100%] Linking C executable pie-test
  [100%] Built target pie-test
  [100%] Built target tests-stripped
  /usr/bin/tar: Removing leading `/' from member names
  /usr/bin/tar: Removing leading `/' from hard link targets
  ELF Header:
    Magic:   7f 45 4c 46 01 01 01 03 00 00 00 00 00 00 00 00 
    Class:                             ELF32
    Data:                              2's complement, little endian
    Version:                           1 (current)
    OS/ABI:                            UNIX - GNU
    ABI Version:                       0
    Type:                              DYN (Position-Independent Executable file)
    Machine:                           ARM
    Version:                           0x1
    Entry point address:               0x7609
    Start of program headers:          52 (bytes into file)
    Start of section headers:          12915768 (bytes into file)
    Flags:                             0x5000400, Version5 EABI, hard-float ABI
    Size of this header:               52 (bytes)
    Size of program headers:           32 (bytes)
    Number of program headers:         9
    Size of section headers:           40 (bytes)
    Number of section headers:         39
    Section header string table index: 38
  Built for armv7.
  Hello, kcov!
  Coverage: 2/2 100.00%
  runTest (test_basic.lookup_binary_in_path) ... expected failure
  runTest (test_basic.outdir_is_executable) ... FAIL
  runTest (test_basic.too_few_arguments) ... ok
  runTest (test_basic.wrong_arguments) ... ok
  runTest (test_compiled_basic.main_test) ... FAIL
  runTest (test_compiled_basic.main_test_lldb_raw_breakpoints) ... FAIL
  runTest (test_compiled_basic.main_test_verify) ... FAIL
  runTest (test_compiled_basic.shared_library) ... FAIL
  runTest (test_compiled_basic.shared_library_accumulate) ... FAIL
  runTest (test_compiled_basic.shared_library_filter_out) ... FAIL
  runTest (test_compiled_basic.shared_library_skip) ... skipped 'Fickle test, ignoring'
  runTest (test_bash_linux_only.bash_exit_before_child) ... ok
  runTest (test_bash_linux_only.bash_ldpreload_multilib) ... ok
  runTest (test_bash_linux_only.bash_sh_shebang) ... ok
  runTest (test_accumulate.accumulate_data) ... FAIL
  runTest (test_accumulate.dont_accumulate_data_with_clean) ... FAIL
  runTest (test_accumulate.merge_basic) ... ERROR
  runTest (test_accumulate.merge_coveralls) ... FAIL
  runTest (test_accumulate.merge_merged_output) ... FAIL
  runTest (test_accumulate.merge_multiple_output_directories) ... FAIL
  runTest (test_bash.bash_accumulate_changed_data) ... skipped 'Only for x86'
  runTest (test_bash.bash_accumulate_data) ... ok
  runTest (test_bash.bash_can_find_non_executed_scripts) ... FAIL
  runTest (test_bash.bash_can_find_non_executed_scripts_manually) ... FAIL
  runTest (test_bash.bash_can_ignore_function_with_spaces) ... ok
  runTest (test_bash.bash_can_ignore_non_executed_scripts) ... ok
  runTest (test_bash.bash_coverage) ... ok
  runTest (test_bash.bash_coverage_debug_trap) ... ok
  runTest (test_bash.bash_coverage_tricky) ... ok
  runTest (test_bash.bash_dollar_var_replacement) ... ok
  runTest (test_bash.bash_done_eof) ... ok
  runTest (test_bash.bash_drain_stdout_without_return) ... ERROR
  runTest (test_bash.bash_eof_backtick) ... ok
  runTest (test_bash.bash_exit_status) ... ok
  runTest (test_bash.bash_handle_all_output) ... ok
  runTest (test_bash.bash_heredoc_backslashes) ... ok
  runTest (test_bash.bash_heredoc_special_cases_issue_44) ... ok
  runTest (test_bash.bash_honor_signal) ... ok
  runTest (test_bash.bash_ignore_uncovered) ... ok
  runTest (test_bash.bash_issue_116_arithmetic_and_heredoc_issue_117_comment_within_string) ... ok
  runTest (test_bash.bash_merge_data_issue_38) ... ok
  runTest (test_bash.bash_multiline_backslashes) ... ok
  runTest (test_bash.bash_multiline_quotes) ... ok
  runTest (test_bash.bash_no_executed_lines) ... ok
  runTest (test_bash.bash_non_empty_braces) ... ok
  runTest (test_bash.bash_short_file) ... ok
  runTest (test_bash.bash_stderr_redirection) ... ok
  runTest (test_bash.bash_subshell) ... ok
  runTest (test_filter.include_exclude_pattern) ... ok
  runTest (test_filter.include_path) ... ok
  runTest (test_filter.include_path_and_exclude_pattern) ... ok
  runTest (test_python.python2_can_set_legal_parser) ... ok
  runTest (test_python.python2_coverage) ... ok
  runTest (test_python.python3_coverage) ... ok
  runTest (test_python.python_accumulate_data) ... FAIL
  runTest (test_python.python_can_set_illegal_parser) ... ok
  runTest (test_python.python_can_set_legal_parser) ... ok
  runTest (test_python.python_coverage) ... FAIL
  runTest (test_python.python_exit_status) ... FAIL
  runTest (test_python.python_issue_368_can_handle_symlink_target) ... ok
  runTest (test_python.python_tricky_single_dict_assignment) ... expected failure
  runTest (test_python.python_tricky_single_line_string_assignment) ... FAIL
  runTest (test_python.python_unittest) ... FAIL

  ======================================================================
  ERROR: runTest (test_accumulate.merge_basic)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 59, in runTest
      dom = cobertura.parseFile(self.outbase + "/kcov/kcov-merged/cobertura.xml")
    File "/home/runner/work/kcov/kcov/tests/tools/libkcov/cobertura.py", line 44, in parseFile
      dom = xml.dom.minidom.parseString(readFile(filename))
    File "/home/runner/work/kcov/kcov/tests/tools/libkcov/cobertura.py", line 5, in readFile
      f = open(name, "r")
  FileNotFoundError: [Errno 2] No such file or directory: '/tmp/kcov/kcov-merged/cobertura.xml'

  ======================================================================
  ERROR: runTest (test_bash.bash_drain_stdout_without_return)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_bash.py", line 497, in runTest
      rv, o = self.do(
    File "/home/runner/work/kcov/kcov/tests/tools/libkcov/__init__.py", line 69, in do
      term = subprocess.run(args, stdout=PIPE, stderr=PIPE, timeout=timeout)
    File "/usr/lib/python3.10/subprocess.py", line 505, in run
      stdout, stderr = process.communicate(input, timeout=timeout)
    File "/usr/lib/python3.10/subprocess.py", line 1154, in communicate
      stdout, stderr = self._communicate(input, endtime, timeout)
    File "/usr/lib/python3.10/subprocess.py", line 2022, in _communicate
      self._check_timeout(endtime, orig_timeout, stdout, stderr)
    File "/usr/lib/python3.10/subprocess.py", line 1198, in _check_timeout
      raise TimeoutExpired(
  subprocess.TimeoutExpired: Command '['build/src/kcov', '/tmp/kcov', './tests/bash/long-output-without-return.sh']' timed out after 5.0 seconds

  ======================================================================
  FAIL: runTest (test_basic.outdir_is_executable)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_basic.py", line 47, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.main_test)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 107, in runTest
      self.doTest("")
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 94, in doTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.main_test_lldb_raw_breakpoints)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 117, in runTest
      self.doTest("--configure=lldb-use-raw-breakpoint-writes=1")
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 94, in doTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.main_test_verify)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 112, in runTest
      self.doTest("--verify")
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 94, in doTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.shared_library)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 19, in runTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.shared_library_accumulate)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 72, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.shared_library_filter_out)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 58, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.accumulate_data)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 12, in runTest
      assert cobertura.hitsPerLine(dom, "main", 16) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.dont_accumulate_data_with_clean)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 32, in runTest
      assert cobertura.hitsPerLine(dom, "main", 16) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.merge_coveralls)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 160, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.merge_merged_output)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 135, in runTest
      assert cobertura.hitsPerLine(dom, "main", 10) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.merge_multiple_output_directories)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 88, in runTest
      assert cobertura.hitsPerLine(dom, "main", 10) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_bash.bash_can_find_non_executed_scripts)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_bash.py", line 435, in runTest
      assert cobertura.hitsPerLine(dom, "c.sh", 3) == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_bash.bash_can_find_non_executed_scripts_manually)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_bash.py", line 453, in runTest
      assert cobertura.hitsPerLine(dom, "c.sh", 3) == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_accumulate_data)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 135, in runTest
      assert cobertura.hitsPerLine(dom, "main", 16) == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_coverage)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 125, in runTest
      self.doTest("")
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 106, in doTest
      assert cobertura.hitsPerLine(dom, "main", 10) == 2
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_exit_status)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 17, in runTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_tricky_single_line_string_assignment)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 164, in runTest
      assert cobertura.hitsPerLine(dom, "second.py", 34) == 2
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_unittest)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 89, in runTest
      assert cobertura.hitsPerLine(dom, "testdriver", 14) == 1
  AssertionError

  ----------------------------------------------------------------------
  Ran 63 tests in 32.985s

  FAILED (failures=19, errors=2, skipped=2, expected failures=2)

aarch64

Build

-- The C compiler identification is GNU 11.4.0
  -- The CXX compiler identification is GNU 11.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Looking for pthread.h
  -- Looking for pthread.h - found
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE  
  -- Found Bfd: /usr/lib/aarch64-linux-gnu/libbfd.so  
  -- Target architectures: unknown
  -- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.2.11") 
  -- Found CURL: /usr/lib/aarch64-linux-gnu/libcurl.so (found version "7.81.0")  
  -- Found DL: /usr/lib/aarch64-linux-gnu/libdl.a
  -- Found M: /usr/lib/aarch64-linux-gnu/libm.so
  -- Found Git: /usr/bin/git
  fatal: No names found, cannot describe anything.
  -- kcov version: 
  -- Found OpenSSL: /usr/lib/aarch64-linux-gnu/libcrypto.so (found version "3.0.2")  
  -- Found LibElf: /usr/lib/aarch64-linux-gnu/libelf.so  
  -- Found ElfUtils: /usr/lib/aarch64-linux-gnu/libdw.so  
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/runner/work/kcov/kcov/build
  [  1%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/phdr_data.c.o
  [  2%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/lib.c.o
  [  3%] Linking C shared library libkcov_sowrapper.so
  [  3%] Built target kcov_sowrapper
  [  5%] Building C object src/CMakeFiles/bash_execve_redirector.dir/engines/bash-execve-redirector.c.o
  [  6%] Linking C shared library libbash_execve_redirector.so
  [  6%] Built target bash_execve_redirector
  [  7%] Building C object src/CMakeFiles/bash_tracefd_cloexec.dir/engines/bash-tracefd-cloexec.c.o
  [  8%] Linking C shared library libbash_tracefd_cloexec.so
  [  8%] Built target bash_tracefd_cloexec
  [ 10%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/engines/system-mode-binary-lib.cc.o
  [ 11%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/utils.cc.o
  [ 12%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/system-mode/registration.cc.o
  [ 13%] Linking CXX shared library libkcov_system_lib.so
  [ 13%] Built target kcov_system_lib
  [ 15%] Generating version.c
  [ 16%] Generating bash-cloexec-library.cc
  [ 17%] Generating bash-helper.cc
  [ 18%] Generating bash-redirector-library.cc
  [ 20%] Generating html-data-files.cc
  [ 21%] Generating kcov-system-library.cc
  [ 22%] Generating library.cc
  [ 24%] Generating python-helper.cc
  [ 25%] Building CXX object src/CMakeFiles/kcov.dir/capabilities.cc.o
  [ 26%] Building CXX object src/CMakeFiles/kcov.dir/collector.cc.o
  [ 27%] Building CXX object src/CMakeFiles/kcov.dir/configuration.cc.o
  [ 29%] Building CXX object src/CMakeFiles/kcov.dir/engine-factory.cc.o
  [ 30%] Building CXX object src/CMakeFiles/kcov.dir/engines/bash-engine.cc.o
  [ 31%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-engine.cc.o
  [ 32%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-file-format.cc.o
  [ 34%] Building CXX object src/CMakeFiles/kcov.dir/engines/python-engine.cc.o
  [ 35%] Building CXX object src/CMakeFiles/kcov.dir/filter.cc.o
  [ 36%] Building CXX object src/CMakeFiles/kcov.dir/gcov.cc.o
  [ 37%] Building CXX object src/CMakeFiles/kcov.dir/main.cc.o
  [ 39%] Building CXX object src/CMakeFiles/kcov.dir/merge-file-parser.cc.o
  [ 40%] Building CXX object src/CMakeFiles/kcov.dir/output-handler.cc.o
  [ 41%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dummy-disassembler.cc.o
  [ 43%] Building CXX object src/CMakeFiles/kcov.dir/parser-manager.cc.o
  [ 44%] Building CXX object src/CMakeFiles/kcov.dir/reporter.cc.o
  [ 45%] Building CXX object src/CMakeFiles/kcov.dir/source-file-cache.cc.o
  [ 46%] Building CXX object src/CMakeFiles/kcov.dir/utils.cc.o
  [ 48%] Building CXX object src/CMakeFiles/kcov.dir/writers/cobertura-writer.cc.o
  [ 49%] Building CXX object src/CMakeFiles/kcov.dir/writers/codecov-writer.cc.o
  [ 50%] Building CXX object src/CMakeFiles/kcov.dir/writers/json-writer.cc.o
  [ 51%] Building CXX object src/CMakeFiles/kcov.dir/writers/coveralls-writer.cc.o
  [ 53%] Building CXX object src/CMakeFiles/kcov.dir/writers/html-writer.cc.o
  [ 54%] Building CXX object src/CMakeFiles/kcov.dir/writers/sonarqube-xml-writer.cc.o
  [ 55%] Building CXX object src/CMakeFiles/kcov.dir/writers/writer-base.cc.o
  [ 56%] Building CXX object src/CMakeFiles/kcov.dir/engines/clang-coverage-engine.cc.o
  [ 58%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace.cc.o
  [ 59%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace_linux.cc.o
  [ 60%] Building CXX object src/CMakeFiles/kcov.dir/engines/kernel-engine.cc.o
  [ 62%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf.cc.o
  [ 63%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf-parser.cc.o
  [ 64%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dwarf.cc.o
  [ 65%] Building CXX object src/CMakeFiles/kcov.dir/solib-handler.cc.o
  [ 67%] Building C object src/CMakeFiles/kcov.dir/solib-parser/phdr_data.c.o
  [ 68%] Building CXX object src/CMakeFiles/kcov.dir/system-mode/file-data.cc.o
  [ 69%] Building CXX object src/CMakeFiles/kcov.dir/library.cc.o
  [ 70%] Building CXX object src/CMakeFiles/kcov.dir/bash-redirector-library.cc.o
  [ 72%] Building CXX object src/CMakeFiles/kcov.dir/bash-cloexec-library.cc.o
  [ 73%] Building CXX object src/CMakeFiles/kcov.dir/python-helper.cc.o
  [ 74%] Building CXX object src/CMakeFiles/kcov.dir/bash-helper.cc.o
  [ 75%] Building CXX object src/CMakeFiles/kcov.dir/kcov-system-library.cc.o
  [ 77%] Building CXX object src/CMakeFiles/kcov.dir/html-data-files.cc.o
  [ 78%] Building C object src/CMakeFiles/kcov.dir/version.c.o
  [ 79%] Linking CXX executable kcov
  [ 79%] Built target kcov
  [ 81%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/configuration.cc.o
  [ 82%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/dummy-solib-handler.cc.o
  [ 83%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engine-factory.cc.o
  [ 84%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/system-mode-file-format.cc.o
  [ 86%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/ptrace.cc.o
  [ 87%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/ptrace_linux.cc.o
  [ 88%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/filter.cc.o
  [ 89%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/gcov.cc.o
  [ 91%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/main-system-daemon.cc.o
  [ 92%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/parser-manager.cc.o
  [ 93%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/system-mode/file-data.cc.o
  [ 94%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/system-mode/registration.cc.o
  [ 96%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/utils.cc.o
  [ 97%] Building C object src/CMakeFiles/kcov-system-daemon.dir/version.c.o
  [ 98%] Linking CXX executable kcov-system-daemon
  [100%] Built target kcov-system-daemon
  Consolidate compiler generated dependencies of target kcov_sowrapper
  [  3%] Built target kcov_sowrapper
  Consolidate compiler generated dependencies of target bash_execve_redirector
  [  6%] Built target bash_execve_redirector
  Consolidate compiler generated dependencies of target bash_tracefd_cloexec
  [  8%] Built target bash_tracefd_cloexec
  Consolidate compiler generated dependencies of target kcov_system_lib
  [ 13%] Built target kcov_system_lib
  Consolidate compiler generated dependencies of target kcov
  [ 79%] Built target kcov
  Consolidate compiler generated dependencies of target kcov-system-daemon
  [100%] Built target kcov-system-daemon
  Install the project...
  -- Install configuration: "Release"
  -- Installing: /usr/local/share/doc/kcov/ChangeLog
  -- Installing: /usr/local/share/doc/kcov/COPYING
  -- Installing: /usr/local/share/doc/kcov/COPYING.externals
  -- Installing: /usr/local/bin/kcov
  -- Installing: /usr/local/bin/kcov-system-daemon
  -- Installing: /usr/local/share/man/man1/kcov.1

Test

-- The C compiler identification is GNU 11.4.0
  -- The CXX compiler identification is GNU 11.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Target architectures: unknown
  -- The ASM compiler identification is GNU
  -- Found assembler: /usr/bin/cc
  -- Looking for pthread.h
  -- Looking for pthread.h - found
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE  
  -- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.2.11") 
  -- Found CURL: /usr/lib/aarch64-linux-gnu/libcurl.so (found version "7.81.0")  
  -- Found Python3: /usr/bin/python3.10 (found suitable version "3.10.12", minimum required is "3.8") found components: Interpreter 
  -- Found DL: /usr/lib/aarch64-linux-gnu/libdl.a
  -- Found M: /usr/lib/aarch64-linux-gnu/libm.so
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/runner/work/kcov/kcov/build-tests
  [  1%] Generating multi-fork-generated.c
  [  1%] Built target multi-fork-generated
  [  3%] Building C object CMakeFiles/shared_library.dir/shared-library/solib.c.o
  [  5%] Linking C shared library libshared_library.so
  [  5%] Built target shared_library
  [  7%] Building CXX object CMakeFiles/main-tests.dir/main.cc.o
  [  9%] Building C object CMakeFiles/main-tests.dir/subdir/file.c.o
  [ 11%] Building C object CMakeFiles/main-tests.dir/subdir2/file2.c.o
  [ 13%] Linking CXX executable main-tests
  [ 13%] Built target main-tests
  [ 15%] Building C object CMakeFiles/fork.dir/fork/fork.c.o
  [ 17%] Linking C executable fork
  [ 17%] Built target fork
  [ 19%] Building C object CMakeFiles/fork_no_wait.dir/fork/fork-no-wait.c.o
  [ 21%] Linking C executable fork_no_wait
  [ 21%] Built target fork_no_wait
  [ 23%] Building C object CMakeFiles/vfork.dir/fork/vfork.c.o
  [ 25%] Linking C executable vfork
  [ 25%] Built target vfork
  [ 26%] Building C object CMakeFiles/signals.dir/signals/test-signals.c.o
  [ 28%] Linking C executable signals
  [ 28%] Built target signals
  [ 30%] Building C object CMakeFiles/multi_fork.dir/multi-fork/test-multi-fork.c.o
  [ 32%] Linking C executable multi_fork
  [ 34%] Built target multi_fork
  [ 36%] Building C object CMakeFiles/shared_library_test.dir/shared-library/main.c.o
  [ 38%] Linking C executable shared_library_test
  [ 38%] Built target shared_library_test
  [ 40%] Building C object CMakeFiles/argv_dependent.dir/argv-dependent.c.o
  [ 42%] Linking C executable argv_dependent
  [ 42%] Built target argv_dependent
  [ 44%] Building C object CMakeFiles/test_popen.dir/popen/test-popen.c.o
  [ 46%] Linking C executable test_popen
  [ 46%] Built target test_popen
  [ 48%] Building CXX object CMakeFiles/global-constructors.dir/global-constructors/test-global-ctors.cc.o
  [ 50%] Linking CXX executable global-constructors
  [ 50%] Built target global-constructors
  [ 51%] Building CXX object CMakeFiles/test_daemon.dir/daemon/test-daemon.cc.o
  [ 53%] Linking CXX executable test_daemon
  [ 53%] Built target test_daemon
  [ 55%] Building C object CMakeFiles/multi_1.dir/merge-tests/file.c.o
  [ 57%] Building C object CMakeFiles/multi_1.dir/merge-tests/main_1.c.o
  [ 59%] Linking C executable multi_1
  [ 59%] Built target multi_1
  [ 61%] Building C object CMakeFiles/multi_2.dir/merge-tests/file.c.o
  [ 63%] Building C object CMakeFiles/multi_2.dir/merge-tests/main_2.c.o
  [ 65%] Linking C executable multi_2
  [ 65%] Built target multi_2
  [ 67%] Building CXX object CMakeFiles/setpgid-kill.dir/setpgid-kill/setpgid-kill-main.cc.o
  [ 69%] Building CXX object CMakeFiles/setpgid-kill.dir/home/runner/work/kcov/kcov/src/utils.cc.o
  [ 71%] Linking CXX executable setpgid-kill
  [ 71%] Built target setpgid-kill
  [ 73%] Building CXX object CMakeFiles/issue31.dir/daemon/test-issue31.cc.o
  [ 75%] Linking CXX executable issue31
  [ 75%] Built target issue31
  [ 76%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen.cc.o
  [ 78%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen-main.cc.o
  [ 80%] Linking CXX executable dlopen
  [ 80%] Built target dlopen
  [ 82%] Building C object CMakeFiles/s.dir/short-file.c.o
  [ 84%] Linking C executable s
  [ 84%] Built target s
  [ 86%] Building C object CMakeFiles/fork+exec.dir/fork/fork+exec.c.o
  /home/runner/work/kcov/kcov/tests/fork/fork+exec.c: In function 'main':
  /home/runner/work/kcov/kcov/tests/fork/fork+exec.c:26:17: warning: argument 2 null where non-null expected [-Wnonnull]
     26 |                 execvp(argv[1], NULL);
        |                 ^~~~~~
  In file included from /home/runner/work/kcov/kcov/tests/fork/fork+exec.c:1:
  /usr/include/unistd.h:599:12: note: in a call to function 'execvp' declared 'nonnull'
    599 | extern int execvp (const char *__file, char *const __argv[])
        |            ^~~~~~
  [ 88%] Linking C executable fork+exec
  [ 88%] Built target fork+exec
  [ 90%] Building C object CMakeFiles/thread-test.dir/threads/thread-main.c.o
  [ 92%] Linking C executable thread-test
  [ 92%] Built target thread-test
  [ 94%] Building C object CMakeFiles/pie.dir/pie.c.o
  [ 96%] Linking C executable pie
  [ 96%] Built target pie
  [ 98%] Building C object CMakeFiles/pie-test.dir/argv-dependent.c.o
  [100%] Linking C executable pie-test
  [100%] Built target pie-test
  [100%] Built target tests-stripped
  /usr/bin/tar: Removing leading `/' from member names
  /usr/bin/tar: Removing leading `/' from hard link targets
  ELF Header:
    Magic:   7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00 
    Class:                             ELF64
    Data:                              2's complement, little endian
    Version:                           1 (current)
    OS/ABI:                            UNIX - GNU
    ABI Version:                       0
    Type:                              DYN (Position-Independent Executable file)
    Machine:                           AArch64
    Version:                           0x1
    Entry point address:               0xccc0
    Start of program headers:          64 (bytes into file)
    Start of section headers:          13850424 (bytes into file)
    Flags:                             0x0
    Size of this header:               64 (bytes)
    Size of program headers:           56 (bytes)
    Number of program headers:         9
    Size of section headers:           64 (bytes)
    Number of section headers:         38
    Section header string table index: 37
  Built for aarch64.
  Hello, kcov!
  Coverage: 2/2 100.00%
  runTest (test_basic.lookup_binary_in_path) ... expected failure
  runTest (test_basic.outdir_is_executable) ... FAIL
  runTest (test_basic.too_few_arguments) ... ok
  runTest (test_basic.wrong_arguments) ... ok
  runTest (test_compiled_basic.main_test) ... FAIL
  runTest (test_compiled_basic.main_test_lldb_raw_breakpoints) ... FAIL
  runTest (test_compiled_basic.main_test_verify) ... FAIL
  runTest (test_compiled_basic.shared_library) ... FAIL
  runTest (test_compiled_basic.shared_library_accumulate) ... FAIL
  runTest (test_compiled_basic.shared_library_filter_out) ... FAIL
  runTest (test_compiled_basic.shared_library_skip) ... skipped 'Fickle test, ignoring'
  runTest (test_bash_linux_only.bash_exit_before_child) ... ok
  runTest (test_bash_linux_only.bash_ldpreload_multilib) ... ok
  runTest (test_bash_linux_only.bash_sh_shebang) ... ok
  runTest (test_accumulate.accumulate_data) ... FAIL
  runTest (test_accumulate.dont_accumulate_data_with_clean) ... FAIL
  runTest (test_accumulate.merge_basic) ... ERROR
  runTest (test_accumulate.merge_coveralls) ... FAIL
  runTest (test_accumulate.merge_merged_output) ... FAIL
  runTest (test_accumulate.merge_multiple_output_directories) ... FAIL
  runTest (test_bash.bash_accumulate_changed_data) ... skipped 'Only for x86'
  runTest (test_bash.bash_accumulate_data) ... ok
  runTest (test_bash.bash_can_find_non_executed_scripts) ... ok
  runTest (test_bash.bash_can_find_non_executed_scripts_manually) ... ok
  runTest (test_bash.bash_can_ignore_function_with_spaces) ... ok
  runTest (test_bash.bash_can_ignore_non_executed_scripts) ... ok
  runTest (test_bash.bash_coverage) ... ok
  runTest (test_bash.bash_coverage_debug_trap) ... ok
  runTest (test_bash.bash_coverage_tricky) ... ok
  runTest (test_bash.bash_dollar_var_replacement) ... ok
  runTest (test_bash.bash_done_eof) ... ok
  runTest (test_bash.bash_drain_stdout_without_return) ... ok
  runTest (test_bash.bash_eof_backtick) ... ok
  runTest (test_bash.bash_exit_status) ... ok
  runTest (test_bash.bash_handle_all_output) ... ok
  runTest (test_bash.bash_heredoc_backslashes) ... ok
  runTest (test_bash.bash_heredoc_special_cases_issue_44) ... ok
  runTest (test_bash.bash_honor_signal) ... ok
  runTest (test_bash.bash_ignore_uncovered) ... ok
  runTest (test_bash.bash_issue_116_arithmetic_and_heredoc_issue_117_comment_within_string) ... ok
  runTest (test_bash.bash_merge_data_issue_38) ... ok
  runTest (test_bash.bash_multiline_backslashes) ... ok
  runTest (test_bash.bash_multiline_quotes) ... ok
  runTest (test_bash.bash_no_executed_lines) ... ok
  runTest (test_bash.bash_non_empty_braces) ... ok
  runTest (test_bash.bash_short_file) ... ok
  runTest (test_bash.bash_stderr_redirection) ... ok
  runTest (test_bash.bash_subshell) ... ok
  runTest (test_filter.include_exclude_pattern) ... ok
  runTest (test_filter.include_path) ... ok
  runTest (test_filter.include_path_and_exclude_pattern) ... ok
  runTest (test_python.python2_can_set_legal_parser) ... ok
  runTest (test_python.python2_coverage) ... ok
  runTest (test_python.python3_coverage) ... ok
  runTest (test_python.python_accumulate_data) ... FAIL
  runTest (test_python.python_can_set_illegal_parser) ... ok
  runTest (test_python.python_can_set_legal_parser) ... ok
  runTest (test_python.python_coverage) ... FAIL
  runTest (test_python.python_exit_status) ... FAIL
  runTest (test_python.python_issue_368_can_handle_symlink_target) ... ok
  runTest (test_python.python_tricky_single_dict_assignment) ... expected failure
  runTest (test_python.python_tricky_single_line_string_assignment) ... FAIL
  runTest (test_python.python_unittest) ... FAIL

  ======================================================================
  ERROR: runTest (test_accumulate.merge_basic)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 59, in runTest
      dom = cobertura.parseFile(self.outbase + "/kcov/kcov-merged/cobertura.xml")
    File "/home/runner/work/kcov/kcov/tests/tools/libkcov/cobertura.py", line 44, in parseFile
      dom = xml.dom.minidom.parseString(readFile(filename))
    File "/home/runner/work/kcov/kcov/tests/tools/libkcov/cobertura.py", line 5, in readFile
      f = open(name, "r")
  FileNotFoundError: [Errno 2] No such file or directory: '/tmp/kcov/kcov-merged/cobertura.xml'

  ======================================================================
  FAIL: runTest (test_basic.outdir_is_executable)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_basic.py", line 47, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.main_test)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 107, in runTest
      self.doTest("")
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 94, in doTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.main_test_lldb_raw_breakpoints)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 117, in runTest
      self.doTest("--configure=lldb-use-raw-breakpoint-writes=1")
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 94, in doTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.main_test_verify)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 112, in runTest
      self.doTest("--verify")
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 94, in doTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.shared_library)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 19, in runTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.shared_library_accumulate)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 72, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.shared_library_filter_out)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 58, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.accumulate_data)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 12, in runTest
      assert cobertura.hitsPerLine(dom, "main", 16) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.dont_accumulate_data_with_clean)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 32, in runTest
      assert cobertura.hitsPerLine(dom, "main", 16) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.merge_coveralls)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 160, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.merge_merged_output)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 135, in runTest
      assert cobertura.hitsPerLine(dom, "main", 10) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.merge_multiple_output_directories)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 88, in runTest
      assert cobertura.hitsPerLine(dom, "main", 10) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_accumulate_data)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 135, in runTest
      assert cobertura.hitsPerLine(dom, "main", 16) == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_coverage)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 125, in runTest
      self.doTest("")
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 106, in doTest
      assert cobertura.hitsPerLine(dom, "main", 10) == 2
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_exit_status)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 17, in runTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_tricky_single_line_string_assignment)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 164, in runTest
      assert cobertura.hitsPerLine(dom, "second.py", 34) == 2
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_unittest)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 89, in runTest
      assert cobertura.hitsPerLine(dom, "testdriver", 14) == 1
  AssertionError

  ----------------------------------------------------------------------
  Ran 63 tests in 35.582s

  FAILED (failures=17, errors=1, skipped=2, expected failures=2)

ppc64le

Build

  -- The C compiler identification is GNU 11.4.0
  -- The CXX compiler identification is GNU 11.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Looking for pthread.h
  -- Looking for pthread.h - found
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE  
  -- Found Bfd: /usr/lib/powerpc64le-linux-gnu/libbfd.so  
  -- Target architectures: ppc64
  -- Found ZLIB: /usr/lib/powerpc64le-linux-gnu/libz.so (found version "1.2.11") 
  -- Found CURL: /usr/lib/powerpc64le-linux-gnu/libcurl.so (found version "7.81.0")  
  -- Found DL: /usr/lib/powerpc64le-linux-gnu/libdl.a
  -- Found M: /usr/lib/powerpc64le-linux-gnu/libm.so
  -- Found Git: /usr/bin/git
  fatal: No names found, cannot describe anything.
  -- kcov version: 
  -- Found OpenSSL: /usr/lib/powerpc64le-linux-gnu/libcrypto.so (found version "3.0.2")  
  -- Found LibElf: /usr/lib/powerpc64le-linux-gnu/libelf.so  
  -- Found ElfUtils: /usr/lib/powerpc64le-linux-gnu/libdw.so  
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/runner/work/kcov/kcov/build
  [  1%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/phdr_data.c.o
  [  2%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/lib.c.o
  [  3%] Linking C shared library libkcov_sowrapper.so
  [  3%] Built target kcov_sowrapper
  [  5%] Building C object src/CMakeFiles/bash_execve_redirector.dir/engines/bash-execve-redirector.c.o
  [  6%] Linking C shared library libbash_execve_redirector.so
  [  6%] Built target bash_execve_redirector
  [  7%] Building C object src/CMakeFiles/bash_tracefd_cloexec.dir/engines/bash-tracefd-cloexec.c.o
  [  8%] Linking C shared library libbash_tracefd_cloexec.so
  [  8%] Built target bash_tracefd_cloexec
  [ 10%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/engines/system-mode-binary-lib.cc.o
  [ 11%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/utils.cc.o
  [ 12%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/system-mode/registration.cc.o
  [ 13%] Linking CXX shared library libkcov_system_lib.so
  [ 13%] Built target kcov_system_lib
  [ 15%] Generating version.c
  [ 16%] Generating bash-cloexec-library.cc
  [ 17%] Generating bash-helper.cc
  [ 18%] Generating bash-redirector-library.cc
  [ 20%] Generating html-data-files.cc
  [ 21%] Generating kcov-system-library.cc
  [ 22%] Generating library.cc
  [ 24%] Generating python-helper.cc
  [ 25%] Building CXX object src/CMakeFiles/kcov.dir/capabilities.cc.o
  [ 26%] Building CXX object src/CMakeFiles/kcov.dir/collector.cc.o
  [ 27%] Building CXX object src/CMakeFiles/kcov.dir/configuration.cc.o
  [ 29%] Building CXX object src/CMakeFiles/kcov.dir/engine-factory.cc.o
  [ 30%] Building CXX object src/CMakeFiles/kcov.dir/engines/bash-engine.cc.o
  [ 31%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-engine.cc.o
  [ 32%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-file-format.cc.o
  [ 34%] Building CXX object src/CMakeFiles/kcov.dir/engines/python-engine.cc.o
  [ 35%] Building CXX object src/CMakeFiles/kcov.dir/filter.cc.o
  In file included from /usr/include/c++/11/bits/regex_scanner.h:271,
                   from /usr/include/c++/11/regex:61,
                   from /home/runner/work/kcov/kcov/src/filter.cc:9:
  /usr/include/c++/11/bits/regex_scanner.tcc: In constructor 'std::__detail::_Scanner<_CharT>::_Scanner(const _CharT*, const _CharT*, std::__detail::_Scanner<_CharT>::_FlagT, std::locale) [with _CharT = char]':
  /usr/include/c++/11/bits/regex_scanner.tcc:56:5: note: the layout of aggregates containing vectors with 4-byte alignment has changed in GCC 5
     56 |     _Scanner<_CharT>::
        |     ^~~~~~~~~~~~~~~~
  [ 36%] Building CXX object src/CMakeFiles/kcov.dir/gcov.cc.o
  /home/runner/work/kcov/kcov/src/gcov.cc: In copy constructor 'kcov::GcnoParser::BasicBlockMapping::BasicBlockMapping(const kcov::GcnoParser::BasicBlockMapping&)':
  /home/runner/work/kcov/kcov/src/gcov.cc:168:17: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5
    168 |                 m_function(other.m_function), m_basicBlock(other.m_basicBlock),
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [ 37%] Building CXX object src/CMakeFiles/kcov.dir/main.cc.o
  [ 39%] Building CXX object src/CMakeFiles/kcov.dir/merge-file-parser.cc.o
  [ 40%] Building CXX object src/CMakeFiles/kcov.dir/output-handler.cc.o
  [ 41%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dummy-disassembler.cc.o
  [ 43%] Building CXX object src/CMakeFiles/kcov.dir/parser-manager.cc.o
  [ 44%] Building CXX object src/CMakeFiles/kcov.dir/reporter.cc.o
  [ 45%] Building CXX object src/CMakeFiles/kcov.dir/source-file-cache.cc.o
  [ 46%] Building CXX object src/CMakeFiles/kcov.dir/utils.cc.o
  [ 48%] Building CXX object src/CMakeFiles/kcov.dir/writers/cobertura-writer.cc.o
  [ 49%] Building CXX object src/CMakeFiles/kcov.dir/writers/codecov-writer.cc.o
  [ 50%] Building CXX object src/CMakeFiles/kcov.dir/writers/json-writer.cc.o
  [ 51%] Building CXX object src/CMakeFiles/kcov.dir/writers/coveralls-writer.cc.o
  [ 53%] Building CXX object src/CMakeFiles/kcov.dir/writers/html-writer.cc.o
  [ 54%] Building CXX object src/CMakeFiles/kcov.dir/writers/sonarqube-xml-writer.cc.o
  [ 55%] Building CXX object src/CMakeFiles/kcov.dir/writers/writer-base.cc.o
  [ 56%] Building CXX object src/CMakeFiles/kcov.dir/engines/clang-coverage-engine.cc.o
  [ 58%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace.cc.o
  [ 59%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace_linux.cc.o
  [ 60%] Building CXX object src/CMakeFiles/kcov.dir/engines/kernel-engine.cc.o
  [ 62%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf.cc.o
  [ 63%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf-parser.cc.o
  [ 64%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dwarf.cc.o
  [ 65%] Building CXX object src/CMakeFiles/kcov.dir/solib-handler.cc.o
  [ 67%] Building C object src/CMakeFiles/kcov.dir/solib-parser/phdr_data.c.o
  [ 68%] Building CXX object src/CMakeFiles/kcov.dir/system-mode/file-data.cc.o
  [ 69%] Building CXX object src/CMakeFiles/kcov.dir/library.cc.o
  [ 70%] Building CXX object src/CMakeFiles/kcov.dir/bash-redirector-library.cc.o
  [ 72%] Building CXX object src/CMakeFiles/kcov.dir/bash-cloexec-library.cc.o
  [ 73%] Building CXX object src/CMakeFiles/kcov.dir/python-helper.cc.o
  [ 74%] Building CXX object src/CMakeFiles/kcov.dir/bash-helper.cc.o
  [ 75%] Building CXX object src/CMakeFiles/kcov.dir/kcov-system-library.cc.o
  [ 77%] Building CXX object src/CMakeFiles/kcov.dir/html-data-files.cc.o
  [ 78%] Building C object src/CMakeFiles/kcov.dir/version.c.o
  [ 79%] Linking CXX executable kcov
  [ 79%] Built target kcov
  [ 81%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/configuration.cc.o
  [ 82%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/dummy-solib-handler.cc.o
  [ 83%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engine-factory.cc.o
  [ 84%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/system-mode-file-format.cc.o
  [ 86%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/ptrace.cc.o
  [ 87%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/ptrace_linux.cc.o
  [ 88%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/filter.cc.o
  In file included from /usr/include/c++/11/bits/regex_scanner.h:271,
                   from /usr/include/c++/11/regex:61,
                   from /home/runner/work/kcov/kcov/src/filter.cc:9:
  /usr/include/c++/11/bits/regex_scanner.tcc: In constructor 'std::__detail::_Scanner<_CharT>::_Scanner(const _CharT*, const _CharT*, std::__detail::_Scanner<_CharT>::_FlagT, std::locale) [with _CharT = char]':
  /usr/include/c++/11/bits/regex_scanner.tcc:56:5: note: the layout of aggregates containing vectors with 4-byte alignment has changed in GCC 5
     56 |     _Scanner<_CharT>::
        |     ^~~~~~~~~~~~~~~~
  [ 89%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/gcov.cc.o
  /home/runner/work/kcov/kcov/src/gcov.cc: In copy constructor 'kcov::GcnoParser::BasicBlockMapping::BasicBlockMapping(const kcov::GcnoParser::BasicBlockMapping&)':
  /home/runner/work/kcov/kcov/src/gcov.cc:168:17: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5
    168 |                 m_function(other.m_function), m_basicBlock(other.m_basicBlock),
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [ 91%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/main-system-daemon.cc.o
  [ 92%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/parser-manager.cc.o
  [ 93%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/system-mode/file-data.cc.o
  [ 94%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/system-mode/registration.cc.o
  [ 96%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/utils.cc.o
  [ 97%] Building C object src/CMakeFiles/kcov-system-daemon.dir/version.c.o
  [ 98%] Linking CXX executable kcov-system-daemon
  [100%] Built target kcov-system-daemon
  Consolidate compiler generated dependencies of target kcov_sowrapper
  [  3%] Built target kcov_sowrapper
  Consolidate compiler generated dependencies of target bash_execve_redirector
  [  6%] Built target bash_execve_redirector
  Consolidate compiler generated dependencies of target bash_tracefd_cloexec
  [  8%] Built target bash_tracefd_cloexec
  Consolidate compiler generated dependencies of target kcov_system_lib
  [ 13%] Built target kcov_system_lib
  Consolidate compiler generated dependencies of target kcov
  [ 79%] Built target kcov
  Consolidate compiler generated dependencies of target kcov-system-daemon
  [100%] Built target kcov-system-daemon
  Install the project...
  -- Install configuration: "Release"
  -- Installing: /usr/local/share/doc/kcov/ChangeLog
  -- Installing: /usr/local/share/doc/kcov/COPYING
  -- Installing: /usr/local/share/doc/kcov/COPYING.externals
  -- Installing: /usr/local/bin/kcov
  -- Installing: /usr/local/bin/kcov-system-daemon
  -- Installing: /usr/local/share/man/man1/kcov.1

Test

-- The C compiler identification is GNU 11.4.0
  -- The CXX compiler identification is GNU 11.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Target architectures: ppc64
  -- The ASM compiler identification is GNU
  -- Found assembler: /usr/bin/cc
  -- Looking for pthread.h
  -- Looking for pthread.h - found
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE  
  -- Found ZLIB: /usr/lib/powerpc64le-linux-gnu/libz.so (found version "1.2.11") 
  -- Found CURL: /usr/lib/powerpc64le-linux-gnu/libcurl.so (found version "7.81.0")  
  -- Found Python3: /usr/bin/python3.10 (found suitable version "3.10.12", minimum required is "3.8") found components: Interpreter 
  -- Found DL: /usr/lib/powerpc64le-linux-gnu/libdl.a
  -- Found M: /usr/lib/powerpc64le-linux-gnu/libm.so
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/runner/work/kcov/kcov/build-tests
  [  1%] Generating multi-fork-generated.c
  [  1%] Built target multi-fork-generated
  [  3%] Building C object CMakeFiles/shared_library.dir/shared-library/solib.c.o
  [  5%] Linking C shared library libshared_library.so
  [  5%] Built target shared_library
  [  7%] Building CXX object CMakeFiles/main-tests.dir/main.cc.o
  [  9%] Building C object CMakeFiles/main-tests.dir/subdir/file.c.o
  [ 11%] Building C object CMakeFiles/main-tests.dir/subdir2/file2.c.o
  [ 13%] Linking CXX executable main-tests
  [ 13%] Built target main-tests
  [ 15%] Building C object CMakeFiles/fork.dir/fork/fork.c.o
  [ 17%] Linking C executable fork
  [ 17%] Built target fork
  [ 19%] Building C object CMakeFiles/fork_no_wait.dir/fork/fork-no-wait.c.o
  [ 21%] Linking C executable fork_no_wait
  [ 21%] Built target fork_no_wait
  [ 23%] Building C object CMakeFiles/vfork.dir/fork/vfork.c.o
  [ 25%] Linking C executable vfork
  [ 25%] Built target vfork
  [ 26%] Building C object CMakeFiles/signals.dir/signals/test-signals.c.o
  [ 28%] Linking C executable signals
  [ 28%] Built target signals
  [ 30%] Building C object CMakeFiles/multi_fork.dir/multi-fork/test-multi-fork.c.o
  [ 32%] Linking C executable multi_fork
  [ 34%] Built target multi_fork
  [ 36%] Building C object CMakeFiles/shared_library_test.dir/shared-library/main.c.o
  [ 38%] Linking C executable shared_library_test
  [ 38%] Built target shared_library_test
  [ 40%] Building C object CMakeFiles/argv_dependent.dir/argv-dependent.c.o
  [ 42%] Linking C executable argv_dependent
  [ 42%] Built target argv_dependent
  [ 44%] Building C object CMakeFiles/test_popen.dir/popen/test-popen.c.o
  [ 46%] Linking C executable test_popen
  [ 46%] Built target test_popen
  [ 48%] Building CXX object CMakeFiles/global-constructors.dir/global-constructors/test-global-ctors.cc.o
  [ 50%] Linking CXX executable global-constructors
  [ 50%] Built target global-constructors
  [ 51%] Building CXX object CMakeFiles/test_daemon.dir/daemon/test-daemon.cc.o
  [ 53%] Linking CXX executable test_daemon
  [ 53%] Built target test_daemon
  [ 55%] Building C object CMakeFiles/multi_1.dir/merge-tests/file.c.o
  [ 57%] Building C object CMakeFiles/multi_1.dir/merge-tests/main_1.c.o
  [ 59%] Linking C executable multi_1
  [ 59%] Built target multi_1
  [ 61%] Building C object CMakeFiles/multi_2.dir/merge-tests/file.c.o
  [ 63%] Building C object CMakeFiles/multi_2.dir/merge-tests/main_2.c.o
  [ 65%] Linking C executable multi_2
  [ 65%] Built target multi_2
  [ 67%] Building CXX object CMakeFiles/setpgid-kill.dir/setpgid-kill/setpgid-kill-main.cc.o
  [ 69%] Building CXX object CMakeFiles/setpgid-kill.dir/home/runner/work/kcov/kcov/src/utils.cc.o
  [ 71%] Linking CXX executable setpgid-kill
  [ 71%] Built target setpgid-kill
  [ 73%] Building CXX object CMakeFiles/issue31.dir/daemon/test-issue31.cc.o
  [ 75%] Linking CXX executable issue31
  [ 75%] Built target issue31
  [ 76%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen.cc.o
  [ 78%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen-main.cc.o
  [ 80%] Linking CXX executable dlopen
  [ 80%] Built target dlopen
  [ 82%] Building C object CMakeFiles/s.dir/short-file.c.o
  [ 84%] Linking C executable s
  [ 84%] Built target s
  [ 86%] Building C object CMakeFiles/fork+exec.dir/fork/fork+exec.c.o
  /home/runner/work/kcov/kcov/tests/fork/fork+exec.c: In function 'main':
  /home/runner/work/kcov/kcov/tests/fork/fork+exec.c:26:17: warning: argument 2 null where non-null expected [-Wnonnull]
     26 |                 execvp(argv[1], NULL);
        |                 ^~~~~~
  In file included from /home/runner/work/kcov/kcov/tests/fork/fork+exec.c:1:
  /usr/include/unistd.h:599:12: note: in a call to function 'execvp' declared 'nonnull'
    599 | extern int execvp (const char *__file, char *const __argv[])
        |            ^~~~~~
  [ 88%] Linking C executable fork+exec
  [ 88%] Built target fork+exec
  [ 90%] Building C object CMakeFiles/thread-test.dir/threads/thread-main.c.o
  [ 92%] Linking C executable thread-test
  [ 92%] Built target thread-test
  [ 94%] Building C object CMakeFiles/pie.dir/pie.c.o
  [ 96%] Linking C executable pie
  [ 96%] Built target pie
  [ 98%] Building C object CMakeFiles/pie-test.dir/argv-dependent.c.o
  [100%] Linking C executable pie-test
  [100%] Built target pie-test
  [100%] Built target tests-stripped
  /usr/bin/tar: Removing leading `/' from member names
  /usr/bin/tar: Removing leading `/' from hard link targets
  ELF Header:
    Magic:   7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00 
    Class:                             ELF64
    Data:                              2's complement, little endian
    Version:                           1 (current)
    OS/ABI:                            UNIX - GNU
    ABI Version:                       0
    Type:                              DYN (Position-Independent Executable file)
    Machine:                           PowerPC64
    Version:                           0x1
    Entry point address:               0xe6d8
    Start of program headers:          64 (bytes into file)
    Start of section headers:          14526680 (bytes into file)
    Flags:                             0x2, abiv2
    Size of this header:               64 (bytes)
    Size of program headers:           56 (bytes)
    Number of program headers:         9
    Size of section headers:           64 (bytes)
    Number of section headers:         38
    Section header string table index: 37
  Built for ppc64le.
  Hello, kcov!
  Coverage: 2/2 100.00%
  runTest (test_basic.lookup_binary_in_path) ... expected failure
  runTest (test_basic.outdir_is_executable) ... FAIL
  runTest (test_basic.too_few_arguments) ... ok
  runTest (test_basic.wrong_arguments) ... ok
  runTest (test_compiled_basic.main_test) ... FAIL
  runTest (test_compiled_basic.main_test_lldb_raw_breakpoints) ... FAIL
  runTest (test_compiled_basic.main_test_verify) ... FAIL
  runTest (test_compiled_basic.shared_library) ... FAIL
  runTest (test_compiled_basic.shared_library_accumulate) ... FAIL
  runTest (test_compiled_basic.shared_library_filter_out) ... FAIL
  runTest (test_compiled_basic.shared_library_skip) ... skipped 'Fickle test, ignoring'
  runTest (test_bash_linux_only.bash_exit_before_child) ... ok
  runTest (test_bash_linux_only.bash_ldpreload_multilib) ... ok
  runTest (test_bash_linux_only.bash_sh_shebang) ... ok
  runTest (test_accumulate.accumulate_data) ... FAIL
  runTest (test_accumulate.dont_accumulate_data_with_clean) ... FAIL
  runTest (test_accumulate.merge_basic) ... ERROR
  runTest (test_accumulate.merge_coveralls) ... FAIL
  runTest (test_accumulate.merge_merged_output) ... FAIL
  runTest (test_accumulate.merge_multiple_output_directories) ... FAIL
  runTest (test_bash.bash_accumulate_changed_data) ... skipped 'Only for x86'
  runTest (test_bash.bash_accumulate_data) ... ok
  runTest (test_bash.bash_can_find_non_executed_scripts) ... ok
  runTest (test_bash.bash_can_find_non_executed_scripts_manually) ... ok
  runTest (test_bash.bash_can_ignore_function_with_spaces) ... ok
  runTest (test_bash.bash_can_ignore_non_executed_scripts) ... ok
  runTest (test_bash.bash_coverage) ... ok
  runTest (test_bash.bash_coverage_debug_trap) ... ok
  runTest (test_bash.bash_coverage_tricky) ... ok
  runTest (test_bash.bash_dollar_var_replacement) ... ok
  runTest (test_bash.bash_done_eof) ... ok
  runTest (test_bash.bash_drain_stdout_without_return) ... ok
  runTest (test_bash.bash_eof_backtick) ... ok
  runTest (test_bash.bash_exit_status) ... ok
  runTest (test_bash.bash_handle_all_output) ... ok
  runTest (test_bash.bash_heredoc_backslashes) ... ok
  runTest (test_bash.bash_heredoc_special_cases_issue_44) ... ok
  runTest (test_bash.bash_honor_signal) ... ok
  runTest (test_bash.bash_ignore_uncovered) ... ok
  runTest (test_bash.bash_issue_116_arithmetic_and_heredoc_issue_117_comment_within_string) ... ok
  runTest (test_bash.bash_merge_data_issue_38) ... ok
  runTest (test_bash.bash_multiline_backslashes) ... ok
  runTest (test_bash.bash_multiline_quotes) ... ok
  runTest (test_bash.bash_no_executed_lines) ... ok
  runTest (test_bash.bash_non_empty_braces) ... ok
  runTest (test_bash.bash_short_file) ... ok
  runTest (test_bash.bash_stderr_redirection) ... ok
  runTest (test_bash.bash_subshell) ... ok
  runTest (test_filter.include_exclude_pattern) ... ok
  runTest (test_filter.include_path) ... ok
  runTest (test_filter.include_path_and_exclude_pattern) ... ok
  runTest (test_python.python2_can_set_legal_parser) ... ok
  runTest (test_python.python2_coverage) ... ok
  runTest (test_python.python3_coverage) ... ok
  runTest (test_python.python_accumulate_data) ... FAIL
  runTest (test_python.python_can_set_illegal_parser) ... ok
  runTest (test_python.python_can_set_legal_parser) ... ok
  runTest (test_python.python_coverage) ... FAIL
  runTest (test_python.python_exit_status) ... FAIL
  runTest (test_python.python_issue_368_can_handle_symlink_target) ... ok
  runTest (test_python.python_tricky_single_dict_assignment) ... expected failure
  runTest (test_python.python_tricky_single_line_string_assignment) ... FAIL
  runTest (test_python.python_unittest) ... FAIL

  ======================================================================
  ERROR: runTest (test_accumulate.merge_basic)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 59, in runTest
      dom = cobertura.parseFile(self.outbase + "/kcov/kcov-merged/cobertura.xml")
    File "/home/runner/work/kcov/kcov/tests/tools/libkcov/cobertura.py", line 44, in parseFile
      dom = xml.dom.minidom.parseString(readFile(filename))
    File "/home/runner/work/kcov/kcov/tests/tools/libkcov/cobertura.py", line 5, in readFile
      f = open(name, "r")
  FileNotFoundError: [Errno 2] No such file or directory: '/tmp/kcov/kcov-merged/cobertura.xml'

  ======================================================================
  FAIL: runTest (test_basic.outdir_is_executable)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_basic.py", line 47, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.main_test)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 107, in runTest
      self.doTest("")
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 94, in doTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.main_test_lldb_raw_breakpoints)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 117, in runTest
      self.doTest("--configure=lldb-use-raw-breakpoint-writes=1")
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 94, in doTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.main_test_verify)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 112, in runTest
      self.doTest("--verify")
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 94, in doTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.shared_library)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 19, in runTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.shared_library_accumulate)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 72, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_compiled_basic.shared_library_filter_out)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_compiled_basic.py", line 58, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.accumulate_data)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 12, in runTest
      assert cobertura.hitsPerLine(dom, "main", 16) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.dont_accumulate_data_with_clean)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 32, in runTest
      assert cobertura.hitsPerLine(dom, "main", 16) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.merge_coveralls)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 160, in runTest
      assert rv == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.merge_merged_output)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 135, in runTest
      assert cobertura.hitsPerLine(dom, "main", 10) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_accumulate.merge_multiple_output_directories)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 88, in runTest
      assert cobertura.hitsPerLine(dom, "main", 10) == 1
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_accumulate_data)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 135, in runTest
      assert cobertura.hitsPerLine(dom, "main", 16) == 0
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_coverage)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 125, in runTest
      self.doTest("")
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 106, in doTest
      assert cobertura.hitsPerLine(dom, "main", 10) == 2
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_exit_status)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 17, in runTest
      assert rv == noKcovRv
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_tricky_single_line_string_assignment)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 164, in runTest
      assert cobertura.hitsPerLine(dom, "second.py", 34) == 2
  AssertionError

  ======================================================================
  FAIL: runTest (test_python.python_unittest)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 89, in runTest
      assert cobertura.hitsPerLine(dom, "testdriver", 14) == 1
  AssertionError

  ----------------------------------------------------------------------
  Ran 63 tests in 38.161s

  FAILED (failures=17, errors=1, skipped=2, expected failures=2)

i386

Build

-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found Bfd: /usr/lib/i386-linux-gnu/libbfd.so  
-- Target architectures: i386
-- Found ZLIB: /usr/lib/i386-linux-gnu/libz.so (found version "1.2.11") 
-- Found CURL: /usr/lib/i386-linux-gnu/libcurl.so (found version "7.81.0")  
-- Found DL: /usr/lib/i386-linux-gnu/libdl.a
-- Found M: /usr/lib/i386-linux-gnu/libm.so
-- Found Git: /usr/bin/git
fatal: No names found, cannot describe anything.
-- kcov version: 
-- Found OpenSSL: /usr/lib/i386-linux-gnu/libcrypto.so (found version "3.0.2")  
-- Found LibElf: /usr/lib/i386-linux-gnu/libelf.so  
-- Found ElfUtils: /usr/lib/i386-linux-gnu/libdw.so  
-- Configuring done
-- Generating done
-- Build files have been written to: /home/runner/work/kcov/kcov/build
[  1%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/phdr_data.c.o
[  2%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/lib.c.o
[  3%] Linking C shared library libkcov_sowrapper.so
[  3%] Built target kcov_sowrapper
[  5%] Building C object src/CMakeFiles/bash_execve_redirector.dir/engines/bash-execve-redirector.c.o
[  6%] Linking C shared library libbash_execve_redirector.so
[  6%] Built target bash_execve_redirector
[  7%] Building C object src/CMakeFiles/bash_tracefd_cloexec.dir/engines/bash-tracefd-cloexec.c.o
[  8%] Linking C shared library libbash_tracefd_cloexec.so
[  8%] Built target bash_tracefd_cloexec
[ 10%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/engines/system-mode-binary-lib.cc.o
[ 11%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/utils.cc.o
[ 12%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/system-mode/registration.cc.o
[ 13%] Linking CXX shared library libkcov_system_lib.so
[ 13%] Built target kcov_system_lib
[ 15%] Generating version.c
[ 16%] Generating bash-cloexec-library.cc
[ 17%] Generating bash-helper.cc
[ 18%] Generating bash-redirector-library.cc
[ 20%] Generating html-data-files.cc
[ 21%] Generating kcov-system-library.cc
[ 22%] Generating library.cc
[ 24%] Generating python-helper.cc
[ 25%] Building CXX object src/CMakeFiles/kcov.dir/capabilities.cc.o
[ 26%] Building CXX object src/CMakeFiles/kcov.dir/collector.cc.o
[ 27%] Building CXX object src/CMakeFiles/kcov.dir/configuration.cc.o
[ 29%] Building CXX object src/CMakeFiles/kcov.dir/engine-factory.cc.o
[ 30%] Building CXX object src/CMakeFiles/kcov.dir/engines/bash-engine.cc.o
[ 31%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-engine.cc.o
[ 32%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-file-format.cc.o
[ 34%] Building CXX object src/CMakeFiles/kcov.dir/engines/python-engine.cc.o
[ 35%] Building CXX object src/CMakeFiles/kcov.dir/filter.cc.o
[ 36%] Building CXX object src/CMakeFiles/kcov.dir/gcov.cc.o
[ 37%] Building CXX object src/CMakeFiles/kcov.dir/main.cc.o
[ 39%] Building CXX object src/CMakeFiles/kcov.dir/merge-file-parser.cc.o
[ 40%] Building CXX object src/CMakeFiles/kcov.dir/output-handler.cc.o
[ 41%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dummy-disassembler.cc.o
[ 43%] Building CXX object src/CMakeFiles/kcov.dir/parser-manager.cc.o
[ 44%] Building CXX object src/CMakeFiles/kcov.dir/reporter.cc.o
[ 45%] Building CXX object src/CMakeFiles/kcov.dir/source-file-cache.cc.o
[ 46%] Building CXX object src/CMakeFiles/kcov.dir/utils.cc.o
[ 48%] Building CXX object src/CMakeFiles/kcov.dir/writers/cobertura-writer.cc.o
[ 49%] Building CXX object src/CMakeFiles/kcov.dir/writers/codecov-writer.cc.o
[ 50%] Building CXX object src/CMakeFiles/kcov.dir/writers/json-writer.cc.o
[ 51%] Building CXX object src/CMakeFiles/kcov.dir/writers/coveralls-writer.cc.o
[ 53%] Building CXX object src/CMakeFiles/kcov.dir/writers/html-writer.cc.o
[ 54%] Building CXX object src/CMakeFiles/kcov.dir/writers/sonarqube-xml-writer.cc.o
[ 55%] Building CXX object src/CMakeFiles/kcov.dir/writers/writer-base.cc.o
[ 56%] Building CXX object src/CMakeFiles/kcov.dir/engines/clang-coverage-engine.cc.o
[ 58%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace.cc.o
[ 59%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace_linux.cc.o
[ 60%] Building CXX object src/CMakeFiles/kcov.dir/engines/kernel-engine.cc.o
[ 62%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf.cc.o
[ 63%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf-parser.cc.o
[ 64%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dwarf.cc.o
[ 65%] Building CXX object src/CMakeFiles/kcov.dir/solib-handler.cc.o
[ 67%] Building C object src/CMakeFiles/kcov.dir/solib-parser/phdr_data.c.o
[ 68%] Building CXX object src/CMakeFiles/kcov.dir/system-mode/file-data.cc.o
[ 69%] Building CXX object src/CMakeFiles/kcov.dir/library.cc.o
[ 70%] Building CXX object src/CMakeFiles/kcov.dir/bash-redirector-library.cc.o
[ 72%] Building CXX object src/CMakeFiles/kcov.dir/bash-cloexec-library.cc.o
[ 73%] Building CXX object src/CMakeFiles/kcov.dir/python-helper.cc.o
[ 74%] Building CXX object src/CMakeFiles/kcov.dir/bash-helper.cc.o
[ 75%] Building CXX object src/CMakeFiles/kcov.dir/kcov-system-library.cc.o
[ 77%] Building CXX object src/CMakeFiles/kcov.dir/html-data-files.cc.o
[ 78%] Building C object src/CMakeFiles/kcov.dir/version.c.o
[ 79%] Linking CXX executable kcov
[ 79%] Built target kcov
[ 81%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/configuration.cc.o
[ 82%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/dummy-solib-handler.cc.o
[ 83%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engine-factory.cc.o
[ 84%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/system-mode-file-format.cc.o
[ 86%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/ptrace.cc.o
[ 87%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/engines/ptrace_linux.cc.o
[ 88%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/filter.cc.o
[ 89%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/gcov.cc.o
[ 91%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/main-system-daemon.cc.o
[ 92%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/parser-manager.cc.o
[ 93%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/system-mode/file-data.cc.o
[ 94%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/system-mode/registration.cc.o
[ 96%] Building CXX object src/CMakeFiles/kcov-system-daemon.dir/utils.cc.o
[ 97%] Building C object src/CMakeFiles/kcov-system-daemon.dir/version.c.o
[ 98%] Linking CXX executable kcov-system-daemon
[100%] Built target kcov-system-daemon
Consolidate compiler generated dependencies of target kcov_sowrapper
[  3%] Built target kcov_sowrapper
Consolidate compiler generated dependencies of target bash_execve_redirector
[  6%] Built target bash_execve_redirector
Consolidate compiler generated dependencies of target bash_tracefd_cloexec
[  8%] Built target bash_tracefd_cloexec
Consolidate compiler generated dependencies of target kcov_system_lib
[ 13%] Built target kcov_system_lib
Consolidate compiler generated dependencies of target kcov
[ 79%] Built target kcov
Consolidate compiler generated dependencies of target kcov-system-daemon
[100%] Built target kcov-system-daemon
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/share/doc/kcov/ChangeLog
-- Installing: /usr/local/share/doc/kcov/COPYING
-- Installing: /usr/local/share/doc/kcov/COPYING.externals
-- Installing: /usr/local/bin/kcov
-- Installing: /usr/local/bin/kcov-system-daemon
-- Installing: /usr/local/share/man/man1/kcov.1

Test

-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Target architectures: i386
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found ZLIB: /usr/lib/i386-linux-gnu/libz.so (found version "1.2.11") 
-- Found CURL: /usr/lib/i386-linux-gnu/libcurl.so (found version "7.81.0")  
-- Found Python3: /usr/bin/python3.10 (found suitable version "3.10.4", minimum required is "3.8") found components: Interpreter 
-- Found DL: /usr/lib/i386-linux-gnu/libdl.a
-- Found M: /usr/lib/i386-linux-gnu/libm.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/runner/work/kcov/kcov/build-tests
[  1%] Generating multi-fork-generated.c
[  1%] Built target multi-fork-generated
[  3%] Building C object CMakeFiles/shared_library.dir/shared-library/solib.c.o
[  5%] Linking C shared library libshared_library.so
[  5%] Built target shared_library
[  7%] Building CXX object CMakeFiles/main-tests.dir/main.cc.o
[  9%] Building C object CMakeFiles/main-tests.dir/subdir/file.c.o
[ 11%] Building C object CMakeFiles/main-tests.dir/subdir2/file2.c.o
[ 12%] Linking CXX executable main-tests
[ 12%] Built target main-tests
[ 14%] Building C object CMakeFiles/fork.dir/fork/fork.c.o
[ 16%] Linking C executable fork
[ 16%] Built target fork
[ 18%] Building C object CMakeFiles/fork_no_wait.dir/fork/fork-no-wait.c.o
[ 20%] Linking C executable fork_no_wait
[ 20%] Built target fork_no_wait
[ 22%] Building C object CMakeFiles/vfork.dir/fork/vfork.c.o
[ 24%] Linking C executable vfork
[ 24%] Built target vfork
[ 25%] Building C object CMakeFiles/signals.dir/signals/test-signals.c.o
[ 27%] Linking C executable signals
[ 27%] Built target signals
[ 29%] Building C object CMakeFiles/multi_fork.dir/multi-fork/test-multi-fork.c.o
[ 31%] Linking C executable multi_fork
[ 33%] Built target multi_fork
[ 35%] Building C object CMakeFiles/shared_library_test.dir/shared-library/main.c.o
[ 37%] Linking C executable shared_library_test
[ 37%] Built target shared_library_test
[ 38%] Building C object CMakeFiles/argv_dependent.dir/argv-dependent.c.o
[ 40%] Linking C executable argv_dependent
[ 40%] Built target argv_dependent
[ 42%] Building C object CMakeFiles/test_popen.dir/popen/test-popen.c.o
[ 44%] Linking C executable test_popen
[ 44%] Built target test_popen
[ 46%] Building CXX object CMakeFiles/global-constructors.dir/global-constructors/test-global-ctors.cc.o
[ 48%] Linking CXX executable global-constructors
[ 48%] Built target global-constructors
[ 50%] Building CXX object CMakeFiles/test_daemon.dir/daemon/test-daemon.cc.o
[ 51%] Linking CXX executable test_daemon
[ 51%] Built target test_daemon
[ 53%] Building C object CMakeFiles/multi_1.dir/merge-tests/file.c.o
[ 55%] Building C object CMakeFiles/multi_1.dir/merge-tests/main_1.c.o
[ 57%] Linking C executable multi_1
[ 57%] Built target multi_1
[ 59%] Building C object CMakeFiles/multi_2.dir/merge-tests/file.c.o
[ 61%] Building C object CMakeFiles/multi_2.dir/merge-tests/main_2.c.o
[ 62%] Linking C executable multi_2
[ 62%] Built target multi_2
[ 64%] Building CXX object CMakeFiles/setpgid-kill.dir/setpgid-kill/setpgid-kill-main.cc.o
[ 66%] Building CXX object CMakeFiles/setpgid-kill.dir/home/runner/work/kcov/kcov/src/utils.cc.o
[ 68%] Linking CXX executable setpgid-kill
[ 68%] Built target setpgid-kill
[ 70%] Building CXX object CMakeFiles/issue31.dir/daemon/test-issue31.cc.o
[ 72%] Linking CXX executable issue31
[ 72%] Built target issue31
[ 74%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen.cc.o
[ 75%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen-main.cc.o
[ 77%] Linking CXX executable dlopen
[ 77%] Built target dlopen
[ 79%] Building C object CMakeFiles/s.dir/short-file.c.o
[ 81%] Linking C executable s
[ 81%] Built target s
[ 83%] Building C object CMakeFiles/fork+exec.dir/fork/fork+exec.c.o
/home/runner/work/kcov/kcov/tests/fork/fork+exec.c: In function ‘main’:
/home/runner/work/kcov/kcov/tests/fork/fork+exec.c:26:17: warning: argument 2 null where non-null expected [-Wnonnull]
   26 |                 execvp(argv[1], NULL);
      |                 ^~~~~~
In file included from /home/runner/work/kcov/kcov/tests/fork/fork+exec.c:1:
/usr/include/unistd.h:599:12: note: in a call to function ‘execvp’ declared ‘nonnull’
  599 | extern int execvp (const char *__file, char *const __argv[])
      |            ^~~~~~
[ 85%] Linking C executable fork+exec
[ 85%] Built target fork+exec
[ 87%] Building C object CMakeFiles/thread-test.dir/threads/thread-main.c.o
[ 88%] Linking C executable thread-test
[ 88%] Built target thread-test
[ 90%] Building C object CMakeFiles/pie.dir/pie.c.o
[ 92%] Linking C executable pie
[ 92%] Built target pie
[ 94%] Building C object CMakeFiles/pie-test.dir/argv-dependent.c.o
[ 96%] Linking C executable pie-test
[ 96%] Built target pie-test
[ 98%] Building CXX object CMakeFiles/recursive-ptrace.dir/recursive-ptrace/main.cc.o
[100%] Linking CXX executable recursive-ptrace
[100%] Built target recursive-ptrace
[100%] Built target illegal-insn
[100%] Built target fork-32
[100%] Built target tests-stripped
tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 03 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - GNU
  ABI Version:                       0
  Type:                              DYN (Position-Independent Executable file)
  Machine:                           Intel 80386
  Version:                           0x1
  Entry point address:               0xb8b0
  Start of program headers:          52 (bytes into file)
  Start of section headers:          13220400 (bytes into file)
  Flags:                             0x0
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         12
  Size of section headers:           40 (bytes)
  Number of section headers:         41
  Section header string table index: 40
Built for i386.
Hello, kcov!
Coverage: 2/2 100.00%
runTest (test_basic.lookup_binary_in_path) ... expected failure
runTest (test_basic.outdir_is_executable) ... FAIL
runTest (test_basic.too_few_arguments) ... ok
runTest (test_basic.wrong_arguments) ... ok
runTest (test_compiled_basic.main_test) ... ok
runTest (test_compiled_basic.main_test_lldb_raw_breakpoints) ... ok
runTest (test_compiled_basic.main_test_verify) ... ok
runTest (test_compiled_basic.shared_library) ... ok
runTest (test_compiled_basic.shared_library_accumulate) ... ok
runTest (test_compiled_basic.shared_library_filter_out) ... ok
runTest (test_compiled_basic.shared_library_skip) ... skipped 'Fickle test, ignoring'
runTest (test_compiled.address_sanitizer_coverage) ... skipped 'Clang only'
runTest (test_compiled.attach_process_with_threads) ... skipped 'Fickle test, ignoring'
runTest (test_compiled.attach_process_with_threads_creates_threads) ... skipped 'Fickle test, ignoring'
runTest (test_compiled.collect_and_report_only) ... skipped 'Fickle test, ignoring'
runTest (test_compiled.collect_no_source) ... expected failure
runTest (test_compiled.daemon_no_wait_for_last_child) ... expected failure
runTest (test_compiled.daemon_wait_for_last_child) ... ok
runTest (test_compiled.debuglink) ... ok
runTest (test_compiled.dlopen) ... expected failure
runTest (test_compiled.dlopen_in_ignored_source_file) ... expected failure
runTest (test_compiled.fork_32) ... skipped 'Only for x86_64'
runTest (test_compiled.fork_64) ... ok
runTest (test_compiled.fork_no_wait) ... ok
runTest (test_compiled.global_ctors) ... ok
runTest (test_compiled.illegal_insn) ... ok
runTest (test_compiled.merge_same_file_in_multiple_binaries) ... ok
runTest (test_compiled.pie) ... ok
runTest (test_compiled.pie_accumulate) ... ok
runTest (test_compiled.pie_argv_basic) ... ok
runTest (test_compiled.popen_test) ... ok
runTest (test_compiled.setpgid_kill) ... ok
runTest (test_compiled.short_filename) ... expected failure
runTest (test_compiled.signals) ... ok
runTest (test_compiled.signals_crash) ... ok
runTest (test_compiled.signals_self) ... ok
runTest (test_compiled.vfork) ... ok
runTest (test_bash_linux_only.bash_exit_before_child) ... ok
runTest (test_bash_linux_only.bash_ldpreload_multilib) ... ok
runTest (test_bash_linux_only.bash_sh_shebang) ... ok
runTest (test_system_mode.system_mode_can_instrument_binary) ... ok
runTest (test_system_mode.system_mode_can_record_and_report_binary) ... skipped 'x86_64-only'
runTest (test_system_mode.system_mode_can_start_and_stop_daemon) ... ok
runTest (test_accumulate.accumulate_data) ... FAIL
runTest (test_accumulate.dont_accumulate_data_with_clean) ... FAIL
runTest (test_accumulate.merge_basic) ... ERROR
runTest (test_accumulate.merge_coveralls) ... FAIL
runTest (test_accumulate.merge_merged_output) ... FAIL
runTest (test_accumulate.merge_multiple_output_directories) ... FAIL
runTest (test_bash.bash_accumulate_changed_data) ... ok
runTest (test_bash.bash_accumulate_data) ... ok
runTest (test_bash.bash_can_find_non_executed_scripts) ... ok
runTest (test_bash.bash_can_find_non_executed_scripts_manually) ... ok
runTest (test_bash.bash_can_ignore_function_with_spaces) ... ok
runTest (test_bash.bash_can_ignore_non_executed_scripts) ... ok
runTest (test_bash.bash_coverage) ... ok
runTest (test_bash.bash_coverage_debug_trap) ... ok
runTest (test_bash.bash_coverage_tricky) ... ok
runTest (test_bash.bash_dollar_var_replacement) ... ok
runTest (test_bash.bash_done_eof) ... ok
runTest (test_bash.bash_drain_stdout_without_return) ... ok
runTest (test_bash.bash_eof_backtick) ... ok
runTest (test_bash.bash_exit_status) ... ok
runTest (test_bash.bash_handle_all_output) ... ok
runTest (test_bash.bash_heredoc_backslashes) ... ok
runTest (test_bash.bash_heredoc_special_cases_issue_44) ... ok
runTest (test_bash.bash_honor_signal) ... ok
runTest (test_bash.bash_ignore_uncovered) ... ok
runTest (test_bash.bash_issue_116_arithmetic_and_heredoc_issue_117_comment_within_string) ... ok
runTest (test_bash.bash_merge_data_issue_38) ... ok
runTest (test_bash.bash_multiline_backslashes) ... ok
runTest (test_bash.bash_multiline_quotes) ... ok
runTest (test_bash.bash_no_executed_lines) ... ok
runTest (test_bash.bash_non_empty_braces) ... ok
runTest (test_bash.bash_short_file) ... ok
runTest (test_bash.bash_stderr_redirection) ... ok
runTest (test_bash.bash_subshell) ... ok
runTest (test_filter.include_exclude_pattern) ... ok
runTest (test_filter.include_path) ... ok
runTest (test_filter.include_path_and_exclude_pattern) ... ok
runTest (test_python.python2_can_set_legal_parser) ... ok
runTest (test_python.python2_coverage) ... ok
runTest (test_python.python3_coverage) ... ok
runTest (test_python.python_accumulate_data) ... FAIL
runTest (test_python.python_can_set_illegal_parser) ... ok
runTest (test_python.python_can_set_legal_parser) ... ok
runTest (test_python.python_coverage) ... FAIL
runTest (test_python.python_exit_status) ... FAIL
runTest (test_python.python_issue_368_can_handle_symlink_target) ... ok
runTest (test_python.python_tricky_single_dict_assignment) ... expected failure
runTest (test_python.python_tricky_single_line_string_assignment) ... FAIL
runTest (test_python.python_unittest) ... FAIL

======================================================================
ERROR: runTest (test_accumulate.merge_basic)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 59, in runTest
    dom = cobertura.parseFile(self.outbase + "/kcov/kcov-merged/cobertura.xml")
  File "/home/runner/work/kcov/kcov/tests/tools/libkcov/cobertura.py", line 44, in parseFile
    dom = xml.dom.minidom.parseString(readFile(filename))
  File "/home/runner/work/kcov/kcov/tests/tools/libkcov/cobertura.py", line 5, in readFile
    f = open(name, "r")
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/kcov/kcov-merged/cobertura.xml'

======================================================================
FAIL: runTest (test_basic.outdir_is_executable)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_basic.py", line 47, in runTest
    assert rv == 0
AssertionError

======================================================================
FAIL: runTest (test_accumulate.accumulate_data)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 12, in runTest
    assert cobertura.hitsPerLine(dom, "main", 16) == 1
AssertionError

======================================================================
FAIL: runTest (test_accumulate.dont_accumulate_data_with_clean)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 32, in runTest
    assert cobertura.hitsPerLine(dom, "main", 16) == 1
AssertionError

======================================================================
FAIL: runTest (test_accumulate.merge_coveralls)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 160, in runTest
    assert rv == 0
AssertionError

======================================================================
FAIL: runTest (test_accumulate.merge_merged_output)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 135, in runTest
    assert cobertura.hitsPerLine(dom, "main", 10) == 1
AssertionError

======================================================================
FAIL: runTest (test_accumulate.merge_multiple_output_directories)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_accumulate.py", line 88, in runTest
    assert cobertura.hitsPerLine(dom, "main", 10) == 1
AssertionError

======================================================================
FAIL: runTest (test_python.python_accumulate_data)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 135, in runTest
    assert cobertura.hitsPerLine(dom, "main", 16) == 0
AssertionError

======================================================================
FAIL: runTest (test_python.python_coverage)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 125, in runTest
    self.doTest("")
  File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 106, in doTest
    assert cobertura.hitsPerLine(dom, "main", 10) == 2
AssertionError

======================================================================
FAIL: runTest (test_python.python_exit_status)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 17, in runTest
    assert rv == noKcovRv
AssertionError

======================================================================
FAIL: runTest (test_python.python_tricky_single_line_string_assignment)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 164, in runTest
    assert cobertura.hitsPerLine(dom, "second.py", 34) == 2
AssertionError

======================================================================
FAIL: runTest (test_python.python_unittest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/kcov/kcov/tests/tools/test_python.py", line 89, in runTest
    assert cobertura.hitsPerLine(dom, "testdriver", 14) == 1
AssertionError

----------------------------------------------------------------------
Ran 92 tests in 166.659s

FAILED (failures=11, errors=1, skipped=7, expected failures=7)
perillo commented 4 months ago

Log files for build and test, FreeBSD and MacOs

FreeBSB

Build

  -- The C compiler identification is Clang 16.0.6
  -- The CXX compiler identification is Clang 16.0.6
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - found
  -- Found Threads: TRUE  
  -- Could NOT find Bfd (missing: LIBBFD_IBERTY_LIBRARY) 
  -- Target architectures: x86_64
  -- Found ZLIB: /usr/lib/libz.so (found version "1.3")  
  -- Found CURL: /usr/local/lib/libcurl.so (found version "8.7.1")  
  -- Found INTL: /usr/local/lib/libintl.so
  -- Found M: /usr/lib/libm.so
  -- Found Git: /usr/local/bin/git
  fatal: No names found, cannot describe anything.
  -- kcov version: 
  -- Found OpenSSL: /usr/lib/libcrypto.so (found version "3.0.12")  
  -- Found LibElf: /usr/local/lib/libelf.so  
  -- Found ElfUtils: /usr/local/lib/libdw.so  
  -- Configuring done (0.6s)
  -- Generating done (0.0s)
  -- Build files have been written to: /home/runner/work/kcov/kcov/build
  [  1%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/phdr_data.c.o
  [  3%] Building C object src/CMakeFiles/kcov_sowrapper.dir/solib-parser/lib.c.o
  [  4%] Linking C shared library libkcov_sowrapper.so
  [  4%] Built target kcov_sowrapper
  [  6%] Building C object src/CMakeFiles/bash_execve_redirector.dir/engines/bash-execve-redirector.c.o
  [  8%] Linking C shared library libbash_execve_redirector.so
  [  8%] Built target bash_execve_redirector
  [  9%] Building C object src/CMakeFiles/bash_tracefd_cloexec.dir/engines/bash-tracefd-cloexec.c.o
  [ 11%] Linking C shared library libbash_tracefd_cloexec.so
  [ 11%] Built target bash_tracefd_cloexec
  [ 12%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/engines/system-mode-binary-lib.cc.o
  [ 14%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/utils.cc.o
  [ 16%] Building CXX object src/CMakeFiles/kcov_system_lib.dir/system-mode/registration.cc.o
  [ 17%] Linking CXX shared library libkcov_system_lib.so
  [ 17%] Built target kcov_system_lib
  [ 19%] Generating bash-cloexec-library.cc
  [ 20%] Generating bash-helper.cc
  [ 22%] Generating bash-redirector-library.cc
  [ 24%] Generating html-data-files.cc
  [ 25%] Generating kcov-system-library.cc
  [ 27%] Generating library.cc
  [ 29%] Generating python-helper.cc
  [ 30%] Generating version.c
  [ 32%] Building CXX object src/CMakeFiles/kcov.dir/capabilities.cc.o
  [ 33%] Building CXX object src/CMakeFiles/kcov.dir/collector.cc.o
  [ 35%] Building CXX object src/CMakeFiles/kcov.dir/configuration.cc.o
  [ 37%] Building CXX object src/CMakeFiles/kcov.dir/engine-factory.cc.o
  [ 38%] Building CXX object src/CMakeFiles/kcov.dir/engines/bash-engine.cc.o
  [ 40%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-engine.cc.o
  [ 41%] Building CXX object src/CMakeFiles/kcov.dir/engines/system-mode-file-format.cc.o
  [ 43%] Building CXX object src/CMakeFiles/kcov.dir/engines/python-engine.cc.o
  [ 45%] Building CXX object src/CMakeFiles/kcov.dir/filter.cc.o
  [ 46%] Building CXX object src/CMakeFiles/kcov.dir/gcov.cc.o
  /home/runner/work/kcov/kcov/src/gcov.cc:303:15: warning: variable 'arc' set but not used [-Wunused-but-set-variable]
          unsigned int arc = 0;
                       ^
  1 warning generated.
  [ 48%] Building CXX object src/CMakeFiles/kcov.dir/main.cc.o
  [ 50%] Building CXX object src/CMakeFiles/kcov.dir/merge-file-parser.cc.o
  [ 51%] Building CXX object src/CMakeFiles/kcov.dir/output-handler.cc.o
  [ 53%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dummy-disassembler.cc.o
  [ 54%] Building CXX object src/CMakeFiles/kcov.dir/parser-manager.cc.o
  [ 56%] Building CXX object src/CMakeFiles/kcov.dir/reporter.cc.o
  [ 58%] Building CXX object src/CMakeFiles/kcov.dir/source-file-cache.cc.o
  [ 59%] Building CXX object src/CMakeFiles/kcov.dir/utils.cc.o
  [ 61%] Building CXX object src/CMakeFiles/kcov.dir/writers/cobertura-writer.cc.o
  [ 62%] Building CXX object src/CMakeFiles/kcov.dir/writers/codecov-writer.cc.o
  [ 64%] Building CXX object src/CMakeFiles/kcov.dir/writers/json-writer.cc.o
  [ 66%] Building CXX object src/CMakeFiles/kcov.dir/writers/coveralls-writer.cc.o
  [ 67%] Building CXX object src/CMakeFiles/kcov.dir/writers/html-writer.cc.o
  [ 69%] Building CXX object src/CMakeFiles/kcov.dir/writers/sonarqube-xml-writer.cc.o
  [ 70%] Building CXX object src/CMakeFiles/kcov.dir/writers/writer-base.cc.o
  [ 72%] Building CXX object src/CMakeFiles/kcov.dir/engines/clang-coverage-engine.cc.o
  [ 74%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace.cc.o
  [ 75%] Building CXX object src/CMakeFiles/kcov.dir/engines/ptrace_freebsd.cc.o
  [ 77%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf.cc.o
  [ 79%] Building CXX object src/CMakeFiles/kcov.dir/parsers/elf-parser.cc.o
  [ 80%] Building CXX object src/CMakeFiles/kcov.dir/parsers/dwarf.cc.o
  [ 82%] Building CXX object src/CMakeFiles/kcov.dir/solib-handler.cc.o
  [ 83%] Building C object src/CMakeFiles/kcov.dir/solib-parser/phdr_data.c.o
  [ 85%] Building CXX object src/CMakeFiles/kcov.dir/system-mode/file-data.cc.o
  [ 87%] Building CXX object src/CMakeFiles/kcov.dir/library.cc.o
  [ 88%] Building CXX object src/CMakeFiles/kcov.dir/bash-redirector-library.cc.o
  [ 90%] Building CXX object src/CMakeFiles/kcov.dir/bash-cloexec-library.cc.o
  [ 91%] Building CXX object src/CMakeFiles/kcov.dir/python-helper.cc.o
  [ 93%] Building CXX object src/CMakeFiles/kcov.dir/bash-helper.cc.o
  [ 95%] Building CXX object src/CMakeFiles/kcov.dir/kcov-system-library.cc.o
  [ 96%] Building CXX object src/CMakeFiles/kcov.dir/html-data-files.cc.o
  [ 98%] Building C object src/CMakeFiles/kcov.dir/version.c.o
  [100%] Linking CXX executable kcov
  [100%] Built target kcov
  [  4%] Built target kcov_sowrapper
  [  8%] Built target bash_execve_redirector
  [ 11%] Built target bash_tracefd_cloexec
  [ 17%] Built target kcov_system_lib
  [100%] Built target kcov
  Install the project...
  -- Install configuration: "Release"
  -- Installing: /usr/local/share/doc/kcov/ChangeLog
  -- Installing: /usr/local/share/doc/kcov/COPYING
  -- Installing: /usr/local/share/doc/kcov/COPYING.externals
  -- Installing: /usr/local/bin/kcov
  -- Set non-toolchain portion of runtime path of "/usr/local/bin/kcov" to ""
  -- Installing: /usr/local/share/man/man1/kcov.1

Test

  -- The C compiler identification is Clang 16.0.6
  -- The CXX compiler identification is Clang 16.0.6
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Target architectures: x86_64
  -- The ASM compiler identification is Clang with GNU-like command-line
  -- Found assembler: /usr/bin/cc
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - found
  -- Found Threads: TRUE  
  -- Found ZLIB: /usr/lib/libz.so (found version "1.3")  
  -- Found CURL: /usr/local/lib/libcurl.so (found version "8.7.1")  
  -- Found Python3: /usr/local/bin/python3 (found suitable version "3.9.18", minimum required is "3.8") found components: Interpreter 
  -- Found M: /usr/lib/libm.so
  -- Configuring done (0.9s)
  -- Generating done (0.0s)
  -- Build files have been written to: /home/runner/work/kcov/kcov/build-tests
  [  1%] Generating multi-fork-generated.c
  [  1%] Built target multi-fork-generated
  [  3%] Building C object CMakeFiles/shared_library.dir/shared-library/solib.c.o
  [  5%] Linking C shared library libshared_library.so
  [  5%] Built target shared_library
  [  7%] Building CXX object CMakeFiles/main-tests.dir/main.cc.o
  [  8%] Building C object CMakeFiles/main-tests.dir/subdir/file.c.o
  [ 10%] Building C object CMakeFiles/main-tests.dir/subdir2/file2.c.o
  [ 12%] Linking CXX executable main-tests
  [ 12%] Built target main-tests
  [ 14%] Building C object CMakeFiles/fork.dir/fork/fork.c.o
  [ 16%] Linking C executable fork
  [ 16%] Built target fork
  [ 17%] Building C object CMakeFiles/fork_no_wait.dir/fork/fork-no-wait.c.o
  [ 19%] Linking C executable fork_no_wait
  [ 19%] Built target fork_no_wait
  [ 21%] Building C object CMakeFiles/vfork.dir/fork/vfork.c.o
  [ 23%] Linking C executable vfork
  [ 23%] Built target vfork
  [ 25%] Building C object CMakeFiles/signals.dir/signals/test-signals.c.o
  [ 26%] Linking C executable signals
  [ 26%] Built target signals
  [ 28%] Building C object CMakeFiles/multi_fork.dir/multi-fork/test-multi-fork.c.o
  [ 30%] Linking C executable multi_fork
  [ 32%] Built target multi_fork
  [ 33%] Building C object CMakeFiles/shared_library_test.dir/shared-library/main.c.o
  [ 35%] Linking C executable shared_library_test
  [ 35%] Built target shared_library_test
  [ 37%] Building C object CMakeFiles/argv_dependent.dir/argv-dependent.c.o
  [ 39%] Linking C executable argv_dependent
  [ 39%] Built target argv_dependent
  [ 41%] Building C object CMakeFiles/test_popen.dir/popen/test-popen.c.o
  [ 42%] Linking C executable test_popen
  [ 42%] Built target test_popen
  [ 44%] Building CXX object CMakeFiles/global-constructors.dir/global-constructors/test-global-ctors.cc.o
  [ 46%] Linking CXX executable global-constructors
  [ 46%] Built target global-constructors
  [ 48%] Building CXX object CMakeFiles/test_daemon.dir/daemon/test-daemon.cc.o
  [ 50%] Linking CXX executable test_daemon
  [ 50%] Built target test_daemon
  [ 51%] Building C object CMakeFiles/multi_1.dir/merge-tests/file.c.o
  [ 53%] Building C object CMakeFiles/multi_1.dir/merge-tests/main_1.c.o
  [ 55%] Linking C executable multi_1
  [ 55%] Built target multi_1
  [ 57%] Building C object CMakeFiles/multi_2.dir/merge-tests/file.c.o
  [ 58%] Building C object CMakeFiles/multi_2.dir/merge-tests/main_2.c.o
  [ 60%] Linking C executable multi_2
  [ 60%] Built target multi_2
  [ 62%] Building CXX object CMakeFiles/setpgid-kill.dir/setpgid-kill/setpgid-kill-main.cc.o
  [ 64%] Building CXX object CMakeFiles/setpgid-kill.dir/home/runner/work/kcov/kcov/src/utils.cc.o
  [ 66%] Linking CXX executable setpgid-kill
  [ 66%] Built target setpgid-kill
  [ 67%] Building CXX object CMakeFiles/issue31.dir/daemon/test-issue31.cc.o
  [ 69%] Linking CXX executable issue31
  [ 69%] Built target issue31
  [ 71%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen.cc.o
  [ 73%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen-main.cc.o
  [ 75%] Linking CXX executable dlopen
  [ 75%] Built target dlopen
  [ 76%] Building C object CMakeFiles/s.dir/short-file.c.o
  [ 78%] Linking C executable s
  [ 78%] Built target s
  [ 80%] Building C object CMakeFiles/fork+exec.dir/fork/fork+exec.c.o
  [ 82%] Linking C executable fork+exec
  [ 82%] Built target fork+exec
  [ 83%] Building C object CMakeFiles/thread-test.dir/threads/thread-main.c.o
  [ 85%] Linking C executable thread-test
  [ 85%] Built target thread-test
  [ 87%] Building C object CMakeFiles/sanitizer-coverage.dir/sanitizer-coverage.c.o
  cc: warning: argument '-fsanitize-coverage=[func|bb|edge]' is deprecated, use '-fsanitize-coverage=[func|bb|edge],[trace-pc-guard|trace-pc],[control-flow]' instead [-Wdeprecated]
  [ 89%] Linking C executable sanitizer-coverage
  cc: warning: argument '-fsanitize-coverage=[func|bb|edge]' is deprecated, use '-fsanitize-coverage=[func|bb|edge],[trace-pc-guard|trace-pc],[control-flow]' instead [-Wdeprecated]
  [ 89%] Built target sanitizer-coverage
  [ 91%] Building C object CMakeFiles/pie.dir/pie.c.o
  [ 92%] Linking C executable pie
  [ 92%] Built target pie
  [ 94%] Building C object CMakeFiles/pie-test.dir/argv-dependent.c.o
  [ 96%] Linking C executable pie-test
  [ 96%] Built target pie-test
  [ 98%] Building CXX object CMakeFiles/recursive-ptrace.dir/recursive-ptrace/main.cc.o
  [100%] Linking CXX executable recursive-ptrace
  [100%] Built target recursive-ptrace
  [100%] Built target illegal-insn
  [100%] Built target fork-32
  [100%] Built target tests-stripped
  Hello, kcov!
  {
    "files": [
      {"file": "/home/runner/work/kcov/kcov/.github/workflows/test-executable.sh", "percent_covered": "100.00", "covered_lines": "2", "total_lines": "2"}
    ],
    "percent_covered": "100.00",
    "covered_lines": 2,
    "total_lines": 2,
    "percent_low": 25,
    "percent_high": 75,
    "command": "test-executable.sh",
    "date": "2024-04-15 09:15:57"
  }

MacOs

Test

- The C compiler identification is AppleClang 14.0.0.14000029
-- The CXX compiler identification is AppleClang 14.0.0.14000029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode_14.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode_14.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Target architectures: x86_64
-- The ASM compiler identification is AppleClang
-- Found assembler: /Applications/Xcode_14.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found ZLIB: /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/lib/libz.tbd (found version "1.2.11")
-- Found CURL: /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/lib/libcurl.tbd (found version "7.85.0")
-- Found Python3: /usr/local/Frameworks/Python.framework/Versions/3.12/bin/python3.12 (found suitable version "3.12.2", minimum required is "3.8") found components: Interpreter
-- Found DL: /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/lib/libdl.tbd
-- Found M: /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/lib/libm.tbd
-- Configuring done (2.9s)
-- Generating done (0.2s)
-- Build files have been written to: /Users/runner/work/kcov/kcov/build-tests
[  1%] Generating multi-fork-generated.c
[  1%] Built target multi-fork-generated
[  3%] Building C object CMakeFiles/shared_library.dir/shared-library/solib.c.o
[  5%] Linking C shared library libshared_library.dylib
[  5%] Built target shared_library
[  7%] Building CXX object CMakeFiles/main-tests.dir/main.cc.o
[  9%] Building C object CMakeFiles/main-tests.dir/subdir/file.c.o
[ 11%] Building C object CMakeFiles/main-tests.dir/subdir2/file2.c.o
[ 13%] Linking CXX executable main-tests
[ 13%] Built target main-tests
[ 15%] Building C object CMakeFiles/fork.dir/fork/fork.c.o
[ 17%] Linking C executable fork
[ 17%] Built target fork
[ 19%] Building C object CMakeFiles/fork_no_wait.dir/fork/fork-no-wait.c.o
[ 21%] Linking C executable fork_no_wait
[ 21%] Built target fork_no_wait
[ 23%] Building C object CMakeFiles/vfork.dir/fork/vfork.c.o
/Users/runner/work/kcov/kcov/tests/fork/vfork.c:12:10: warning: 'vfork' is deprecated: Use posix_spawn or fork [-Wdeprecated-declarations]
        child = vfork();
                ^
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/include/unistd.h:604:1: note: 'vfork' has been explicitly marked deprecated here
__deprecated_msg("Use posix_spawn or fork")
^
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'
[ 25%] Linking C executable vfork
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
1 warning generated.
[ 25%] Built target vfork
[ 26%] Building C object CMakeFiles/signals.dir/signals/test-signals.c.o
[ 28%] Linking C executable signals
[ 28%] Built target signals
[ 30%] Building C object CMakeFiles/multi_fork.dir/multi-fork/test-multi-fork.c.o
[ 32%] Linking C executable multi_fork
[ 34%] Built target multi_fork
[ 36%] Building C object CMakeFiles/shared_library_test.dir/shared-library/main.c.o
[ 38%] Linking C executable shared_library_test
[ 38%] Built target shared_library_test
[ 40%] Building C object CMakeFiles/argv_dependent.dir/argv-dependent.c.o
[ 42%] Linking C executable argv_dependent
[ 42%] Built target argv_dependent
[ 44%] Building C object CMakeFiles/test_popen.dir/popen/test-popen.c.o
[ 46%] Linking C executable test_popen
[ 46%] Built target test_popen
[ 48%] Building CXX object CMakeFiles/global-constructors.dir/global-constructors/test-global-ctors.cc.o
[ 50%] Linking CXX executable global-constructors
[ 50%] Built target global-constructors
[ 51%] Building CXX object CMakeFiles/test_daemon.dir/daemon/test-daemon.cc.o
[ 53%] Linking CXX executable test_daemon
[ 53%] Built target test_daemon
[ 55%] Building C object CMakeFiles/multi_1.dir/merge-tests/file.c.o
[ 57%] Building C object CMakeFiles/multi_1.dir/merge-tests/main_1.c.o
[ 59%] Linking C executable multi_1
[ 59%] Built target multi_1
[ 61%] Building C object CMakeFiles/multi_2.dir/merge-tests/file.c.o
[ 63%] Building C object CMakeFiles/multi_2.dir/merge-tests/main_2.c.o
[ 65%] Linking C executable multi_2
[ 65%] Built target multi_2
[ 67%] Building CXX object CMakeFiles/setpgid-kill.dir/setpgid-kill/setpgid-kill-main.cc.o
[ 69%] Building CXX object CMakeFiles/setpgid-kill.dir/Users/runner/work/kcov/kcov/src/utils.cc.o
[ 71%] Linking CXX executable setpgid-kill
[ 71%] Built target setpgid-kill
[ 73%] Building CXX object CMakeFiles/issue31.dir/daemon/test-issue31.cc.o
[ 75%] Linking CXX executable issue31
[ 75%] Built target issue31
[ 76%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen.cc.o
[ 78%] Building CXX object CMakeFiles/dlopen.dir/dlopen/dlopen-main.cc.o
[ 80%] Linking CXX executable dlopen
[ 80%] Built target dlopen
[ 82%] Building C object CMakeFiles/s.dir/short-file.c.o
[ 84%] Linking C executable s
[ 84%] Built target s
[ 86%] Building C object CMakeFiles/fork+exec.dir/fork/fork+exec.c.o
[ 88%] Linking C executable fork+exec
[ 88%] Built target fork+exec
[ 90%] Building C object CMakeFiles/thread-test.dir/threads/thread-main.c.o
[ 92%] Linking C executable thread-test
[ 92%] Built target thread-test
[ 94%] Building C object CMakeFiles/pie.dir/pie.c.o
[ 96%] Linking C executable pie
[ 96%] Built target pie
[ 98%] Building C object CMakeFiles/pie-test.dir/argv-dependent.c.o
[100%] Linking C executable pie-test
[100%] Built target pie-test
[100%] Built target tests-stripped
Hello, kcov!
{
  "files": [
    {"file": "/Users/runner/work/kcov/kcov/.github/workflows/test-executable.sh", "percent_covered": "100.00", "covered_lines": "2", "total_lines": "2"}
  ],
  "percent_covered": "100.00",
  "covered_lines": 2,
  "total_lines": 2,
  "percent_low": 25,
  "percent_high": 75,
  "command": "test-executable.sh",
  "date": "2024-04-15 09:14:18"
}
perillo commented 4 months ago

From the build logs it seems there is a portability issue, but I'm not sure if it is really a problem.

On my system, when building kcov I got several deprecation warning from curl:

[ 51%] Building CXX object src/CMakeFiles/kcov.dir/writers/coveralls-writer.cc.o
/home/manlio/src/contrib/kcov/github/perillo/kcov/src/writers/coveralls-writer.cc: In member function ‘bool CurlConnectionHandler::talk(const std::string&)’:
/home/manlio/src/contrib/kcov/github/perillo/kcov/src/writers/coveralls-writer.cc:65:33: warning: ‘CURLFORM_COPYNAME’ is deprecated: since 7.56.0. Use curl_mime_name() [-Wdeprecated-declarations]
   65 |                                 CURLFORM_COPYNAME, "json_file",
      |                                 ^~~~~~~~~~~~~~~~~
In file included from /home/manlio/src/contrib/kcov/github/perillo/kcov/src/writers/coveralls-writer.cc:16:
/usr/include/curl/curl.h:2506:3: note: declared here
 2506 |   CURLFORM_COPYNAME        CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
      |   ^~~~~~~~~~~~~~~~~
/home/manlio/src/contrib/kcov/github/perillo/kcov/src/writers/coveralls-writer.cc:66:33: warning: ‘CURLFORM_FILE’ is deprecated: since 7.56.0. Use curl_mime_filedata() [-Wdeprecated-declarations]
   66 |                                 CURLFORM_FILE, fileName.c_str(),
      |                                 ^~~~~~~~~~~~~
/usr/include/curl/curl.h:2515:3: note: declared here
 2515 |   CURLFORM_FILE            CURL_DEPRECATED(7.56.0, "Use curl_mime_filedata()"),
      |   ^~~~~~~~~~~~~
/home/manlio/src/contrib/kcov/github/perillo/kcov/src/writers/coveralls-writer.cc:63:29: warning: ‘CURLFORMcode curl_formadd(curl_httppost**, curl_httppost**, ...)’ is deprecated: since 7.56.0. Use curl_mime_init() [-Wdeprecated-declarations]
   63 |                 curl_formadd(&formpost,
      |                 ~~~~~~~~~~~~^~~~~~~~~~~
   64 |                                 &lastptr,
      |                                 ~~~~~~~~~
   65 |                                 CURLFORM_COPYNAME, "json_file",
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   66 |                                 CURLFORM_FILE, fileName.c_str(),
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   67 |                                 CURLFORM_END);
      |                                 ~~~~~~~~~~~~~
/usr/include/curl/curl.h:2581:1: note: declared here
 2581 | curl_formadd(struct curl_httppost **httppost,
      | ^~~~~~~~~~~~
/home/manlio/src/contrib/kcov/github/perillo/kcov/src/writers/coveralls-writer.cc:69:42: warning: ‘CURLOPT_HTTPPOST’ is deprecated: since 7.56.0. Use CURLOPT_MIMEPOST [-Wdeprecated-declarations]
   69 |                 curl_easy_setopt(m_curl, CURLOPT_HTTPPOST, formpost);
      |                                          ^~~~~~~~~~~~~~~~
/usr/include/curl/curl.h:1191:3: note: declared here
 1191 |   CURLOPTDEPRECATED(CURLOPT_HTTPPOST, CURLOPTTYPE_OBJECTPOINT, 24,
      |   ^~~~~~~~~~~~~~~~~
/home/manlio/src/contrib/kcov/github/perillo/kcov/src/writers/coveralls-writer.cc:73:30: warning: ‘void curl_formfree(curl_httppost*)’ is deprecated: since 7.56.0. Use curl_mime_free() [-Wdeprecated-declarations]
   73 |                 curl_formfree(formpost);
      |                 ~~~~~~~~~~~~~^~~~~~~~~~
/usr/include/curl/curl.h:2617:1: note: declared here
 2617 | curl_formfree(struct curl_httppost *form);
      | ^~~~~~~~~~~~~
[ 53%] Building CXX object src/CMakeFiles/kcov.dir/writers/html-writer.cc.o
SimonKagstrom commented 4 months ago

The libcurl error is #409 .

As for the other architectures on Linux, I suppose I should do some work to get at least ARM and AARCH64 usable. RISC-V and loongarch was added a while ago, so those would be nice to have tests for in addition.

However, it's a bit cumbersome to develop for when all you have are emulators. I haven't bothered to investigate the errors, so it's pretty much just a compile test now.

ARM and AARCH64 would be possible to do via the raspberry pi though, so those should be easier to get in shape.

SimonKagstrom commented 3 months ago

I've looked a bit at running on non-x86 archs for Linux (in a separate branch), but I now think the issue is with how uraimo/run-on-arch-action@v2 sets up the architecture emulation. I don't think it's possible to run ptrace there, so it's unlikely to be possible to run kcov for compiled binaries with that.

I guess it might be possible to setup a self-hosted runner for at least Aarch64, and maybe ARM (thinking about my Raspberry Pi...), but that might be some additional work.

SimonKagstrom commented 3 months ago

With debug printouts, I see this:

PT forked 14094
Can't set me as ptraced: Function not implemented
perillo commented 3 months ago

When trying to restore tests for other architectures, I suspected that the emulation environment/chroot may alter the result. I was planning to add an additional target "amd64 with qemu", to test if there are really changes. Do you think it make sense?

SimonKagstrom commented 3 months ago

Well, I suspect they are using the qemu user space emulation, which explains why the syscalls don't work. For amd64, it might be ok anyway, since it's presumably run on a amd64 to start with.

I ran the test suite on my raspberry pi, and can confirm that at least aarch64 runs fine.

I'm not sure if there are other runners which emulate an entire machine, which would enable these tests to run. I guess the freebsd runner basically does that.

perillo commented 3 months ago

What about running qemu-system directly?

Some time ago I tried to create a register of qemu runner instances, so that they can be downloaded from the net. I think it is strange that no one tried to do something similar.

SimonKagstrom commented 3 months ago

Yeah, sounds like a good idea. Something like this, https://github.com/docker/setup-qemu-action, might be possible to use I guess?

However, if it's too much work, it might also be OK to just keep the current limited testing. I added Riscv64 in the branch I'm working on, so it at least gets some build testing.

In practice, I think x86, aarch64 and maybe arm will cover almost all practical uses of kcov, so testing them should be the first priority.