Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: libcheck/check
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.15.0
Choose a base ref
...
head repository: libcheck/check
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Jun 21, 2020

  1. Copy the full SHA
    910c6a0 View commit details
  2. Copy the full SHA
    ac8ceb7 View commit details

Commits on Jun 22, 2020

  1. Merge pull request #267 from libcheck/news-1

    Update development header in NEWS
    brarcher authored Jun 22, 2020
    Copy the full SHA
    f32aaf1 View commit details
  2. Copy the full SHA
    b0fe3c1 View commit details
  3. Merge pull request #268 from libcheck/hacking-updates

    Update details on automatic building and testing
    brarcher authored Jun 22, 2020
    Copy the full SHA
    535d2c3 View commit details
  4. Copy the full SHA
    0212856 View commit details
  5. Copy the full SHA
    7ac1fcb View commit details
  6. Copy the full SHA
    2325bcb View commit details

Commits on Jun 23, 2020

  1. Merge pull request #273 from jamesjer/info

    Improve the info directory entry
    brarcher authored Jun 23, 2020
    Copy the full SHA
    184ea17 View commit details
  2. Copy the full SHA
    2c2071a View commit details
  3. Merge pull request #271 from jamesjer/formatspec

    Fix format specifiers that do not match the argument types
    brarcher authored Jun 23, 2020
    Copy the full SHA
    a2c8ab9 View commit details

Commits on Jun 27, 2020

  1. Create linux builds for gcc and clang

    The only compiler being used to this point was the
    default compiler. This commit creates tests for
    building with gcc and clang explicitly.
    brarcher committed Jun 27, 2020
    Copy the full SHA
    0011061 View commit details
  2. Merge pull request #277 from libcheck/actions-gcc-clang

    Create linux builds for gcc and clang
    brarcher authored Jun 27, 2020
    Copy the full SHA
    ff56ffa View commit details

Commits on Jun 28, 2020

  1. Add mingw32 cross compile build

    This build demonstrates building for MSYS2
    brarcher authored Jun 28, 2020
    Copy the full SHA
    109adc0 View commit details
  2. Merge pull request #278 from libcheck/mingw32

    Add mingw32 cross compile build
    brarcher authored Jun 28, 2020
    Copy the full SHA
    f1626d5 View commit details
  3. Copy the full SHA
    c992bcb View commit details
  4. Merge pull request #272 from jamesjer/assertmsg

    Make CK_ATTRIBUTE_FORMAT refer to the right arguments.
    brarcher authored Jun 28, 2020
    Copy the full SHA
    a88bcb0 View commit details
  5. Copy the full SHA
    9409a47 View commit details
  6. Merge pull request #279 from libcheck/actions-osx-gcc-clang

    Add gcc/clang builds for osx
    brarcher authored Jun 28, 2020
    Copy the full SHA
    cbf4dcd View commit details
  7. Replace gnu_printf with printf in format __attribute__

    The gnu_printf format attribute was being picked up by clang as
    well as gcc. Only gcc defines gnu_printf. Switching to only
    'printf' to support clang as well.
    brarcher committed Jun 28, 2020
    Copy the full SHA
    2493adc View commit details
  8. Merge pull request #282 from libcheck/printf-attribute

    Replace gnu_printf with printf in format __attribute__
    brarcher authored Jun 28, 2020
    Copy the full SHA
    4abf87c View commit details
  9. Fix strings passed to Check's asserts in tests

    There were cases where Check's unit tests were using Check
    asserts by passing in a message that was either not a string
    literal or passed no format arguments. This was pointed out
    by the format-security warning. This commit fixes these cases.
    brarcher committed Jun 28, 2020
    Copy the full SHA
    17fdbf2 View commit details
  10. Merge pull request #283 from libcheck/format-security-in-tests

    Fix strings passed to Check's asserts in tests
    brarcher authored Jun 28, 2020
    Copy the full SHA
    ab0c09b View commit details
  11. Resolve warning in ptr macros with pointer to integer cast

    A warning from pointer-to-int-cast is being thrown due to the
    _ck_assert_ptr and _ck_assert_ptr_null macros casting a pointer
    to an integer value (for printing), but the pointer and integer
    sizes are different.
    
    This commit first casts the pointer to a uintptr_t value before
    casting it to an unsigned long.
    brarcher committed Jun 28, 2020
    Copy the full SHA
    8c6788e View commit details

Commits on Jun 29, 2020

  1. Merge pull request #284 from libcheck/ptr_macros_warning

    Resolve warning in ptr macros with pointer to integer cast
    brarcher authored Jun 29, 2020
    Copy the full SHA
    aa2c55c View commit details
  2. Add msys2 windows build

    brarcher authored Jun 29, 2020
    Copy the full SHA
    b93a430 View commit details
  3. Copy the full SHA
    b7ce3ac View commit details
  4. Copy the full SHA
    c4c8cf6 View commit details
  5. Copy the full SHA
    bcd0ee2 View commit details
  6. Copy the full SHA
    604a5a5 View commit details
  7. Copy the full SHA
    f8fd003 View commit details
  8. Remove MSYS2 CMake build

    The default makefiles created by CMake in this
    case are visual studio files. Not sure what the output
    should be or what makes sense. Skipping this for
    now until there is clarity on what makefiles should
    be used.
    brarcher authored Jun 29, 2020
    Copy the full SHA
    c7393f0 View commit details
  9. Create MSYS makefiles for MSYS2 cmake build

    The docs here say that CMake can create
    MSYS makefiles. Give that a try.
    
    https://cmake.org/cmake/help/v3.5/manual/cmake-generators.7.html#manual:cmake-generators(7)
    brarcher authored Jun 29, 2020
    Copy the full SHA
    6a2cdd5 View commit details
  10. Copy the full SHA
    251c2bf View commit details
  11. Cleanup CMake MSYS2 build

    ctest did run the tests, however the tests in scripts
    mostly did not pass:
    
     - test_output.sh
     - test_log_output.sh
     - test_tap_output.sh
     - test_check_nofork_teardown.sh
    
    Those will need to be investigated at some point. In
    the meantime, the check_check test run successfully.
    brarcher authored Jun 29, 2020
    Copy the full SHA
    4bc5d53 View commit details
  12. Merge pull request #285 from libcheck/actions-msys2

    Add msys2 windows build
    brarcher authored Jun 29, 2020
    Copy the full SHA
    e928387 View commit details

Commits on Jul 19, 2020

  1. Update NEWS

    brarcher authored Jul 19, 2020
    Copy the full SHA
    17f84ea View commit details
  2. Merge pull request #287 from libcheck/news-1

    Update NEWS
    brarcher authored Jul 19, 2020
    Copy the full SHA
    db3ef47 View commit details
  3. Update for release

    brarcher committed Jul 19, 2020
    Copy the full SHA
    ebc5e7c View commit details

Commits on Jul 22, 2020

  1. Merge pull request #288 from libcheck/pre-0.15.1

    Update for release
    brarcher authored Jul 22, 2020
    Copy the full SHA
    9843d48 View commit details
  2. Copy the full SHA
    f3670d5 View commit details

Commits on Jul 24, 2020

  1. Merge pull request #292 from libcheck/news

    Restore development header in NEWS
    brarcher authored Jul 24, 2020
    Copy the full SHA
    134bc1e View commit details

Commits on Aug 2, 2020

  1. Add extra NULL argument at the end of fail* APIs

    The fail, fail_unless, and fail_if APIS were expected to contain
    a message explaining the failure. This was never enforced, and
    it was possible to write unit tests without providing messages.
    
    In github.com//pull/249 a change was
    introduced to add printf argument checking to the Check assert
    APIS, including the fail APIs. There were a few fixes for this
    in github.com/libcheck/check/releases/tag/0.15.1. Those changes
    proved problematic for the uses of the fail* APIs without arguments,
    as those uses were now flagged as missing the necessary arguments.
    
    A fix proposed by heftig in github.com//issues/293
    is to add a new NULL to the end of every fail* call in the macro
    itself. For users of these APIs who do pass a message there will
    be a new warning about too many arguments. As the fail APIs are
    deprecated, this new warning is a reasonable trade-off, and can
    be avoided by switching fail* calls to ck_assert* calls.
    brarcher committed Aug 2, 2020
    Copy the full SHA
    82540c5 View commit details

Commits on Aug 3, 2020

  1. Merge pull request #298 from libcheck/fail-extra-null

    Add extra NULL argument at the end of fail* APIs
    brarcher authored Aug 3, 2020
    Copy the full SHA
    4ed1ae1 View commit details

Commits on Aug 8, 2020

  1. Update NEWS with issue #298

    brarcher committed Aug 8, 2020
    Copy the full SHA
    4b24db8 View commit details
  2. Update for release

    brarcher committed Aug 8, 2020
    Copy the full SHA
    9296c81 View commit details
  3. Skip installing texinfo for osx tests

    Recently the brew step to install texinfo stopped
    working, as it appears the tool is now available
    on the VMs.
    brarcher authored Aug 8, 2020
    Copy the full SHA
    7b61ef6 View commit details
  4. Copy the full SHA
    6f6918b View commit details
  5. Copy the full SHA
    8059ebc View commit details

Commits on Aug 9, 2020

  1. Copy the full SHA
    69425fe View commit details
44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
name: Bug Report
about: There are no bugs here. But just in case...

---
# Bug Report
Thank you for filing a bug report! The more information you
can give us about your development environment, toolchain,
actions leading up to the bug, or any other contextual
information, the faster we'll be able to verify and diagnose
what went wrong.

