Commit Graph

3143 Commits

Author SHA1 Message Date
Evan Hunt
f2b40a2b6c convert pool_test
(cherry picked from commit 4f84acb788)
(cherry picked from commit 16d2d27b04)
2018-11-15 17:45:46 -08:00
Evan Hunt
886eb41ac4 convert sockaddr_test
(cherry picked from commit 231436039d)
(cherry picked from commit be41574a20)
2018-11-15 17:45:46 -08:00
Evan Hunt
da13efce9d convert netaddr_test
(cherry picked from commit 7ab8c5b583)
(cherry picked from commit ba2262910a)
2018-11-15 17:45:46 -08:00
Evan Hunt
6aaaea3e61 convert symtab_test
(cherry picked from commit 5f377136be)
(cherry picked from commit 7b2288483f)
2018-11-15 17:45:46 -08:00
Evan Hunt
7ba2676176 convert queue_test
(cherry picked from commit b3db0266cb)
(cherry picked from commit b59107e687)
2018-11-15 17:45:46 -08:00
Evan Hunt
cf3bc94608 convert file_test
(cherry picked from commit 8161be27db)
(cherry picked from commit 3b95658020)
2018-11-15 17:45:46 -08:00
Evan Hunt
ff466ef5aa convert lex_test
(cherry picked from commit 4133fd86f1)
(cherry picked from commit 0e08dc2e2b)
2018-11-15 17:45:46 -08:00
Evan Hunt
2ac235d08c convert errno_test
(cherry picked from commit 049a3a7c0e)
(cherry picked from commit df41c2668f)
2018-11-15 17:45:45 -08:00
Evan Hunt
c5e86b2f3d convert safe_test
(cherry picked from commit c1c8d8846f)
(cherry picked from commit 5f3ba36436)
2018-11-15 17:45:45 -08:00
Evan Hunt
e975371c4d convert radix_test
(cherry picked from commit 718ca3166c)
(cherry picked from commit 5640841732)
2018-11-15 17:45:45 -08:00
Evan Hunt
726f335c37 convert heap_test
(cherry picked from commit cc6ab2416b)
(cherry picked from commit 57d78a76e5)
2018-11-15 17:45:45 -08:00
Evan Hunt
65640c6743 convert parse_test
(cherry picked from commit a7c308df9c)
(cherry picked from commit f29a9d5bc5)
2018-11-15 17:45:45 -08:00
Evan Hunt
802b551d42 convert counter_test
(cherry picked from commit 52b86f0abe)
(cherry picked from commit 856add745a)
2018-11-15 17:45:45 -08:00
Evan Hunt
2f4c3cf019 convert buffer_test
(cherry picked from commit 02a5db7631)
(cherry picked from commit 3095574c1c)
2018-11-15 17:45:45 -08:00
Evan Hunt
b85a5b0dcd convert aes_test
(cherry picked from commit dc88db015b)
(cherry picked from commit c679b85424)
2018-11-15 17:45:45 -08:00
Evan Hunt
f533ab528d improvements to test setup and teardown
- assert if {isc,dns,ns}_test_begin() is called when a prior test is running
- add dns_test_init() and dns_test_final(), which can be run before and
  after all tests. this ensures openssl doesn't have to be reinitialized.
