File cmocka.changes of Package cmocka
-------------------------------------------------------------------
Mon Dec 8 08:41:10 UTC 2025 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 2.0.0
o Added
* Test Filtering
- Environment variable support for test filtering:
- `CMOCKA_TEST_FILTER`: Filter tests to run by pattern
- `CMOCKA_SKIP_FILTER`: Filter tests to skip by pattern
- Improved `cmocka_set_test_filter()` and `cmocka_set_skip_filter()`
functions
* Output Formats
- **TAP 14 support**: Updated Test Anything Protocol output to
version 14 with YAML diagnostics
- YAML-formatted error messages with proper indentation
- `severity` field for distinguishing failures from errors
- Improved SKIP directive format
* Type-Safe Assertions and Mocking
- Type-safe assertion macros for integers:
- `assert_int_equal()` / `assert_int_not_equal()`
- `assert_uint_equal()` / `assert_uint_not_equal()`
- `assert_int_in_range()` / `assert_int_not_in_range()`
- `assert_uint_in_range()` / `assert_uint_not_in_range()`
- `assert_int_in_set()` / `assert_int_not_in_set()`
- `assert_uint_in_set()` / `assert_uint_not_in_set()`
- Type-safe mocking macros for different types:
- `will_return_int()`, `will_return_uint()`,
`will_return_float()`, `will_return_double()`,
`will_return_ptr()`
- `will_return_*_count()`, `will_return_*_always()`,
`will_return_*_maybe()` variants
- `will_set_parameter_int()`, `will_set_parameter_uint()`,
`will_set_parameter_float()`, `will_set_parameter_double()`,
`will_set_parameter_ptr()`
- `will_set_parameter_*_count()`,
`will_set_parameter_*_always()`,
`will_set_parameter_*_maybe()` variants
- `mock_int()`, `mock_uint()`, `mock_float()`, `mock_double()`,
`mock_ptr()`
- Type-safe expect macros:
- `expect_int_value()` / `expect_uint_value()`
- `expect_int_not_value()` / `expect_uint_not_value()`
- `expect_int_in_range()` / `expect_uint_in_range()`
- `expect_int_not_in_range()` / `expect_uint_not_in_range()`
- `expect_int_in_set()` / `expect_uint_in_set()`
- `expect_int_not_in_set()` / `expect_uint_not_in_set()`
- `expect_check_int()` / `expect_check_uint()`
* Float and Double Support
- Floating-point assertion macros:
- `assert_float_equal()` / `assert_float_not_equal()`
- `assert_double_equal()` / `assert_double_not_equal()` with
epsilon parameter
- `assert_float_in_range()` / `assert_float_not_in_range()`
- `assert_float_in_set()` / `assert_float_not_in_set()`
- Floating-point expect macros:
- `expect_float()` / `expect_not_float()`
- `expect_double()` / `expect_not_double()`
- `expect_float_in_range()` / `expect_float_not_in_range()`
- `expect_float_in_set()` / `expect_float_not_in_set()`
- `mock_double()` / `mock_parameter_double()` for mocking double
values
* Assertion Enhancements
- Pointer assertion macros with custom error messages:
- `assert_ptr_equal_msg()` / `assert_ptr_not_equal_msg()`
- `assert_null_msg()` / `assert_non_null_msg()`
- `assert_true()` and `assert_false()` now provide more verbose
error messages
- Memory comparison improvements with better error display
* Testing Features
- `has_mock()`: Check if a mock value is available before calling
`mock()`
- `stop()`: New feature to stop test execution while allowing
remaining tests to run
- `expect_check_data()`: New API for parameter validation with
custom data (replaces deprecated `expect_check()`)
- `expect_check_data_any()`: Variant for checking pointer/struct
parameters
- Errno mocking convenience macros: `will_set_errno()`,
`will_set_errno_always()`
* Output Customization
- Multiple simultaneous output formats support (can combine
STANDARD, SUBUNIT, TAP, XML)
- Output function override capability via `cmocka_set_callbacks()`
- `cmocka_print_error()`: Public API for printing errors using
configured output format
* Documentation and Examples
- Improved API documentation with better examples
- Added `expect_check_data()` examples
- Added errno mocking examples
- Added parameter setting examples
- Better mock object examples
* Build System and Compatibility
- CMake minimum required version bumped to 3.13
- CMake namespace support (`cmocka::cmocka`, `cmocka::static`)
- Meson build system support
- `extern "C"` wrapper for C++ compatibility
- Version header (`cmocka_version.h`)
o Changed
* API Improvements
- Changed internal value handling to use `CMockaValueData` union
for better type safety
- `_mock()` now returns `CMockaValueData` instead of raw values
- Improved error messages throughout the library
- Error messages now print to stdout instead of stderr
- Better display of memory comparison errors
- Enhanced string replacement implementation
* Code Quality
- Use `bool` instead of `int` for boolean values throughout
- Use `stdint.h` types (`intmax_t`, `uintmax_t`) instead of
custom types
- Reduced call stack consumption in printf functions
- Added compiler attributes to non-returning functions
- Use `__builtin_align_down` when available
- Better alignment handling (MALLOC_ALIGNMENT set to 16)
* Build Configuration
- Require C99 standard
- C extensions enabled by default
- Windows DLL export improvements with `CMOCKA_DLLEXTERN`
- `WINDOWS_EXPORT_ALL_SYMBOLS` support
- Address sanitizer support for MSVC
- Stack protector flags always passed to linker
* Documentation Improvements
- Enhanced API documentation with better organization
- Cleaned up internal functions from public documentation
- Better grouping of macros and functions
- Improved page layout and styling
- Updated README with more details
* Examples
- Modernized and rebuilt calculator example
- Added new assert_macro examples demonstrating common assertions
- Removed deprecated allocate module example (use AddressSanitizer instead)
o Deprecated
- `expect_check()`: Use `expect_check_data()` instead
- `check_expected()`: Use `check_expected_int()` or
`check_expected_uint()` instead
- `assert_in_range()`: Use `assert_int_in_range()` or
`assert_uint_in_range()` instead
- `assert_not_in_range()`: Use `assert_int_not_in_range()` or
`assert_uint_not_in_range()` instead
- `assert_in_set()`: Use `assert_int_in_set()` or
`assert_uint_in_set()` instead
- `expect_in_range()`: Use `expect_int_in_range()` or
`expect_uint_in_range()` instead
- `expect_not_in_range()`: Use `expect_int_not_in_range()` or
`expect_uint_not_in_range()` instead
- `expect_value()`: Use `expect_int_value()` or
`expect_uint_value()` instead
- `expect_not_value()`: Use `expect_int_not_value()` or
`expect_uint_not_value()` instead
- `will_return()`: Use type-specific variants
(`will_return_int()`, etc.) instead
- `will_return_count()`: Use type-specific variants instead
- `will_return_always()`: Use type-specific variants instead
- `will_set_parameter()`: Use type-specific variants instead
- Old MSVC support (pre-2008) dropped
- Cmockery legacy support removed
o Fixed
- Fixed missing `cmocka_version.h` in documentation
- Fixed TAP output for skipped tests
- Fixed floating-point comparison for `INFINITY` and `NAN`
- Fixed `expect_not_float()` implementation
- Fixed `mock_float()` implementation
- Fixed `assert_double_not_equal()` float handling
- Fixed `expect_function_calls()` for counts of 0
- Fixed NULL pointer dereference in `_function_called()`
- Fixed pointer assertions with function pointers
- Fixed segmentation fault handling in tests
- Fixed setjmp in `expect_assert_failure` macro
- Fixed unexpanded `%s` in leftover values error messages
- Fixed XML output duration formatting
- Fixed XML string sanitization (escape slashes and special
characters)
- Fixed Windows x64 builds
- Fixed Windows UWP build errors (C4703)
- Fixed MinGW pkgconfig path relocation
- Fixed test calloc overflow checking
- Fixed symbol map freeing to avoid undefined behavior
- Fixed memory equal display implementation
- Fixed comparison between pointer and integer issues
- Fixed possible data loss on MSVC
- Fixed conversion warnings from `time_t` to `double`
-------------------------------------------------------------------
Thu Jul 17 07:06:11 UTC 2025 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 1.1.8
* Set CMOCKA_LIBRARIES in package config for backwards compatibility
* Improve c_strreplace implementation
* Sanitize XML strings
* Update check for uintptr_t
* Require cmake >= 3.10
- Make libcmocka-doc a noarch package
-------------------------------------------------------------------
Fri Jun 7 11:09:17 UTC 2024 - Andreas Schneider <asn@cryptomilk.org>
- Fix baselibs.conf for libcmocka-cmake subpackage
-------------------------------------------------------------------
Wed Aug 23 06:30:05 UTC 2023 - Martin Wilck <mwilck@suse.com>
- split off -doc and -cmake subpackages, which aren't necessary
for basic development with cmocka, to avoid pulling in the
entire cmake-full package (38MB) with libcmocka-devel
- minor simplifications in spec file
-------------------------------------------------------------------
Fri May 5 09:26:51 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Add missing cmake config files for 32bit packages
-------------------------------------------------------------------
Mon Feb 27 13:16:24 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 1.1.7
* Fixed tarball generation
-------------------------------------------------------------------
Fri Feb 17 14:11:14 UTC 2023 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 1.1.6
* Added new assert macros to compare 2 double given an epsilon
* Added meson build system
* Added header with version to TAP13 output
* Fixed issues with MSVC
* Fixed TAP output for skipped tests
* Fixed issue with fail_msg
* CMake generated configs for find_package(cmocka)
* Documentation improvements
-------------------------------------------------------------------
Wed Apr 24 09:43:30 UTC 2019 - Martin Liška <mliska@suse.cz>
- Disable LTO (boo#1133122).
-------------------------------------------------------------------
Thu Mar 28 13:54:53 UTC 2019 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 1.1.5
* Added cmocka_set_skip_filter()
* cmocka version 1.1.4
* Added assert_float(_not)_equal()
* Added expect_any_always()
* Small bug fixes
-------------------------------------------------------------------
Thu Sep 27 13:58:03 UTC 2018 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 1.1.3
* Fixed subunit output on failures
* Do not abort if a test is skipped
* Switched to Modern CMake
- Removed 0001-cmake-Only-support-building-docs-the-on-cmake-3.9.patch
-------------------------------------------------------------------
Thu Aug 30 08:04:05 UTC 2018 - Andreas Schneider <asn@cryptomilk.org>
- Fix packaging the documentation
- Added 0001-cmake-Only-support-building-docs-the-on-cmake-3.9.patch
-------------------------------------------------------------------
Wed Aug 29 15:15:03 UTC 2018 - Andreas Schneider <asn@cryptomilk.org>
- Update to version 1.1.2
* Added function to filter tests (cmocka_set_test_filter)
* Added new mocking example (uptime)
* Fixed fixture error reporting
* Fixed compiler flags detection
* Some improvement for API documentation
- Added HTML documentation
-------------------------------------------------------------------
Fri Apr 7 14:33:00 UTC 2017 - asn@cryptomilk.org
- Update to version 1.1.1
* Fixed TAP output
* Fixed cmocka on Windows x64
* Fixed xUnit output durations
-------------------------------------------------------------------
Tue Oct 25 14:05:35 UTC 2016 - asn@cryptomilk.org
- Fix url for Source0
-------------------------------------------------------------------
Wed Sep 21 15:01:34 UTC 2016 - asn@cryptomilk.org
- Update to version 1.1.0
* Added support to catch multiple exceptions
* Added support to verify call ordering
* Added support to pass initial data to test cases
* Added will_return_maybe() for ignoring mock returns
* Added subtests for groups using TAP output
* Added support to write multiple XML files for groups
* Improved documentation
* Fixed XML output generataion
* Fixed Windows builds with VS2015
-------------------------------------------------------------------
Wed Jul 15 08:37:06 UTC 2015 - asn@cryptomilk.org
- Do not turn of rpath support
-------------------------------------------------------------------
Tue Jul 14 14:07:14 UTC 2015 - tchvatal@suse.com
- Use properly %cmake macro to build nicely with all the linker/cflags
- Use proper Url and Source
- Properly fails on crashing tests instead of finishing build
- Enable cmockery support
-------------------------------------------------------------------
Thu Mar 12 14:57:24 UTC 2015 - asn@cryptomilk.org
- Update to version 1.0.1
* Added a macro for assert_ptr_equal().
* Fixed test_realloc() if 0 size is passed.
* Fixed objects packaging bug.
* Fixed building with newer gcc versions.
-------------------------------------------------------------------
Tue Feb 17 08:13:09 UTC 2015 - asn@cryptomilk.org
- Add missing requires for cmake and pkg-config
-------------------------------------------------------------------
Tue Feb 17 08:10:18 UTC 2015 - asn@cryptomilk.org
- Turn on unit tests
-------------------------------------------------------------------
Mon Feb 16 18:14:15 UTC 2015 - asn@cryptomilk.org
- Update to version 1.0.0
* Added new test runner with group fixtures. The old runner is deprecated
* Added an extensible message output formatter
* Added jUnit XML message output
* Added subunit message output
* Added Test Anything Protocol message output
* Added skip() command
* Added test_realloc()
* Added a cmockery compat header
* Fixed a lot of bugs on Windows
-------------------------------------------------------------------
Thu Sep 11 15:03:12 UTC 2014 - asn@cryptomilk.org
- Update to version 0.4.1
* Added CMOCKA_TEST_ABORT env variable to leave threading apps.
* Fixed count parameter of expect_check() macro.
* Fixed reporting the number of tests.
* Fixed cmake config files.
-------------------------------------------------------------------
Mon Sep 1 13:57:34 UTC 2014 - asn@cryptomilk.org
- Add baselibs.conf as Source.
-------------------------------------------------------------------
Tue Aug 26 13:23:43 UTC 2014 - asn@cryptomilk.org
- Add BuildRequire for pkg-config.
-------------------------------------------------------------------
Tue Aug 26 13:23:43 UTC 2014 - asn@cryptomilk.org
- Add BuildRequire for pkg-config.
-------------------------------------------------------------------
Fri Apr 11 14:16:07 UTC 2014 - asn@cryptomilk.org
- Update to version 0.4.0
* Added support for group testing.
* Added assert_return_code().
* Added better messages for errors.
* Added cmake config mode support.
* Fixed bug with unit_test_setup and unit_test_teardown.
* Fixed a lot of small bugs.
-------------------------------------------------------------------
Mon Nov 11 13:17:27 UTC 2013 - asn@cryptomilk.org
- Update to version 0.3.2
* Fixed FindNSIS detection.
* Fixed unit_test_setup() and unit_test_teardown().
* Fixed GTest and GCC message style conformance
* Fixed stringification in will_return_always().
-------------------------------------------------------------------
Wed Jul 10 13:38:42 UTC 2013 - asn@cryptomilk.org
- Update to version 0.3.1
* Fixed pointer conversion on s390 and ppc (32bit big endian).
* Fixed the customer_database test on big endian.
-------------------------------------------------------------------
Wed Jun 5 06:38:33 UTC 2013 - asn@cryptomilk.org
- Update to version 0.3.0
* Added a better mock object example.
* Added pkgconfig file.
* Added new macros mock_type() and mock_ptr_type().
* Added more documentation.
* Fixed installation problems on some platforms.
-------------------------------------------------------------------
Tue Feb 5 10:16:53 UTC 2013 - asn@cryptomilk.org
- Add a libcmocka-devel-static package for the static library.
-------------------------------------------------------------------
Mon Jan 14 10:29:40 UTC 2013 - asn@cryptomilk.org
- Uploaded release tarball.
-------------------------------------------------------------------
Wed Oct 10 08:56:04 UTC 2012 - asn@cryptomilk.org
- Fix building i686 on a x86_64 platform.
-------------------------------------------------------------------
Tue Jun 26 13:40:20 UTC 2012 - asn@cryptomilk.org
- Initial version 0.2.0