1*5d3e7166SEd Maste // Headers needed by cmocka -- must be imported first 210ff414cSEd Maste #include <setjmp.h> 310ff414cSEd Maste #include <stdarg.h> 410ff414cSEd Maste #include <stddef.h> 5*5d3e7166SEd Maste #include <stdint.h> 610ff414cSEd Maste 710ff414cSEd Maste #include <cmocka.h> 810ff414cSEd Maste 910ff414cSEd Maste #include "cbor.h" 1010ff414cSEd Maste 1110ff414cSEd Maste #ifndef ASSERTIONS_H_ 1210ff414cSEd Maste #define ASSERTIONS_H_ 1310ff414cSEd Maste 1410ff414cSEd Maste void assert_uint8(cbor_item_t* item, uint8_t num); 1510ff414cSEd Maste void assert_uint16(cbor_item_t* item, uint16_t num); 1610ff414cSEd Maste void assert_uint32(cbor_item_t* item, uint32_t num); 1710ff414cSEd Maste void assert_uint64(cbor_item_t* item, uint64_t num); 1810ff414cSEd Maste 19*5d3e7166SEd Maste // TODO: Fix "Yoda" parameter ordering of asserts 20*5d3e7166SEd Maste /** Verify the `actual_result.status` and `actual_result.status`. */ 21*5d3e7166SEd Maste void assert_decoder_result(size_t expected_bytes_read, 22*5d3e7166SEd Maste enum cbor_decoder_status expected_status, 23*5d3e7166SEd Maste struct cbor_decoder_result actual_result); 2410ff414cSEd Maste 2510ff414cSEd Maste /** 2610ff414cSEd Maste * Assert that the result is set to CBOR_DECODER_NEDATA with the given 2710ff414cSEd Maste * `cbor_decoder_result.required` value. 2810ff414cSEd Maste */ 29*5d3e7166SEd Maste void assert_decoder_result_nedata(size_t expected_bytes_required, 30*5d3e7166SEd Maste struct cbor_decoder_result actual_result); 3110ff414cSEd Maste 3210ff414cSEd Maste /** 3310ff414cSEd Maste * Check that the streaming decoder returns a correct CBOR_DECODER_NEDATA 3410ff414cSEd Maste * result for all inputs from data[0..1] through data[0..(expected-1)]. 3510ff414cSEd Maste */ 3610ff414cSEd Maste void assert_minimum_input_size(size_t expected, cbor_data data); 3710ff414cSEd Maste 38*5d3e7166SEd Maste /** Check the equality of two `size_t`s. */ 39*5d3e7166SEd Maste void _assert_size_equal(size_t actual, size_t expected, const char* src_file, 40*5d3e7166SEd Maste int src_line); 41*5d3e7166SEd Maste #define assert_size_equal(actual, expected) \ 42*5d3e7166SEd Maste _assert_size_equal(actual, expected, __FILE__, __LINE__) 43*5d3e7166SEd Maste 4410ff414cSEd Maste #endif 45