Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve ci #436

Merged
merged 8 commits into from
Apr 15, 2024
Merged

Improve ci #436

merged 8 commits into from
Apr 15, 2024

Conversation

perillo
Copy link
Contributor

@perillo perillo commented Apr 14, 2024

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

  • ci: change uraimo/run-on-arch version to v2

    Instead of using the fixed version v2.6.0, use v2 so that updates are
    automatic.

    This may introduce bugs but it will also contain improvements.

  • ci: set strategy.fail-fast to false

    Errors from other architectures are important.

  • ci: use python3, instead of python in ci-run-tests.sh

    Using python3 will avoid unspecified behavior when using Python on
    different systems, causing an error when trying to run the tests.

    See https://peps.python.org/pep-0394/

  • tests: skip tests using python2, when not available

    This happens on MacOs.

    See https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes

  • ci: make {{os}}-build.sh files more readable

    Separate each code block, so that each action is easy to read.

  • ci: show coverage on test_executable.sh on MacOs

    It is done on Linux and FreeBSD; do the same with MacOs.

  • ci: remove -DCMAKE_INSTALL_PREFIX when building tests

    The tests binaries are never installed.

  • ci: enable tests for MacOS.

    It works correctly.

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.

Instead of using the fixed version v2.6.0, use v2 so that updates are
automatic.

This may introduce bugs but it will also contain improvements.
Errors from other architectures are important.
Using python3 will avoid unspecified behavior when using Python on
different systems, causing an error when trying to run the tests.

See https://peps.python.org/pep-0394/
Separate each code block, so that each action is easy to read.
It is done on Linux and FreeBSD; do the same with MacOs
The tests binaries are never installed.
It works correctly.
@SimonKagstrom
Copy link
Owner

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
Copy link
Contributor Author

perillo commented Apr 15, 2024

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

@perillo
Copy link
Contributor Author

perillo commented Apr 15, 2024

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: actions/runner-images#7987

@SimonKagstrom SimonKagstrom merged commit cbc903b into SimonKagstrom:master Apr 15, 2024
8 checks passed
@SimonKagstrom
Copy link
Owner

Great, thanks!

@SimonKagstrom
Copy link
Owner

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
Copy link
Contributor Author

perillo commented Apr 15, 2024

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
Copy link
Contributor Author

perillo commented Apr 15, 2024

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
Copy link
Contributor Author

perillo commented Apr 15, 2024

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
Copy link
Owner

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
Copy link
Owner

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
Copy link
Owner

With debug printouts, I see this:

PT forked 14094
Can't set me as ptraced: Function not implemented

@perillo
Copy link
Contributor Author

perillo commented May 5, 2024

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
Copy link
Owner

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
Copy link
Contributor Author

perillo commented May 5, 2024

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
Copy link
Owner

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants