edhoc 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/README.md +170 -0
  2. package/binding.gyp +13 -11
  3. package/dist/bindings.d.ts +5 -0
  4. package/dist/bindings.d.ts.map +1 -0
  5. package/dist/bindings.js +10 -0
  6. package/dist/crypto.d.ts +29 -0
  7. package/dist/crypto.d.ts.map +1 -0
  8. package/dist/crypto.js +205 -0
  9. package/dist/edhoc.d.ts +368 -0
  10. package/dist/edhoc.d.ts.map +1 -0
  11. package/dist/edhoc.js +76 -0
  12. package/dist/index.d.ts +4 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +19 -0
  15. package/dist/x509credentials.d.ts +20 -0
  16. package/dist/x509credentials.d.ts.map +1 -0
  17. package/dist/x509credentials.js +140 -0
  18. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +1 -1
  19. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +1 -1
  20. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +1 -1
  21. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +2 -2
  22. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +2 -2
  23. package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +48 -43
  24. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +1 -1
  25. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +1 -1
  26. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +3 -3
  27. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +1 -1
  28. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +1 -1
  29. package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +1 -1
  30. package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +1 -1
  31. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +1 -1
  32. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +1 -1
  33. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +1 -1
  34. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +1 -1
  35. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +1 -1
  36. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +1 -1
  37. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +1 -1
  38. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +1 -1
  39. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +1 -1
  40. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +1 -1
  41. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +1 -1
  42. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +1 -1
  43. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +1 -1
  44. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +1 -1
  45. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +1 -1
  46. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +1 -1
  47. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +1 -1
  48. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +3 -3
  49. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +3 -3
  50. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +1 -1
  51. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +1 -1
  52. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +4 -4
  53. package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +93 -83
  54. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +11 -20
  55. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +11 -20
  56. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +27 -32
  57. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +27 -32
  58. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +14 -23
  59. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +14 -23
  60. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +63 -52
  61. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +62 -51
  62. package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +14 -23
  63. package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +14 -23
  64. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +11 -20
  65. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +11 -20
  66. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +54 -51
  67. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +54 -51
  68. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +11 -20
  69. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +11 -20
  70. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +11 -20
  71. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +11 -20
  72. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +11 -20
  73. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +11 -20
  74. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +36 -37
  75. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +36 -37
  76. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +103 -80
  77. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +102 -79
  78. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +99 -76
  79. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +98 -75
  80. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +40 -41
  81. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +40 -41
  82. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +15 -24
  83. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +15 -24
  84. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.c +31 -0
  85. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.h +10 -0
  86. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.c +18 -0
  87. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.h +9 -0
  88. package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode.c +69 -0
  89. package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode2.c +38 -0
  90. package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  91. package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  92. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.c +31 -0
  93. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.h +10 -0
  94. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.c +18 -0
  95. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.h +9 -0
  96. package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode.c +71 -0
  97. package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode2.c +40 -0
  98. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
  99. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
  100. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/all_tests.c +19 -0
  101. package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.c +17 -0
  102. package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.h +19 -0
  103. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.c +31 -0
  104. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.h +10 -0
  105. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.c +18 -0
  106. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.h +9 -0
  107. package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode.c +69 -0
  108. package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode2.c +38 -0
  109. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.c +31 -0
  110. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.h +10 -0
  111. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.c +18 -0
  112. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.h +9 -0
  113. package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode.c +70 -0
  114. package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode2.c +42 -0
  115. package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
  116. package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
  117. package/external/libedhoc/externals/Unity/examples/unity_config.h +251 -0
  118. package/external/libedhoc/externals/Unity/extras/bdd/src/unity_bdd.h +44 -0
  119. package/external/libedhoc/externals/Unity/extras/bdd/test/test_bdd.c +129 -0
  120. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.c +310 -0
  121. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.h +95 -0
  122. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture_internals.h +51 -0
  123. package/external/libedhoc/externals/Unity/extras/fixture/test/main/AllTests.c +20 -0
  124. package/external/libedhoc/externals/Unity/extras/fixture/test/template_fixture_tests.c +40 -0
  125. package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_Test.c +246 -0
  126. package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_TestRunner.c +33 -0
  127. package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.c +203 -0
  128. package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.h +61 -0
  129. package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_Test.c +326 -0
  130. package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
  131. package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.c +57 -0
  132. package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.h +17 -0
  133. package/external/libedhoc/externals/Unity/src/unity.c +2501 -0
  134. package/external/libedhoc/externals/Unity/src/unity.h +698 -0
  135. package/external/libedhoc/externals/Unity/src/unity_internals.h +1183 -0
  136. package/external/libedhoc/externals/Unity/test/expectdata/testsample_cmd.c +61 -0
  137. package/external/libedhoc/externals/Unity/test/expectdata/testsample_def.c +57 -0
  138. package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.c +55 -0
  139. package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.h +15 -0
  140. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_cmd.c +80 -0
  141. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_def.c +76 -0
  142. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.c +75 -0
  143. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.h +13 -0
  144. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new1.c +89 -0
  145. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new2.c +89 -0
  146. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_param.c +77 -0
  147. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run1.c +89 -0
  148. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run2.c +89 -0
  149. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_yaml.c +90 -0
  150. package/external/libedhoc/externals/Unity/test/expectdata/testsample_new1.c +67 -0
  151. package/external/libedhoc/externals/Unity/test/expectdata/testsample_new2.c +70 -0
  152. package/external/libedhoc/externals/Unity/test/expectdata/testsample_param.c +58 -0
  153. package/external/libedhoc/externals/Unity/test/expectdata/testsample_run1.c +67 -0
  154. package/external/libedhoc/externals/Unity/test/expectdata/testsample_run2.c +70 -0
  155. package/external/libedhoc/externals/Unity/test/expectdata/testsample_yaml.c +71 -0
  156. package/external/libedhoc/externals/Unity/test/testdata/CException.h +18 -0
  157. package/external/libedhoc/externals/Unity/test/testdata/Defs.h +16 -0
  158. package/external/libedhoc/externals/Unity/test/testdata/cmock.h +21 -0
  159. package/external/libedhoc/externals/Unity/test/testdata/mockMock.h +20 -0
  160. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGenerator.c +204 -0
  161. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
  162. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
  163. package/external/libedhoc/externals/Unity/test/tests/self_assessment_utils.h +151 -0
  164. package/external/libedhoc/externals/Unity/test/tests/test_unity_arrays.c +2941 -0
  165. package/external/libedhoc/externals/Unity/test/tests/test_unity_core.c +375 -0
  166. package/external/libedhoc/externals/Unity/test/tests/test_unity_doubles.c +1285 -0
  167. package/external/libedhoc/externals/Unity/test/tests/test_unity_floats.c +1395 -0
  168. package/external/libedhoc/externals/Unity/test/tests/test_unity_integers.c +2863 -0
  169. package/external/libedhoc/externals/Unity/test/tests/test_unity_integers_64.c +783 -0
  170. package/external/libedhoc/externals/Unity/test/tests/test_unity_memory.c +82 -0
  171. package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterized.c +309 -0
  172. package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  173. package/external/libedhoc/externals/Unity/test/tests/test_unity_strings.c +330 -0
  174. package/external/libedhoc/externals/Unity/test/tests/types_for_test.h +21 -0
  175. package/external/libedhoc/externals/zcbor/include/zcbor_common.h +147 -60
  176. package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +291 -202
  177. package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +100 -156
  178. package/external/libedhoc/externals/zcbor/include/zcbor_print.h +165 -0
  179. package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +1 -1
  180. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +1 -1
  181. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +1 -1
  182. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +4 -4
  183. package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +4 -4
  184. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +15 -24
  185. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +14 -23
  186. package/external/libedhoc/externals/zcbor/src/zcbor_common.c +202 -29
  187. package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +633 -173
  188. package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +71 -184
  189. package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +152 -153
  190. package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +64 -64
  191. package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +15 -16
  192. package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +228 -84
  193. package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +9 -9
  194. package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +0 -1
  195. package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +172 -173
  196. package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +73 -73
  197. package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +1 -2
  198. package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +83 -56
  199. package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +15 -16
  200. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_everything.c +12 -0
  201. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +69 -69
  202. package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +448 -55
  203. package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +49 -48
  204. package/external/libedhoc/include/edhoc.h +348 -54
  205. package/external/libedhoc/include/edhoc_common.h +289 -0
  206. package/external/libedhoc/include/edhoc_context.h +60 -35
  207. package/external/libedhoc/include/edhoc_credentials.h +55 -7
  208. package/external/libedhoc/include/edhoc_crypto.h +10 -10
  209. package/external/libedhoc/include/edhoc_ead.h +13 -10
  210. package/external/libedhoc/include/edhoc_macros.h +20 -11
  211. package/external/libedhoc/include/edhoc_values.h +2 -2
  212. package/external/libedhoc/library/edhoc.c +70 -36
  213. package/external/libedhoc/library/edhoc_common.c +1314 -0
  214. package/external/libedhoc/library/edhoc_exporter.c +45 -46
  215. package/external/libedhoc/library/edhoc_message_1.c +107 -72
  216. package/external/libedhoc/library/edhoc_message_2.c +396 -1693
  217. package/external/libedhoc/library/edhoc_message_3.c +465 -1656
  218. package/external/libedhoc/library/edhoc_message_4.c +93 -91
  219. package/external/libedhoc/library/edhoc_message_error.c +41 -41
  220. package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_0.h → cipher_suite_0.h} +131 -134
  221. package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_2.h → cipher_suite_2.h} +139 -140
  222. package/external/libedhoc/tests/include/{edhoc_trace_1/test_vector_1.h → test_vector_rfc9529_chapter_2.h} +786 -738
  223. package/external/libedhoc/tests/include/{edhoc_trace_2/test_vector_2.h → test_vector_rfc9529_chapter_3.h} +14 -10
  224. package/external/libedhoc/tests/include/{x509_chain_cs_0/test_vector_x5chain_cs_0.h → test_vector_x5chain_sign_keys_suite_0.h} +137 -140
  225. package/external/libedhoc/tests/include/{x509_chain_cs_2/test_vector_x5chain_cs_2.h → test_vector_x5chain_sign_keys_suite_2.h} +7 -8
  226. package/external/libedhoc/tests/include/{x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h → test_vector_x5chain_static_dh_keys_suite_2.h} +7 -8
  227. package/external/libedhoc/tests/include/{x509_hash_cs_2/test_vector_x5t_cs_2.h → test_vector_x5t_sign_keys_suite_2.h} +6 -7
  228. package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_0.c → cipher_suite_0.c} +445 -447
  229. package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_2.c → cipher_suite_2.c} +600 -600
  230. package/external/libedhoc/tests/src/module_test_api.c +430 -0
  231. package/external/libedhoc/tests/src/module_test_cipher_suite_0.c +395 -0
  232. package/external/libedhoc/tests/src/module_test_cipher_suite_2.c +392 -0
  233. package/external/libedhoc/tests/src/{error_message/test_edhoc_error_message.c → module_test_error_message.c} +94 -69
  234. package/external/libedhoc/tests/src/module_test_main.c +49 -0
  235. package/external/libedhoc/tests/src/{cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c → module_test_rfc9528_suites_negotiation.c} +224 -227
  236. package/external/libedhoc/tests/src/module_test_rfc9529_chapter_2.c +2681 -0
  237. package/external/libedhoc/tests/src/module_test_rfc9529_chapter_3.c +1635 -0
  238. package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_0.c +1135 -0
  239. package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_2.c +1249 -0
  240. package/external/libedhoc/tests/src/module_test_x5chain_static_dh_keys_suite_2.c +798 -0
  241. package/external/libedhoc/tests/src/module_test_x5t_sign_keys_suite_2.c +956 -0
  242. package/include/EdhocComposeAsyncWorker.h +8 -6
  243. package/include/EdhocCredentialManager.h +16 -11
  244. package/include/EdhocCryptoManager.h +28 -21
  245. package/include/EdhocEadManager.h +3 -6
  246. package/include/{EdhocExportAsyncWorker.h → EdhocExportOscoreAsyncWorker.h} +20 -17
  247. package/include/EdhocKeyExporterAsyncWorker.h +76 -0
  248. package/include/EdhocKeyUpdateAsyncWorker.h +72 -0
  249. package/include/EdhocProcessAsyncWorker.h +14 -10
  250. package/include/LibEDHOC.h +44 -20
  251. package/include/UserContext.h +7 -9
  252. package/include/Utils.h +31 -27
  253. package/package.json +14 -3
  254. package/prebuilds/android-arm/edhoc.armv7.node +0 -0
  255. package/prebuilds/android-arm64/edhoc.armv8.node +0 -0
  256. package/prebuilds/darwin-arm64/edhoc.node +0 -0
  257. package/prebuilds/darwin-x64/edhoc.node +0 -0
  258. package/prebuilds/linux-arm/edhoc.armv6.node +0 -0
  259. package/prebuilds/linux-arm/edhoc.armv7.node +0 -0
  260. package/prebuilds/linux-arm64/edhoc.armv8.node +0 -0
  261. package/prebuilds/linux-x64/edhoc.glibc.node +0 -0
  262. package/prebuilds/linux-x64/edhoc.musl.node +0 -0
  263. package/prebuilds/win32-ia32/edhoc.node +0 -0
  264. package/prebuilds/win32-x64/edhoc.node +0 -0
  265. package/src/EdhocComposeAsyncWorker.cpp +18 -35
  266. package/src/EdhocCredentialManager.cpp +160 -187
  267. package/src/EdhocCryptoManager.cpp +386 -586
  268. package/src/EdhocEadManager.cpp +10 -18
  269. package/src/EdhocExportOscoreAsyncWorker.cpp +77 -0
  270. package/src/EdhocKeyExporterAsyncWorker.cpp +49 -0
  271. package/src/EdhocKeyUpdateAsyncWorker.cpp +41 -0
  272. package/src/EdhocProcessAsyncWorker.cpp +72 -19
  273. package/src/LibEDHOC.cpp +213 -174
  274. package/src/Suites.cpp +39 -72
  275. package/src/Utils.cpp +32 -56
  276. package/test/basic.test.ts +64 -0
  277. package/test/vectors.test.ts +111 -0
  278. package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +0 -69
  279. package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +0 -37
  280. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +0 -48
  281. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +0 -48
  282. package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +0 -60
  283. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +0 -208
  284. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +0 -59
  285. package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +0 -60
  286. package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +0 -199
  287. package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +0 -48
  288. package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +0 -92
  289. package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +0 -96
  290. package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +0 -58
  291. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +0 -56
  292. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +0 -57
  293. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +0 -59
  294. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +0 -57
  295. package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +0 -60
  296. package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +0 -57
  297. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +0 -475
  298. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +0 -473
  299. package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +0 -252
  300. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +0 -1829
  301. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +0 -1247
  302. package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +0 -170
  303. package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +0 -1783
  304. package/external/libedhoc/tests/src/tests.c +0 -228
  305. package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +0 -332
  306. package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +0 -936
  307. package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +0 -166
  308. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +0 -587
  309. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +0 -917
  310. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +0 -186
  311. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +0 -743
  312. package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +0 -261
  313. package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +0 -854
  314. package/src/EdhocExportAsyncWorker.cpp +0 -82
@@ -0,0 +1,783 @@
1
+ /* =========================================================================
2
+ Unity - A Test Framework for C
3
+ ThrowTheSwitch.org
4
+ Copyright (c) 2007-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
5
+ SPDX-License-Identifier: MIT
6
+ ========================================================================= */
7
+
8
+ #include "unity.h"
9
+ #define TEST_INSTANCES
10
+ #include "self_assessment_utils.h"
11
+
12
+ static int SetToOneToFailInTearDown;
13
+ static int SetToOneMeanWeAlreadyCheckedThisGuy;
14
+
15
+ void setUp(void)
16
+ {
17
+ SetToOneToFailInTearDown = 0;
18
+ SetToOneMeanWeAlreadyCheckedThisGuy = 0;
19
+ }
20
+
21
+ void tearDown(void)
22
+ {
23
+ endPutcharSpy(); /* Stop suppressing test output */
24
+ if (SetToOneToFailInTearDown == 1)
25
+ {
26
+ /* These will be skipped internally if already failed/ignored */
27
+ TEST_FAIL_MESSAGE("<= Failed in tearDown");
28
+ TEST_IGNORE_MESSAGE("<= Ignored in tearDown");
29
+ }
30
+ if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
31
+ {
32
+ UnityPrint(": [[[[ Test Should Have Passed But Did Not ]]]]");
33
+ UNITY_OUTPUT_CHAR('\n');
34
+ }
35
+ }
36
+
37
+ void testInt64ArrayWithinDelta(void)
38
+ {
39
+ #ifndef UNITY_SUPPORT_64
40
+ TEST_IGNORE();
41
+ #else
42
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
43
+ UNITY_INT64 actualSmallDelta[] = {12345001, -12344996, 12345005};
44
+ UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
45
+
46
+ TEST_ASSERT_INT64_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
47
+ TEST_ASSERT_INT64_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
48
+ #endif
49
+ }
50
+
51
+ void testInt64ArrayWithinDeltaAndMessage(void)
52
+ {
53
+ #ifndef UNITY_SUPPORT_64
54
+ TEST_IGNORE();
55
+ #else
56
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
57
+ UNITY_INT64 actualSmallDelta[] = {12345001, -12344996, 12345005};
58
+ UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
59
+
60
+ TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
61
+ TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
62
+ #endif
63
+ }
64
+
65
+ void testInt64ArrayNotWithinDelta(void)
66
+ {
67
+ #ifndef UNITY_SUPPORT_64
68
+ TEST_IGNORE();
69
+ #else
70
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
71
+ UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
72
+
73
+ EXPECT_ABORT_BEGIN
74
+ TEST_ASSERT_UINT64_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
75
+ VERIFY_FAILS_END
76
+ #endif
77
+ }
78
+
79
+ void testInt64ArrayNotWithinDeltaAndMessage(void)
80
+ {
81
+ #ifndef UNITY_SUPPORT_64
82
+ TEST_IGNORE();
83
+ #else
84
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
85
+ UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
86
+
87
+ EXPECT_ABORT_BEGIN
88
+ TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
89
+ VERIFY_FAILS_END
90
+ #endif
91
+ }
92
+
93
+ void testInt64ArrayWithinDeltaPointless(void)
94
+ {
95
+ #ifndef UNITY_SUPPORT_64
96
+ TEST_IGNORE();
97
+ #else
98
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
99
+ UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
100
+
101
+ EXPECT_ABORT_BEGIN
102
+ TEST_ASSERT_INT64_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
103
+ VERIFY_FAILS_END
104
+ #endif
105
+ }
106
+
107
+ void testInt64ArrayWithinDeltaPointlessAndMessage(void)
108
+ {
109
+ #ifndef UNITY_SUPPORT_64
110
+ TEST_IGNORE();
111
+ #else
112
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
113
+ UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
114
+
115
+ EXPECT_ABORT_BEGIN
116
+ TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
117
+ VERIFY_FAILS_END
118
+ #endif
119
+ }
120
+
121
+ void testInt64ArrayWithinDeltaExpectedNull(void)
122
+ {
123
+ #ifndef UNITY_SUPPORT_64
124
+ TEST_IGNORE();
125
+ #else
126
+ UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
127
+
128
+ EXPECT_ABORT_BEGIN
129
+ TEST_ASSERT_INT64_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
130
+ VERIFY_FAILS_END
131
+ #endif
132
+ }
133
+
134
+ void testInt64ArrayWithinDeltaExpectedNullAndMessage(void)
135
+ {
136
+ #ifndef UNITY_SUPPORT_64
137
+ TEST_IGNORE();
138
+ #else
139
+ UNITY_INT64 actualBigDelta[] = {12345101, -12344896, 12345055};
140
+
141
+ EXPECT_ABORT_BEGIN
142
+ TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
143
+ VERIFY_FAILS_END
144
+ #endif
145
+ }
146
+
147
+ void testInt64ArrayWithinDeltaActualNull(void)
148
+ {
149
+ #ifndef UNITY_SUPPORT_64
150
+ TEST_IGNORE();
151
+ #else
152
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
153
+
154
+ EXPECT_ABORT_BEGIN
155
+ TEST_ASSERT_INT64_ARRAY_WITHIN(110, expected, NULL, 3);
156
+ VERIFY_FAILS_END
157
+ #endif
158
+ }
159
+
160
+ void testInt64ArrayWithinDeltaActualNullAndMessage(void)
161
+ {
162
+ #ifndef UNITY_SUPPORT_64
163
+ TEST_IGNORE();
164
+ #else
165
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
166
+
167
+ EXPECT_ABORT_BEGIN
168
+ TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
169
+ VERIFY_FAILS_END
170
+ #endif
171
+ }
172
+
173
+ void testInt64ArrayWithinDeltaSamePointer(void)
174
+ {
175
+ #ifndef UNITY_SUPPORT_64
176
+ TEST_IGNORE();
177
+ #else
178
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
179
+
180
+ TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, expected, 3);
181
+ #endif
182
+ }
183
+
184
+ void testInt64ArrayWithinDeltaSamePointerAndMessage(void)
185
+ {
186
+ #ifndef UNITY_SUPPORT_64
187
+ TEST_IGNORE();
188
+ #else
189
+ UNITY_INT64 expected[] = {12345000, -12344995, 12345005};
190
+
191
+ TEST_ASSERT_INT64_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
192
+ #endif
193
+ }
194
+
195
+ void testUInt64ArrayWithinDelta(void)
196
+ {
197
+ #ifndef UNITY_SUPPORT_64
198
+ TEST_IGNORE();
199
+ #else
200
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
201
+ UNITY_UINT64 actualSmallDelta[] = {12345001, 12344996, 12345005};
202
+ UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
203
+
204
+ TEST_ASSERT_UINT64_ARRAY_WITHIN(1, expected, actualSmallDelta, 3);
205
+ TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, actualBigDelta, 3);
206
+ #endif
207
+ }
208
+
209
+ void testUInt64ArrayWithinDeltaAndMessage(void)
210
+ {
211
+ #ifndef UNITY_SUPPORT_64
212
+ TEST_IGNORE();
213
+ #else
214
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
215
+ UNITY_UINT64 actualSmallDelta[] = {12345001, 12344996, 12345005};
216
+ UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
217
+
218
+ TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(1, expected, actualSmallDelta, 3, "Custom Message.");
219
+ TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 3, "Custom Message.");
220
+ #endif
221
+ }
222
+
223
+ void testUInt64ArrayNotWithinDelta(void)
224
+ {
225
+ #ifndef UNITY_SUPPORT_64
226
+ TEST_IGNORE();
227
+ #else
228
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
229
+ UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
230
+
231
+ EXPECT_ABORT_BEGIN
232
+ TEST_ASSERT_UINT64_ARRAY_WITHIN(1, expected, actualBigDelta, 3);
233
+ VERIFY_FAILS_END
234
+ #endif
235
+ }
236
+
237
+ void testUInt64ArrayNotWithinDeltaAndMessage(void)
238
+ {
239
+ #ifndef UNITY_SUPPORT_64
240
+ TEST_IGNORE();
241
+ #else
242
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
243
+ UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
244
+
245
+ EXPECT_ABORT_BEGIN
246
+ TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(1, expected, actualBigDelta, 3, "Custom Message.");
247
+ VERIFY_FAILS_END
248
+ #endif
249
+ }
250
+
251
+ void testUInt64ArrayWithinDeltaPointless(void)
252
+ {
253
+ #ifndef UNITY_SUPPORT_64
254
+ TEST_IGNORE();
255
+ #else
256
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
257
+ UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
258
+
259
+ EXPECT_ABORT_BEGIN
260
+ TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, actualBigDelta, 0);
261
+ VERIFY_FAILS_END
262
+ #endif
263
+ }
264
+
265
+ void testUInt64ArrayWithinDeltaPointlessAndMessage(void)
266
+ {
267
+ #ifndef UNITY_SUPPORT_64
268
+ TEST_IGNORE();
269
+ #else
270
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
271
+ UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
272
+
273
+ EXPECT_ABORT_BEGIN
274
+ TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, expected, actualBigDelta, 0, "Custom Message.");
275
+ VERIFY_FAILS_END
276
+ #endif
277
+ }
278
+
279
+ void testUInt64ArrayWithinDeltaExpectedNull(void)
280
+ {
281
+ #ifndef UNITY_SUPPORT_64
282
+ TEST_IGNORE();
283
+ #else
284
+ UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
285
+
286
+ EXPECT_ABORT_BEGIN
287
+ TEST_ASSERT_UINT64_ARRAY_WITHIN(110, NULL, actualBigDelta, 3);
288
+ VERIFY_FAILS_END
289
+ #endif
290
+ }
291
+
292
+ void testUInt64ArrayWithinDeltaExpectedNullAndMessage(void)
293
+ {
294
+ #ifndef UNITY_SUPPORT_64
295
+ TEST_IGNORE();
296
+ #else
297
+ UNITY_UINT64 actualBigDelta[] = {12345101, 12344896, 12345055};
298
+
299
+ EXPECT_ABORT_BEGIN
300
+ TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, NULL, actualBigDelta, 3, "Custom Message.");
301
+ VERIFY_FAILS_END
302
+ #endif
303
+ }
304
+
305
+ void testUInt64ArrayWithinDeltaActualNull(void)
306
+ {
307
+ #ifndef UNITY_SUPPORT_64
308
+ TEST_IGNORE();
309
+ #else
310
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
311
+
312
+ EXPECT_ABORT_BEGIN
313
+ TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, NULL, 3);
314
+ VERIFY_FAILS_END
315
+ #endif
316
+ }
317
+
318
+ void testUInt64ArrayWithinDeltaActualNullAndMessage(void)
319
+ {
320
+ #ifndef UNITY_SUPPORT_64
321
+ TEST_IGNORE();
322
+ #else
323
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
324
+
325
+ EXPECT_ABORT_BEGIN
326
+ TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, expected, NULL, 3, "Custom Message.");
327
+ VERIFY_FAILS_END
328
+ #endif
329
+ }
330
+
331
+ void testUInt64ArrayWithinDeltaSamePointer(void)
332
+ {
333
+ #ifndef UNITY_SUPPORT_64
334
+ TEST_IGNORE();
335
+ #else
336
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
337
+
338
+ TEST_ASSERT_UINT64_ARRAY_WITHIN(110, expected, expected, 3);
339
+ #endif
340
+ }
341
+
342
+ void testUInt64ArrayWithinDeltaSamePointerAndMessage(void)
343
+ {
344
+ #ifndef UNITY_SUPPORT_64
345
+ TEST_IGNORE();
346
+ #else
347
+ UNITY_UINT64 expected[] = {12345000, 12344995, 12345005};
348
+
349
+ TEST_ASSERT_UINT64_ARRAY_WITHIN_MESSAGE(110, expected, expected, 3, "Custom Message.");
350
+ #endif
351
+ }
352
+
353
+ void testHEX64ArrayWithinDelta(void)
354
+ {
355
+ #ifndef UNITY_SUPPORT_64
356
+ TEST_IGNORE();
357
+ #else
358
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
359
+ UNITY_UINT64 actualSmallDelta[] = {0xABCD123500000000, 0xABCD112100000000, 0xABCD127700000000};
360
+ UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
361
+
362
+ TEST_ASSERT_HEX64_ARRAY_WITHIN(0x100000000, expected, actualSmallDelta, 3);
363
+ TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, expected, actualBigDelta, 3);
364
+ #endif
365
+ }
366
+
367
+ void testHEX64ArrayWithinDeltaAndMessage(void)
368
+ {
369
+ #ifndef UNITY_SUPPORT_64
370
+ TEST_IGNORE();
371
+ #else
372
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
373
+ UNITY_UINT64 actualSmallDelta[] = {0xABCD123500000000, 0xABCD112100000000, 0xABCD127700000000};
374
+ UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
375
+
376
+ TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x100000000, expected, actualSmallDelta, 3, "Custom Message.");
377
+ TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, expected, actualBigDelta, 3, "Custom Message.");
378
+ #endif
379
+ }
380
+
381
+ void testHEX64ArrayNotWithinDelta(void)
382
+ {
383
+ #ifndef UNITY_SUPPORT_64
384
+ TEST_IGNORE();
385
+ #else
386
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
387
+ UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
388
+
389
+ EXPECT_ABORT_BEGIN
390
+ TEST_ASSERT_HEX64_ARRAY_WITHIN(0x100000000, expected, actualBigDelta, 3);
391
+ VERIFY_FAILS_END
392
+ #endif
393
+ }
394
+
395
+ void testHEX64ArrayNotWithinDeltaAndMessage(void)
396
+ {
397
+ #ifndef UNITY_SUPPORT_64
398
+ TEST_IGNORE();
399
+ #else
400
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
401
+ UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
402
+
403
+ EXPECT_ABORT_BEGIN
404
+ TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x100000000, expected, actualBigDelta, 3, "Custom Message.");
405
+ VERIFY_FAILS_END
406
+ #endif
407
+ }
408
+
409
+ void testHEX64ArrayWithinDeltaPointless(void)
410
+ {
411
+ #ifndef UNITY_SUPPORT_64
412
+ TEST_IGNORE();
413
+ #else
414
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
415
+ UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
416
+
417
+ EXPECT_ABORT_BEGIN
418
+ TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, expected, actualBigDelta, 0);
419
+ VERIFY_FAILS_END
420
+ #endif
421
+ }
422
+
423
+ void testHEX64ArrayWithinDeltaPointlessAndMessage(void)
424
+ {
425
+ #ifndef UNITY_SUPPORT_64
426
+ TEST_IGNORE();
427
+ #else
428
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
429
+ UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
430
+
431
+ EXPECT_ABORT_BEGIN
432
+ TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, expected, actualBigDelta, 0, "Custom Message.");
433
+ VERIFY_FAILS_END
434
+ #endif
435
+ }
436
+
437
+ void testHEX64ArrayWithinDeltaExpectedNull(void)
438
+ {
439
+ #ifndef UNITY_SUPPORT_64
440
+ TEST_IGNORE();
441
+ #else
442
+ UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
443
+
444
+ EXPECT_ABORT_BEGIN
445
+ TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, NULL, actualBigDelta, 3);
446
+ VERIFY_FAILS_END
447
+ #endif
448
+ }
449
+
450
+ void testHEX64ArrayWithinDeltaExpectedNullAndMessage(void)
451
+ {
452
+ #ifndef UNITY_SUPPORT_64
453
+ TEST_IGNORE();
454
+ #else
455
+ UNITY_UINT64 actualBigDelta[] = {0xABCD126700000000, 0xABCD118800000000, 0xABCD12AC00000000};
456
+
457
+ EXPECT_ABORT_BEGIN
458
+ TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, NULL, actualBigDelta, 3, "Custom Message.");
459
+ VERIFY_FAILS_END
460
+ #endif
461
+ }
462
+
463
+ void testHEX64ArrayWithinDeltaActualNull(void)
464
+ {
465
+ #ifndef UNITY_SUPPORT_64
466
+ TEST_IGNORE();
467
+ #else
468
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
469
+
470
+ EXPECT_ABORT_BEGIN
471
+ TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, expected, NULL, 3);
472
+ VERIFY_FAILS_END
473
+ #endif
474
+ }
475
+
476
+ void testHEX64ArrayWithinDeltaActualNullAndMessage(void)
477
+ {
478
+ #ifndef UNITY_SUPPORT_64
479
+ TEST_IGNORE();
480
+ #else
481
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
482
+
483
+ EXPECT_ABORT_BEGIN
484
+ TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, expected, NULL, 3, "Custom Message.");
485
+ VERIFY_FAILS_END
486
+ #endif
487
+ }
488
+
489
+ void testHEX64ArrayWithinDeltaSamePointer(void)
490
+ {
491
+ #ifndef UNITY_SUPPORT_64
492
+ TEST_IGNORE();
493
+ #else
494
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
495
+
496
+ TEST_ASSERT_HEX64_ARRAY_WITHIN(0x6E00000000, expected, expected, 3);
497
+ #endif
498
+ }
499
+
500
+ void testHEX64ArrayWithinDeltaSamePointerAndMessage(void)
501
+ {
502
+ #ifndef UNITY_SUPPORT_64
503
+ TEST_IGNORE();
504
+ #else
505
+ UNITY_UINT64 expected[] = {0xABCD123400000000, 0xABCD112200000000, 0xABCD127700000000};
506
+
507
+ TEST_ASSERT_HEX64_ARRAY_WITHIN_MESSAGE(0x6E00000000, expected, expected, 3, "Custom Message.");
508
+ #endif
509
+ }
510
+
511
+ void testEqualHex64s(void)
512
+ {
513
+ #ifndef UNITY_SUPPORT_64
514
+ TEST_IGNORE();
515
+ #else
516
+ UNITY_UINT64 v0, v1;
517
+ UNITY_UINT64 *p0, *p1;
518
+
519
+ v0 = 0x9876543201234567;
520
+ v1 = 0x9876543201234567;
521
+ p0 = &v0;
522
+ p1 = &v1;
523
+
524
+ TEST_ASSERT_EQUAL_HEX64(0x9876543201234567, 0x9876543201234567);
525
+ TEST_ASSERT_EQUAL_HEX64(v0, v1);
526
+ TEST_ASSERT_EQUAL_HEX64(0x9876543201234567, v1);
527
+ TEST_ASSERT_EQUAL_HEX64(v0, 0x9876543201234567);
528
+ TEST_ASSERT_EQUAL_HEX64(*p0, v1);
529
+ TEST_ASSERT_EQUAL_HEX64(*p0, *p1);
530
+ TEST_ASSERT_EQUAL_HEX64(*p0, 0x9876543201234567);
531
+ #endif
532
+ }
533
+
534
+ void testEqualUint64s(void)
535
+ {
536
+ #ifndef UNITY_SUPPORT_64
537
+ TEST_IGNORE();
538
+ #else
539
+ UNITY_UINT64 v0, v1;
540
+ UNITY_UINT64 *p0, *p1;
541
+
542
+ v0 = 0x9876543201234567;
543
+ v1 = 0x9876543201234567;
544
+ p0 = &v0;
545
+ p1 = &v1;
546
+
547
+ TEST_ASSERT_EQUAL_UINT64(0x9876543201234567, 0x9876543201234567);
548
+ TEST_ASSERT_EQUAL_UINT64(v0, v1);
549
+ TEST_ASSERT_EQUAL_UINT64(0x9876543201234567, v1);
550
+ TEST_ASSERT_EQUAL_UINT64(v0, 0x9876543201234567);
551
+ TEST_ASSERT_EQUAL_UINT64(*p0, v1);
552
+ TEST_ASSERT_EQUAL_UINT64(*p0, *p1);
553
+ TEST_ASSERT_EQUAL_UINT64(*p0, 0x9876543201234567);
554
+ #endif
555
+ }
556
+
557
+ void testEqualInt64s(void)
558
+ {
559
+ #ifndef UNITY_SUPPORT_64
560
+ TEST_IGNORE();
561
+ #else
562
+ UNITY_INT64 v0, v1;
563
+ UNITY_INT64 *p0, *p1;
564
+
565
+ v0 = (UNITY_INT64)0x9876543201234567;
566
+ v1 = (UNITY_INT64)0x9876543201234567;
567
+ p0 = &v0;
568
+ p1 = &v1;
569
+
570
+ TEST_ASSERT_EQUAL_INT64(0x9876543201234567, 0x9876543201234567);
571
+ TEST_ASSERT_EQUAL_INT64(v0, v1);
572
+ TEST_ASSERT_EQUAL_INT64(0x9876543201234567, v1);
573
+ TEST_ASSERT_EQUAL_INT64(v0, 0x9876543201234567);
574
+ TEST_ASSERT_EQUAL_INT64(*p0, v1);
575
+ TEST_ASSERT_EQUAL_INT64(*p0, *p1);
576
+ TEST_ASSERT_EQUAL_INT64(*p0, 0x9876543201234567);
577
+ #endif
578
+ }
579
+
580
+
581
+ void testNotEqualHex64s(void)
582
+ {
583
+ #ifndef UNITY_SUPPORT_64
584
+ TEST_IGNORE();
585
+ #else
586
+ UNITY_UINT64 v0, v1;
587
+
588
+ v0 = 9000000000;
589
+ v1 = 9100000000;
590
+
591
+ EXPECT_ABORT_BEGIN
592
+ TEST_ASSERT_EQUAL_HEX64(v0, v1);
593
+ VERIFY_FAILS_END
594
+ #endif
595
+ }
596
+
597
+ void testNotEqualUint64s(void)
598
+ {
599
+ #ifndef UNITY_SUPPORT_64
600
+ TEST_IGNORE();
601
+ #else
602
+ UNITY_UINT64 v0, v1;
603
+
604
+ v0 = 9000000000;
605
+ v1 = 9100000000;
606
+
607
+ EXPECT_ABORT_BEGIN
608
+ TEST_ASSERT_EQUAL_UINT64(v0, v1);
609
+ VERIFY_FAILS_END
610
+ #endif
611
+ }
612
+
613
+ void testNotEqualInt64s(void)
614
+ {
615
+ #ifndef UNITY_SUPPORT_64
616
+ TEST_IGNORE();
617
+ #else
618
+ UNITY_INT64 v0, v1;
619
+
620
+ v0 = -9000000000;
621
+ v1 = 9100000000;
622
+
623
+ EXPECT_ABORT_BEGIN
624
+ TEST_ASSERT_EQUAL_INT64(v0, v1);
625
+ VERIFY_FAILS_END
626
+ #endif
627
+ }
628
+
629
+ void testNotEqualHex64sIfSigned(void)
630
+ {
631
+ #ifndef UNITY_SUPPORT_64
632
+ TEST_IGNORE();
633
+ #else
634
+ UNITY_INT64 v0, v1;
635
+
636
+ v0 = -9000000000;
637
+ v1 = 9000000000;
638
+
639
+ EXPECT_ABORT_BEGIN
640
+ TEST_ASSERT_EQUAL_HEX64(v0, v1);
641
+ VERIFY_FAILS_END
642
+ #endif
643
+ }
644
+
645
+ void testHEX64sWithinDelta(void)
646
+ {
647
+ #ifndef UNITY_SUPPORT_64
648
+ TEST_IGNORE();
649
+ #else
650
+ TEST_ASSERT_HEX64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x7FFFFFFFFFFFFFFE);
651
+ TEST_ASSERT_HEX64_WITHIN(5, 5000, 4996);
652
+ TEST_ASSERT_HEX64_WITHIN(5, 5000, 5005);
653
+ #endif
654
+ }
655
+
656
+ void testHEX32sWithinDeltaShouldIgnoreSign(void)
657
+ {
658
+ #ifndef UNITY_SUPPORT_64
659
+ TEST_IGNORE();
660
+ #else
661
+ TEST_ASSERT_HEX64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x8000000000000000);
662
+ #endif
663
+ }
664
+
665
+ void testHEX64sNotWithinDelta(void)
666
+ {
667
+ #ifndef UNITY_SUPPORT_64
668
+ TEST_IGNORE();
669
+ #else
670
+ EXPECT_ABORT_BEGIN
671
+ TEST_ASSERT_HEX64_WITHIN(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFC);
672
+ VERIFY_FAILS_END
673
+ #endif
674
+ }
675
+
676
+ void testHEX64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
677
+ {
678
+ #ifndef UNITY_SUPPORT_64
679
+ TEST_IGNORE();
680
+ #else
681
+ EXPECT_ABORT_BEGIN
682
+ TEST_ASSERT_HEX64_WITHIN(5, 1, -1);
683
+ VERIFY_FAILS_END
684
+ #endif
685
+ }
686
+
687
+ void testUINT64sWithinDelta(void)
688
+ {
689
+ #ifndef UNITY_SUPPORT_64
690
+ TEST_IGNORE();
691
+ #else
692
+ TEST_ASSERT_UINT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x7FFFFFFFFFFFFFFE);
693
+ TEST_ASSERT_UINT64_WITHIN(5, 5000, 4996);
694
+ TEST_ASSERT_UINT64_WITHIN(5, 5000, 5005);
695
+ #endif
696
+ }
697
+
698
+ void testUINT64sNotWithinDelta(void)
699
+ {
700
+ #ifndef UNITY_SUPPORT_64
701
+ TEST_IGNORE();
702
+ #else
703
+ EXPECT_ABORT_BEGIN
704
+ TEST_ASSERT_UINT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFC);
705
+ VERIFY_FAILS_END
706
+ #endif
707
+ }
708
+
709
+ void testUINT64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
710
+ {
711
+ #ifndef UNITY_SUPPORT_64
712
+ TEST_IGNORE();
713
+ #else
714
+ EXPECT_ABORT_BEGIN
715
+ TEST_ASSERT_UINT64_WITHIN(5, 1, -1);
716
+ VERIFY_FAILS_END
717
+ #endif
718
+ }
719
+
720
+ void testINT64sWithinDelta(void)
721
+ {
722
+ #ifndef UNITY_SUPPORT_64
723
+ TEST_IGNORE();
724
+ #else
725
+ TEST_ASSERT_INT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x7FFFFFFFFFFFFFFE);
726
+ TEST_ASSERT_INT64_WITHIN(5, 5000, 4996);
727
+ TEST_ASSERT_INT64_WITHIN(5, 5000, 5005);
728
+ #endif
729
+ }
730
+
731
+ void testINT64sNotWithinDelta(void)
732
+ {
733
+ #ifndef UNITY_SUPPORT_64
734
+ TEST_IGNORE();
735
+ #else
736
+ EXPECT_ABORT_BEGIN
737
+ TEST_ASSERT_INT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFC);
738
+ VERIFY_FAILS_END
739
+ #endif
740
+ }
741
+
742
+ void testINT64sNotWithinDeltaAndDifferenceOverflows(void)
743
+ {
744
+ #ifndef UNITY_SUPPORT_64
745
+ TEST_IGNORE();
746
+ #else
747
+ EXPECT_ABORT_BEGIN
748
+ TEST_ASSERT_INT64_WITHIN(1, 0x8000000000000000, 0x7FFFFFFFFFFFFFFF);
749
+ VERIFY_FAILS_END
750
+ #endif
751
+ }
752
+
753
+ void testPrintNumbersInt64(void)
754
+ {
755
+ #ifndef UNITY_SUPPORT_64
756
+ TEST_IGNORE();
757
+ #else
758
+ #ifndef USING_OUTPUT_SPY
759
+ TEST_IGNORE();
760
+ #else
761
+ TEST_ASSERT_EQUAL_PRINT_NUMBERS("0", 0);
762
+ TEST_ASSERT_EQUAL_PRINT_NUMBERS("10000000000", 10000000000);
763
+ TEST_ASSERT_EQUAL_PRINT_NUMBERS("-9223372036854775808", (UNITY_INT)0x8000000000000000);
764
+ TEST_ASSERT_EQUAL_PRINT_NUMBERS("-1", (UNITY_INT)0xFFFFFFFFFFFFFFFF);
765
+ #endif
766
+ #endif
767
+ }
768
+
769
+ void testPrintNumbersUInt64(void)
770
+ {
771
+ #ifndef UNITY_SUPPORT_64
772
+ TEST_IGNORE();
773
+ #else
774
+ #ifndef USING_OUTPUT_SPY
775
+ TEST_IGNORE();
776
+ #else
777
+ TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("0", 0);
778
+ TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("70000000000", 70000000000);
779
+ TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("9223372036854775808", (UNITY_UINT)0x8000000000000000);
780
+ TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS("18446744073709551615", (UNITY_UINT)0xFFFFFFFFFFFFFFFF);
781
+ #endif
782
+ #endif
783
+ }