2018-11-15 17:44:13 -08:00
Evan Hunt
099883e2b1 remove .NOTPARALLEL so unit tests can build faster
(cherry picked from commit b434b0a4b6)
(cherry picked from commit 03c7a096c6)
2018-11-16 01:05:35 +00:00
Mark Andrews
03f2cc49e3 remove lib/isc/tests/result_test as it is now cmocka
(cherry picked from commit 9024cf0c15)
2018-11-13 07:50:51 +11:00
Evan Hunt
181c5442b9 convert result tests to use CMocka instead of ATF
(cherry picked from commit 471110933a)
2018-11-12 15:38:50 +11:00
Mark Andrews
af5a051e4d check result tables are complete
(cherry picked from commit 4f04a79250)
2018-11-12 15:32:58 +11:00
Ondřej Surý
22c0f129ae Add support for cmocka assert testing by overriding REQUIRE/INSIST/... macros when UNIT_TESTING is defined
(cherry picked from commit 52731c000d)
2018-11-12 12:56:15 +11:00
Ondřej Surý
b0745fb156 Integrate cmocka unit testing framework to kyua
(cherry picked from commit 07910f0153)
2018-11-12 12:53:15 +11:00
Ondřej Surý
9000f73ba3 Properly use ATOMIC_*_LOCK_FREE preprocessor constants
The ATOMIC_*_LOCK_FREE can evalutate either 0, 1, or 2 which indicate the
lock-free property of the corresponding atomic types (both signed and unsigned).

	Value	Explanation
	-----	--------------------------------------
	  0	The atomic type is never lock-free
	  1	The atomic type is sometimes lock-free
	  2	The atomic type is always lock-free
	-----	--------------------------------------

(cherry picked from commit a5e7901eb9)
2018-11-09 05:00:32 +07:00
Ondřej Surý
ba263b5b7e isc_stdtime_t is always 32-bit now, so remove the always true macro STDTIME_ON_32BITS
(cherry picked from commit 6f5fe11f5a)
2018-11-09 03:04:22 +07:00
Ondřej Surý
2079e44fb9 Define PK11_UTIMACO_FLAVOR and add detection code to configure.ac 2018-11-09 00:07:44 +07:00
Ondřej Surý
c5b54803cd Remove dummy ISLOCKED macro
(cherry picked from commit 68ca987792)
(cherry picked from commit 5ad72603a8)
2018-11-08 22:42:52 +07:00
Ondřej Surý
2f8b28efad Hint the compiler with ISC_UNREACHABLE(); that code after INSIST(0); cannot be reached
(cherry picked from commit 23fff6c569)
(cherry picked from commit 4568669807)
2018-11-08 22:42:52 +07:00
Ondřej Surý
c576cb2ff6 Don't assert on failed getrlimit call to allow called to handle this gracefully as it already does, just abort where we need to know the numbers
(cherry picked from commit e2e138a801)
(cherry picked from commit 1e6329038b)
2018-11-08 22:03:31 +07:00
Ondřej Surý
f1224b4af1 When ISC assertions are disabled, still execute the condition to prevent unused variable warnings/errors from the compiler
(cherry picked from commit a831e0f72d)
(cherry picked from commit 3d834566f1)
2018-11-08 22:03:00 +07:00
Ondřej Surý
12a266211e Turn (int & flag) into (int & flag) != 0 when implicitly typed to bool
(cherry picked from commit b2b43fd235)
(cherry picked from commit fcd1569e2b)
2018-11-08 22:02:58 +07:00
Ondřej Surý
9d15323e24 Add small tweaks to the code to fix compilation when ISC assertions are disabled
While implementing the new unit testing framework cmocka, it was found that the
BIND 9 code doesn't compile when assertions are disabled or replaced with any
function (such as mock_assert() from cmocka unit testing framework) that's not
directly recognized as assertion by the compiler.

This made the compiler to complain about blocks of code that was recognized as
unreachable before, but now it isn't.

The changes in this commit include:

* assigns default values to couple of local variables,
* moves some return statements around INSIST assertions,
* adds __builtin_unreachable(); annotations after some INSIST assertions,
* fixes one broken assertion (= instead of ==)

(cherry picked from commit fbd2e47f51)
(cherry picked from commit b222783ae9)
2018-11-08 22:00:49 +07:00
Evan Hunt
6690b9e5a3 silence warning from missing print.h
(cherry picked from commit a0de6707c0)
2018-10-30 08:09:44 -07:00
Michał Kępień
00bc5bf6bd Fix isc_buffer_copyregion() for auto-reallocated buffers
While isc_buffer_copyregion() calls isc_buffer_reserve() to ensure the
target buffer will have enough available space to append the contents of
the source region to it, the variables used for subsequently checking
available space are not updated accordingly after that call.  This
prevents isc_buffer_copyregion() from working as expected for
auto-reallocated buffers: ISC_R_NOSPACE will be returned if enough space
is not already available in the target buffer before it is reallocated.
Fix by calling isc_buffer_used() and isc_buffer_availablelength()
directly instead of assigning their return values to local variables.

(cherry picked from commit e1f0aed034)
2018-10-30 13:34:49 +01:00
Michał Kępień
b549996d58 Add unit tests for isc_buffer_copyregion()
Add some basic checks for isc_buffer_copyregion() to ensure it behaves
as expected for both fixed-size buffers and buffers which can be
automatically reallocated.  Adjust the list of headers included by
lib/isc/tests/buffer_test.c so that it matches what that test program
really uses.

(cherry picked from commit 15440d8027)
2018-10-30 13:34:48 +01:00
Mark Andrews
67816c747d document eol
(cherry picked from commit 97a680e5ce)
2018-10-30 11:18:06 +11:00
Mark Andrews
bf299d5ee1 Only set IPV6_USE_MIN_MTU on IPv6.
(cherry picked from commit 561b780ba0)
2018-10-29 17:29:36 +11:00
Mark Andrews
169b5ee36f expand the pool then copy over the old entries so we that failures do not break the old pool; also don't leak the new pool on error
(cherry picked from commit afde30fe9b)
2018-10-25 13:20:14 +11:00
Tinderbox User
186cf94c9a prep 9.11.5rc1 2018-09-29 03:57:26 +00:00
Zhaolong Zhang
f889f48f61 Fix crash caused by race condition in timer creation
The race condition is the timer elapses before isc__timer_create()
returns the pointer to the caller.  Assigning the return pointer before
enabling the timer will fix it.

(cherry picked from commit 21966423cd)
2018-09-27 13:00:05 -07:00
Mark Andrews
ced589e379 avoid macro name collision with system defined macro
(cherry picked from commit 81b133d963)
2018-09-10 09:30:59 +10:00
Ondřej Surý
b92a1791b3 Use isc/stdatomic.h to switch to __atomic builtins when compiling in C++ mode 2018-09-07 16:55:22 +02:00
Witold Kręcicki
3da95ab2ed Align CMSG buffers to a void* boundary, fixes crash on architectures with strict alignment
CHANGES entry

(cherry picked from commit 17212cf996)
2018-09-07 10:30:12 +02:00
Ondřej Surý
302cae89f3 Bail-out early in the for install loops instead of continuing because for masks the error in the middle
(cherry picked from commit 25248eb097)
(cherry picked from commit 3fbceba0a8)
2018-09-03 13:49:35 +02:00
Witold Krecicki
eec06494aa Silence some warnings and errors
(cherry picked from commit 0f0dfc7f86)
2018-08-31 17:54:54 -07:00
Mark Andrews
c2c7020057 use sizeof(CK_SLOT_ID)
(cherry picked from commit 2c1d8b2e99)
2018-08-24 11:33:12 +10:00
Mark Andrews
58e33fcdb4 unlink before unlock
(cherry picked from commit 4742f4ecba)
2018-08-24 10:58:30 +10:00
Ondřej Surý
32a0d602ea We want to install compatibility shim isc/int.h and isc/boolean.h headers 2018-08-22 09:07:39 +02:00
Mark Andrews
d5cef9cd55 fix lock order reversal
(cherry picked from commit 2bb4392bb3)
2018-08-21 13:33:37 +10:00
Ondřej Surý
a2ffc37ad3 Don't install removed int.h and boolean.h headers 2018-08-14 20:14:05 -04:00
Mark Andrews
a21b1b86dc mempool didn't work for sizes less than sizeof(void*)
(cherry picked from commit 5dd1beec8e)
2018-08-14 09:12:41 -07:00