summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorkfg2018-08-25 22:32:30 +0200
committerkfg2018-08-25 22:47:59 +0200
commit17f6dd6ee8ac3368036b483bc00b655e33b79bf3 (patch)
tree0c315a5b0817c29411829b236e1a90b89bb5d116
downloadaur-17f6dd6ee8ac3368036b483bc00b655e33b79bf3.tar.gz
Initial import
-rw-r--r--.SRCINFO27
-rw-r--r--PKGBUILD64
-rw-r--r--crosscompilingemulator.patch145
-rw-r--r--exesuffix.patch145
4 files changed, 381 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e2cc5a0baed3
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,27 @@
+# Generated by mksrcinfo v8
+# Sat Aug 25 20:31:56 UTC 2018
+pkgbase = mingw-w64-cmocka
+ pkgdesc = Elegant unit testing framework for C with support for mock objects (mingw-w64)
+ pkgver = 1.1.1
+ pkgrel = 1
+ url = https://cmocka.org/
+ arch = any
+ license = Apache
+ makedepends = mingw-w64-gcc
+ makedepends = mingw-w64-cmake
+ makedepends = mingw-w64-wine
+ depends = mingw-w64-crt
+ options = !strip
+ options = !buildflags
+ options = staticlibs
+ source = https://cmocka.org/files/1.1/cmocka-1.1.1.tar.xz
+ source = https://cmocka.org/files/1.1/cmocka-1.1.1.tar.asc
+ source = exesuffix.patch
+ source = crosscompilingemulator.patch
+ sha512sums = 801c4a3e1bb9047241b1cb5a90c1cbdee1b0aff5e3d0a84ec8b2dbaee79274618c24fbe5e9fedbf0b3ee18c6c98b55d93e135d037ac33ab872edc7665af41577
+ sha512sums = SKIP
+ sha512sums = e68abf7947850d6ecc5b561f125fa39610e6b144568db92b0e5152a7481855e99674ce8d2dd320bd5fc572b397fbf1038f1325217051bf38dc3439d8e68a9b4e
+ sha512sums = 7f190c25cd69334eec0ebb8529574ab4582532ac22ad0fb0749f8f62042d43e6201be40176526dfe844522bb4b77552f16b4c0cd3c8bf9805330d6fbae07494c
+
+pkgname = mingw-w64-cmocka
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..d93d893a53a1
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Karl-Felix Glatzer <karl.glatzer@gmx.de>
+# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Anatol Pomozov <anatol.pomozov@gmail.com>
+
+pkgname=mingw-w64-cmocka
+pkgver=1.1.1
+pkgrel=1
+pkgdesc='Elegant unit testing framework for C with support for mock objects (mingw-w64)'
+url='https://cmocka.org/'
+arch=('any')
+license=('Apache')
+depends=('mingw-w64-crt')
+makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-wine')
+options=(!strip !buildflags staticlibs)
+source=(https://cmocka.org/files/1.1/cmocka-${pkgver}.tar.{xz,asc}
+ exesuffix.patch
+ crosscompilingemulator.patch)
+sha512sums=('801c4a3e1bb9047241b1cb5a90c1cbdee1b0aff5e3d0a84ec8b2dbaee79274618c24fbe5e9fedbf0b3ee18c6c98b55d93e135d037ac33ab872edc7665af41577'
+ 'SKIP'
+ 'e68abf7947850d6ecc5b561f125fa39610e6b144568db92b0e5152a7481855e99674ce8d2dd320bd5fc572b397fbf1038f1325217051bf38dc3439d8e68a9b4e'
+ '7f190c25cd69334eec0ebb8529574ab4582532ac22ad0fb0749f8f62042d43e6201be40176526dfe844522bb4b77552f16b4c0cd3c8bf9805330d6fbae07494c')
+validpgpkeys=('8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D') # Andreas Schneider <asn@cryptomilk.org>
+_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
+
+prepare() {
+ cd "${srcdir}/cmocka-${pkgver}"
+ patch -Np1 -i "${srcdir}"/exesuffix.patch
+
+ patch -Np1 -i "${srcdir}"/crosscompilingemulator.patch
+}
+
+build() {
+ for _arch in ${_architectures}; do
+ mkdir -p "${srcdir}"/build-${_arch} && cd "${srcdir}"/build-${_arch}
+ ${_arch}-cmake ../cmocka-${pkgver} \
+ -DCMAKE_CROSSCOMPILING=TRUE \
+ -DUNIT_TESTING=ON
+ make
+ done
+}
+
+check() {
+ for _arch in ${_architectures}; do
+ cd "${srcdir}"/build-${_arch}
+ cp src/cmocka.dll example/
+ cp src/cmocka.dll example/chef_wrap/
+ WINEDEBUG=-all make test
+ done
+}
+
+package() {
+ for _arch in ${_architectures}; do
+ cd "${srcdir}"/build-${_arch}
+ make install DESTDIR="${pkgdir}"
+
+ ${_arch}-strip --strip-unneeded "${pkgdir}"/usr/${_arch}/bin/*.dll
+ ${_arch}-strip -g "${pkgdir}"/usr/${_arch}/lib/*.a
+ rm -r "${pkgdir}"/usr/${_arch}/CMake/
+ done
+}
+
+# vim: ts=2 sw=2 et:
+
+
diff --git a/crosscompilingemulator.patch b/crosscompilingemulator.patch
new file mode 100644
index 000000000000..b572352ca44d
--- /dev/null
+++ b/crosscompilingemulator.patch
@@ -0,0 +1,145 @@
+diff -ruN cmocka-1.1.1/cmake/Modules/AddCMockaTest.cmake patched/cmake/Modules/AddCMockaTest.cmake
+--- cmocka-1.1.1/cmake/Modules/AddCMockaTest.cmake 2018-08-25 22:13:02.393732017 +0200
++++ patched/cmake/Modules/AddCMockaTest.cmake 2018-08-25 22:14:20.245142615 +0200
+@@ -19,5 +19,5 @@
+ function (ADD_CMOCKA_TEST _testName _testSource)
+ add_executable(${_testName} ${_testSource})
+ target_link_libraries(${_testName} ${ARGN})
+- add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName}${CMAKE_EXECUTABLE_SUFFIX})
++ add_test(${_testName} ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/${_testName}${CMAKE_EXECUTABLE_SUFFIX})
+ endfunction (ADD_CMOCKA_TEST)
+diff -ruN cmocka-1.1.1/example/chef_wrap/CMakeLists.txt patched/example/chef_wrap/CMakeLists.txt
+--- cmocka-1.1.1/example/chef_wrap/CMakeLists.txt 2018-08-25 22:13:02.393732017 +0200
++++ patched/example/chef_wrap/CMakeLists.txt 2018-08-25 22:14:09.604949817 +0200
+@@ -9,7 +9,7 @@
+ add_executable(waiter_test_wrap waiter_test_wrap.c chef.c)
+ target_link_libraries(waiter_test_wrap ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(waiter_test_wrap ${CMAKE_CURRENT_BINARY_DIR}/waiter_test_wrap${CMAKE_EXECUTABLE_SUFFIX})
++add_test(waiter_test_wrap ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/waiter_test_wrap${CMAKE_EXECUTABLE_SUFFIX})
+
+ set_target_properties(waiter_test_wrap
+ PROPERTIES
+diff -ruN cmocka-1.1.1/example/CMakeLists.txt patched/example/CMakeLists.txt
+--- cmocka-1.1.1/example/CMakeLists.txt 2018-08-25 22:13:02.393732017 +0200
++++ patched/example/CMakeLists.txt 2018-08-25 22:14:20.245142615 +0200
+@@ -32,7 +32,7 @@
+ add_executable(simple_test simple_test.c)
+ target_link_libraries(simple_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(simple_test ${CMAKE_CURRENT_BINARY_DIR}/simple_test${CMAKE_EXECUTABLE_SUFFIX})
++add_test(simple_test ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/simple_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN OR MINGW)
+ set_tests_properties(simple_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN OR MINGW)
+@@ -41,7 +41,7 @@
+ #TODO investigate dll jmp issue on MinGW
+ if (NOT MINGW OR WITH_STATIC_LIB)
+ add_executable(calculator_test calculator.c calculator_test.c)
+- add_test(calculator_test ${CMAKE_CURRENT_BINARY_DIR}/calculator_test${CMAKE_EXECUTABLE_SUFFIX})
++ add_test(calculator_test ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/calculator_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN)
+ set_tests_properties(calculator_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN)
+@@ -62,7 +62,7 @@
+ target_link_libraries(allocate_module_test ${CMOCKA_SHARED_LIBRARY})
+
+ # This is a test that should detect leaks and overflows and will fail for that
+-add_test(allocate_module_test ${CMAKE_CURRENT_BINARY_DIR}/allocate_module_test${CMAKE_EXECUTABLE_SUFFIX})
++add_test(allocate_module_test ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/allocate_module_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN OR MINGW)
+ set_tests_properties(allocate_module_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN OR MINGW)
+@@ -77,7 +77,7 @@
+ add_executable(assert_macro_test assert_macro.c assert_macro_test.c)
+ target_link_libraries(assert_macro_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(assert_macro_test ${CMAKE_CURRENT_BINARY_DIR}/assert_macro_test${CMAKE_EXECUTABLE_SUFFIX})
++add_test(assert_macro_test ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/assert_macro_test${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ assert_macro_test
+ PROPERTIES
+@@ -91,7 +91,7 @@
+ add_executable(assert_module_test assert_module.c assert_module_test.c)
+ target_link_libraries(assert_module_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(assert_module_test ${CMAKE_CURRENT_BINARY_DIR}/assert_module_test${CMAKE_EXECUTABLE_SUFFIX})
++add_test(assert_module_test ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/assert_module_test${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ assert_module_test
+ PROPERTIES
+@@ -105,7 +105,7 @@
+ add_executable(customer_database_test customer_database.c customer_database_test.c)
+ target_link_libraries(customer_database_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(customer_database_test ${CMAKE_CURRENT_BINARY_DIR}/customer_database_test${CMAKE_EXECUTABLE_SUFFIX})
++add_test(customer_database_test ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/customer_database_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN OR MINGW)
+ set_tests_properties(customer_database_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN OR MINGW)
+@@ -114,7 +114,7 @@
+ add_executable(key_value_test key_value.c key_value_test.c)
+ target_link_libraries(key_value_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(key_value_test ${CMAKE_CURRENT_BINARY_DIR}/key_value_test${CMAKE_EXECUTABLE_SUFFIX})
++add_test(key_value_test ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/key_value_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN OR MINGW)
+ set_tests_properties(key_value_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN OR MINGW)
+@@ -123,7 +123,7 @@
+ add_executable(product_database_test product_database.c product_database_test.c)
+ target_link_libraries(product_database_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(product_database_test ${CMAKE_CURRENT_BINARY_DIR}/product_database_test${CMAKE_EXECUTABLE_SUFFIX})
++add_test(product_database_test ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/product_database_test${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ product_database_test
+ PROPERTIES
+diff -ruN cmocka-1.1.1/tests/CMakeLists.txt patched/tests/CMakeLists.txt
+--- cmocka-1.1.1/tests/CMakeLists.txt 2018-08-25 22:13:02.393732017 +0200
++++ patched/tests/CMakeLists.txt 2018-08-25 22:14:20.245142615 +0200
+@@ -105,7 +105,7 @@
+ 1
+ )
+
+-add_test (test_setup_fail_1_failed test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
++add_test (test_setup_fail_1_failed ${CMAKE_CROSSCOMPILING_EMULATOR} test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ test_setup_fail_1_failed
+ PROPERTIES
+@@ -113,7 +113,7 @@
+ "\\[ ERROR \\] int_test_ignored"
+ )
+
+-add_test (test_setup_fail_1_passed test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
++add_test (test_setup_fail_1_passed ${CMAKE_CROSSCOMPILING_EMULATOR} test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ test_setup_fail_1_passed
+ PROPERTIES
+@@ -121,7 +121,7 @@
+ "\\[ PASSED \\] 1 test\\(s\\)."
+ )
+
+-add_test (test_setup_fail_match_failed test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
++add_test (test_setup_fail_match_failed ${CMAKE_CROSSCOMPILING_EMULATOR} test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ test_setup_fail_match_failed
+ PROPERTIES
+@@ -129,7 +129,7 @@
+ "\\[ ERROR \\] int_test_ignored"
+ )
+
+-add_test (test_setup_fail_match_passed test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
++add_test (test_setup_fail_match_passed ${CMAKE_CROSSCOMPILING_EMULATOR} test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ test_setup_fail_match_passed
+ PROPERTIES
+@@ -215,7 +215,7 @@
+ foreach(_TEST_OUTPUT_FMT ${TEST_OUTPUT_FMTS})
+ foreach(_OUTPUT_TEST ${OUTPUT_TESTS})
+ set(TEST_NAME ${_OUTPUT_TEST}_${_TEST_OUTPUT_FMT})
+- add_test(${TEST_NAME} ${_OUTPUT_TEST}${CMAKE_EXECUTABLE_SUFFIX})
++ add_test(${TEST_NAME} ${CMAKE_CROSSCOMPILING_EMULATOR} ${_OUTPUT_TEST}${CMAKE_EXECUTABLE_SUFFIX})
+
+ set_property(
+ TEST
diff --git a/exesuffix.patch b/exesuffix.patch
new file mode 100644
index 000000000000..d2114d0943da
--- /dev/null
+++ b/exesuffix.patch
@@ -0,0 +1,145 @@
+diff -ruN cmocka-1.1.1/cmake/Modules/AddCMockaTest.cmake patched/cmake/Modules/AddCMockaTest.cmake
+--- cmocka-1.1.1/cmake/Modules/AddCMockaTest.cmake 2013-12-23 15:50:11.000000000 +0100
++++ patched/cmake/Modules/AddCMockaTest.cmake 2018-08-25 20:09:31.030127812 +0200
+@@ -19,5 +19,5 @@
+ function (ADD_CMOCKA_TEST _testName _testSource)
+ add_executable(${_testName} ${_testSource})
+ target_link_libraries(${_testName} ${ARGN})
+- add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName})
++ add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName}${CMAKE_EXECUTABLE_SUFFIX})
+ endfunction (ADD_CMOCKA_TEST)
+diff -ruN cmocka-1.1.1/example/chef_wrap/CMakeLists.txt patched/example/chef_wrap/CMakeLists.txt
+--- cmocka-1.1.1/example/chef_wrap/CMakeLists.txt 2016-09-21 15:31:28.000000000 +0200
++++ patched/example/chef_wrap/CMakeLists.txt 2018-08-25 20:05:18.555532103 +0200
+@@ -9,7 +9,7 @@
+ add_executable(waiter_test_wrap waiter_test_wrap.c chef.c)
+ target_link_libraries(waiter_test_wrap ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(waiter_test_wrap ${CMAKE_CURRENT_BINARY_DIR}/waiter_test_wrap)
++add_test(waiter_test_wrap ${CMAKE_CURRENT_BINARY_DIR}/waiter_test_wrap${CMAKE_EXECUTABLE_SUFFIX})
+
+ set_target_properties(waiter_test_wrap
+ PROPERTIES
+diff -ruN cmocka-1.1.1/example/CMakeLists.txt patched/example/CMakeLists.txt
+--- cmocka-1.1.1/example/CMakeLists.txt 2016-09-21 15:31:28.000000000 +0200
++++ patched/example/CMakeLists.txt 2018-08-25 20:04:44.554913232 +0200
+@@ -32,7 +32,7 @@
+ add_executable(simple_test simple_test.c)
+ target_link_libraries(simple_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(simple_test ${CMAKE_CURRENT_BINARY_DIR}/simple_test)
++add_test(simple_test ${CMAKE_CURRENT_BINARY_DIR}/simple_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN OR MINGW)
+ set_tests_properties(simple_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN OR MINGW)
+@@ -41,7 +41,7 @@
+ #TODO investigate dll jmp issue on MinGW
+ if (NOT MINGW OR WITH_STATIC_LIB)
+ add_executable(calculator_test calculator.c calculator_test.c)
+- add_test(calculator_test ${CMAKE_CURRENT_BINARY_DIR}/calculator_test)
++ add_test(calculator_test ${CMAKE_CURRENT_BINARY_DIR}/calculator_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN)
+ set_tests_properties(calculator_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN)
+@@ -62,7 +62,7 @@
+ target_link_libraries(allocate_module_test ${CMOCKA_SHARED_LIBRARY})
+
+ # This is a test that should detect leaks and overflows and will fail for that
+-add_test(allocate_module_test ${CMAKE_CURRENT_BINARY_DIR}/allocate_module_test)
++add_test(allocate_module_test ${CMAKE_CURRENT_BINARY_DIR}/allocate_module_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN OR MINGW)
+ set_tests_properties(allocate_module_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN OR MINGW)
+@@ -77,7 +77,7 @@
+ add_executable(assert_macro_test assert_macro.c assert_macro_test.c)
+ target_link_libraries(assert_macro_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(assert_macro_test ${CMAKE_CURRENT_BINARY_DIR}/assert_macro_test)
++add_test(assert_macro_test ${CMAKE_CURRENT_BINARY_DIR}/assert_macro_test${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ assert_macro_test
+ PROPERTIES
+@@ -91,7 +91,7 @@
+ add_executable(assert_module_test assert_module.c assert_module_test.c)
+ target_link_libraries(assert_module_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(assert_module_test ${CMAKE_CURRENT_BINARY_DIR}/assert_module_test)
++add_test(assert_module_test ${CMAKE_CURRENT_BINARY_DIR}/assert_module_test${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ assert_module_test
+ PROPERTIES
+@@ -105,7 +105,7 @@
+ add_executable(customer_database_test customer_database.c customer_database_test.c)
+ target_link_libraries(customer_database_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(customer_database_test ${CMAKE_CURRENT_BINARY_DIR}/customer_database_test)
++add_test(customer_database_test ${CMAKE_CURRENT_BINARY_DIR}/customer_database_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN OR MINGW)
+ set_tests_properties(customer_database_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN OR MINGW)
+@@ -114,7 +114,7 @@
+ add_executable(key_value_test key_value.c key_value_test.c)
+ target_link_libraries(key_value_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(key_value_test ${CMAKE_CURRENT_BINARY_DIR}/key_value_test)
++add_test(key_value_test ${CMAKE_CURRENT_BINARY_DIR}/key_value_test${CMAKE_EXECUTABLE_SUFFIX})
+ if (WIN32 OR CYGWIN OR MINGW)
+ set_tests_properties(key_value_test PROPERTIES ENVIRONMENT "PATH=${DLL_PATH_ENV}")
+ endif (WIN32 OR CYGWIN OR MINGW)
+@@ -123,7 +123,7 @@
+ add_executable(product_database_test product_database.c product_database_test.c)
+ target_link_libraries(product_database_test ${CMOCKA_SHARED_LIBRARY})
+
+-add_test(product_database_test ${CMAKE_CURRENT_BINARY_DIR}/product_database_test)
++add_test(product_database_test ${CMAKE_CURRENT_BINARY_DIR}/product_database_test${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ product_database_test
+ PROPERTIES
+diff -ruN cmocka-1.1.1/tests/CMakeLists.txt patched/tests/CMakeLists.txt
+--- cmocka-1.1.1/tests/CMakeLists.txt 2017-04-05 08:40:50.000000000 +0200
++++ patched/tests/CMakeLists.txt 2018-08-25 20:08:18.638810060 +0200
+@@ -105,7 +105,7 @@
+ 1
+ )
+
+-add_test (test_setup_fail_1_failed test_setup_fail)
++add_test (test_setup_fail_1_failed test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ test_setup_fail_1_failed
+ PROPERTIES
+@@ -113,7 +113,7 @@
+ "\\[ ERROR \\] int_test_ignored"
+ )
+
+-add_test (test_setup_fail_1_passed test_setup_fail)
++add_test (test_setup_fail_1_passed test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ test_setup_fail_1_passed
+ PROPERTIES
+@@ -121,7 +121,7 @@
+ "\\[ PASSED \\] 1 test\\(s\\)."
+ )
+
+-add_test (test_setup_fail_match_failed test_setup_fail)
++add_test (test_setup_fail_match_failed test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ test_setup_fail_match_failed
+ PROPERTIES
+@@ -129,7 +129,7 @@
+ "\\[ ERROR \\] int_test_ignored"
+ )
+
+-add_test (test_setup_fail_match_passed test_setup_fail)
++add_test (test_setup_fail_match_passed test_setup_fail${CMAKE_EXECUTABLE_SUFFIX})
+ set_tests_properties(
+ test_setup_fail_match_passed
+ PROPERTIES
+@@ -215,7 +215,7 @@
+ foreach(_TEST_OUTPUT_FMT ${TEST_OUTPUT_FMTS})
+ foreach(_OUTPUT_TEST ${OUTPUT_TESTS})
+ set(TEST_NAME ${_OUTPUT_TEST}_${_TEST_OUTPUT_FMT})
+- add_test(${TEST_NAME} ${_OUTPUT_TEST})
++ add_test(${TEST_NAME} ${_OUTPUT_TEST}${CMAKE_EXECUTABLE_SUFFIX})
+
+ set_property(
+ TEST