At a minimun, please be sure to include the library version
you were working with. If you were trying to compile it from
source, please be sure to specify the compiler, compiler
version, operating system, operating system version, the
build system you used to generate the project, and whether
you were building from a source distribution or from version
control.

If you have no idea what any or all of the above terms mean,
you are always welcome to submit a bug report anyways, but
please remember the Fundamental Theorem of Bug Report
Submissions:

> The amount of information in a bug report is directly
proportional to its resolution speed.

## Checklist
Please do your best to include the following items with your
bug report.

### The Bare Minimum
Remember that this is the **minimum** required information.
More is always more helpful.

- [ ] [libcheck](https://github.com/libcheck/check) version
- [ ] Operating system
- [ ] Compiler

## Additional Information
Please be sure to include any additional information you
think may be helpful in helping us diagnose, understand, or
replicate the problem.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
40 changes: 39 additions & 1 deletion .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -41,6 +41,44 @@ jobs:
- name: make install
run: sudo make install

build_linux_autotools_gcc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: create configure
run: autoreconf -i
- name: configure gcc
run: ./configure CC=gcc --enable-snprintf-replacement --enable-timer-replacement --disable-build-docs --disable-timeout-tests
- name: make
run: make
- name: make check
run: make check

build_linux_autotools_clang:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: create configure
run: autoreconf -i
- name: configure clang
run: ./configure CC=clang --enable-snprintf-replacement --enable-timer-replacement --disable-build-docs --disable-timeout-tests
- name: make
run: make

build_linux_autotools_crosscompile_mingw32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install doc packages
run: sudo apt-get install -y gcc-mingw-w64
- name: create configure
run: autoreconf -i
- name: configure clang
run: ./configure --disable-build-docs --host=x86_64-w64-mingw32 --disable-static --disable-subunit
- name: make
run: make


build_linux_autotools_prereleasecheck:
runs-on: ubuntu-latest
steps:
@@ -120,7 +158,7 @@ jobs:
- name: create configure
run: autoreconf -i
- name: configure
run: scan-build ./configure --enable-snprintf-replacement --enable-timer-replacement --disable-build-docs
run: scan-build ./configure --enable-timer-replacement --disable-build-docs
- name: make
run: scan-build -o clang make
- name: check for issues
62 changes: 45 additions & 17 deletions .github/workflows/osx.yml
Original file line number Diff line number Diff line change
@@ -11,10 +11,13 @@ jobs:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
# Brew may not have permission to install its packages
- name: change brew install folder permissions
run: sudo chmod -R a+rwx /usr/local/share/ || mkdir -p /usr/local/share/ -m a+rwx
- name: install maxtex
run: brew cask install mactex
run: brew install --cask mactex
- name: install doc programs
run: brew install texi2html texinfo doxygen
run: brew install texi2html doxygen
- name: install automake
run: brew install automake
- name: install pkg-config
@@ -34,10 +37,13 @@ jobs:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
# Brew may not have permission to install its packages
- name: change brew install folder permissions
run: sudo chmod -R a+rwx /usr/local/share/ || mkdir -p /usr/local/share/ -m a+rwx
- name: install maxtex
run: brew cask install mactex
run: brew install --cask mactex
- name: install doc programs
run: brew install texi2html texinfo doxygen
run: brew install texi2html doxygen
- name: install automake
run: brew install automake
- name: install pkg-config
@@ -53,35 +59,57 @@ jobs:
- name: make install
run: sudo make install

build_osx_autotools_docs:
build_osx_autotools_gcc:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: install maxtex
run: brew cask install mactex
- name: install doc programs
run: brew install texi2html texinfo doxygen
# Brew may not have permission to install its packages
- name: change brew install folder permissions
run: sudo chmod -R a+rwx /usr/local/share/ || mkdir -p /usr/local/share/ -m a+rwx
- name: install automake
run: brew install automake
- name: install pkg-config
run: brew install pkgconfig
- name: create configure
run: autoreconf -i
- name: configure gcc
run: ./configure CC=gcc --enable-snprintf-replacement --enable-timer-replacement --disable-build-docs --disable-timeout-tests
- name: make
run: make
- name: make check
run: make check

build_osx_autotools_clang:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
# Brew may not have permission to install its packages
- name: change brew install folder permissions
run: sudo chmod -R a+rwx /usr/local/share/ || mkdir -p /usr/local/share/ -m a+rwx
- name: install automake
run: brew install automake
- name: install pkg-config
run: brew install pkgconfig
- name: create configure
run: autoreconf -i
- name: configure
run: ./configure
- name: make docs
run: make doc/check_html
- name: make doxygen
run: make doc/doxygen
- name: configure clang
run: ./configure CC=clang --enable-snprintf-replacement --enable-timer-replacement --disable-build-docs --disable-timeout-tests
- name: make
run: make
- name: make check
run: make check

build_osx_autotools_example:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
# Brew may not have permission to install its packages
- name: change brew install folder permissions
run: sudo chmod -R a+rwx /usr/local/share/ || mkdir -p /usr/local/share/ -m a+rwx
- name: install maxtex
run: brew cask install mactex
run: brew install --cask mactex
- name: install doc programs
run: brew install texi2html texinfo doxygen
run: brew install texi2html doxygen
- name: install automake
run: brew install automake
- name: install pkg-config
30 changes: 30 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -12,6 +12,8 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: microsoft/setup-msbuild@v1.0.0
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
- name: echo MSBuild
run: msbuild -version
- name: mkdir build
@@ -68,8 +70,12 @@ jobs:
- uses: actions/checkout@v2
- name: add mingw to path
run: echo "::add-path::C:\msys64\mingw64\bin"
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
- name: add mingw to path
run: echo "::add-path::C:\msys64\usr\bin"
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
- name: autoreconf
run: bash -c "autoreconf -i"
- name: configure
@@ -78,3 +84,27 @@ jobs:
run: bash -c "make"
- name: test
run: bash -c "tests/check_check"

build_windows_msys2_autotools:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: autoreconf
run: C:\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "autoreconf -i"
- name: configure
run: C:\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "./configure"
- name: make
run: C:\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "make"
- name: test
run: C:\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "tests/check_check"

build_windows_msys2_cmake:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: cmake
run: C:\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "cmake -G 'MSYS Makefiles' ."
- name: make
run: C:\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "make"
- name: test
run: C:\msys64\msys2_shell.cmd -defterm -mingw64 -no-start -full-path -here -c "tests/check_check"
7 changes: 4 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
cmake_minimum_required(VERSION 3.13 FATAL_ERROR)

include(CheckCCompilerFlag)

@@ -439,8 +439,8 @@ if(NOT THIS_IS_SUBPROJECT)
set(prefix_save "${PREFIX}")
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
set(libdir "\${exec_prefix}/lib")
set(includedir "\${prefix}/include")
set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
set(VERSION "${PROJECT_VERSION}")

if (HAVE_SUBUNIT)
@@ -489,6 +489,7 @@ endif()

###############################################################################
# Subdirectories
add_subdirectory(doc)
add_subdirectory(lib)
add_subdirectory(src)
add_subdirectory(checkmk)
40 changes: 8 additions & 32 deletions HACKING
Original file line number Diff line number Diff line change
@@ -149,40 +149,16 @@ $ git push github gh-pages:gh-pages
Automatic building of pull requests
===============

The GitHub project is configured to build pull requests either when
asked or automatically. This is done using the GitHub Pull Request
Builder Plugin. Documentation here:
The GitHub project is configured to build requests automatically.
This is done using GitHub Actions and AppVeyor. GitHub Actions is
configured to build and test against Linux, macOS, and Windows, using
the configurations under:

https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin
.github/workflows

When a new pull request is opened in the project and the author of the pull request
isn't white-listed, builder will ask "Can one of the admins verify this patch?".

An admin can add one of the following comments to the pull request:
"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

If the build fails for other various reasons you can rebuild.

"retest this please" to start a new build

When a build is triggered a job on the Jenkins instance will start:

https://check.ci.cloudbees.com/job/github-merge-builder/

When complete, a comment will be added to the pull request, informing
of the result.

An admin can be added to the Jenkins instance by adding a username
to the "Admin list" setting under the "GitHub Pull Request Builder"
section here:

https://check.ci.cloudbees.com/configure

This works because there is a user in the libcheck organization,
"check-builder", which the Jenkins instance uses to install a
git hook and push comments to pull requests.
AppVeyor builds and tests Check for Windows, using the configuration
in appveyor.yml. These are started automatically on pull requests,
and the results are reported in the pull request when finished.


Using gcov
26 changes: 26 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
Fri Aug 7, 2020: Released Check 0.15.2
based on hash 4ed1ae13fdfd3033a83c06a6abd9276128944074

* Fix fail* APIs, regression from 0.15.1
Issue #298


Sun July 19, 2020: Released Check 0.15.1
based on hash db3ef470271e6e011f2cd1f5231a50375568bb46

* Fix warning in ptr macros with pointer to integer cast
Issue #284

* Fix various warnings in Check's unit tests
Issue #283

* Replace gnu_printf with printf in format __attribute__
Issue #282

* Fix warnings from Check's macros: "warning: too many arguments for format"
Issue #274

* Fix format specifiers that do not match the argument types
Issue #271


Sun June 21, 2020: Released Check 0.15.0
based on hash 18d83fb9bab41b7bfb6535ed44c131004d01d5ad

Loading