11#include "binary_update.h"
2+ #include "flash_adapter.h"
23
34#include "unity.h"
45#include "unity_fixture.h"
56
7+ extern volatile bootInfo_S boot_info ;
8+
69TEST_GROUP (BinaryUpdate );
710
811TEST_SETUP (BinaryUpdate ) {
@@ -13,12 +16,71 @@ TEST_TEAR_DOWN(BinaryUpdate) {
1316
1417TEST_GROUP_RUNNER (BinaryUpdate ) {
1518 RUN_TEST_CASE (BinaryUpdate , BinaryUpdate_handleDetectedBinary );
19+ RUN_TEST_CASE (BinaryUpdate , BinaryUpdate_handleBootInfo );
20+ RUN_TEST_CASE (BinaryUpdate , BinaryUpdate_shortFunctions );
1621}
1722
1823TEST (BinaryUpdate , BinaryUpdate_handleDetectedBinary ) {
19- {
20- signatureType_E detected_binary = signatureType_FIRMWARE_FLASH ;
21- bool success = BinaryUpdate_handleDetectedBinary (detected_binary );
22- TEST_ASSERT_TRUE (success );
23- }
24+
25+ signatureType_E detected_binary ;
26+ bool success = false;
27+
28+ detected_binary = signatureType_FIRMWARE_FLASH ;
29+ success = BinaryUpdate_handleDetectedBinary (detected_binary );
30+ TEST_ASSERT_TRUE (success );
31+
32+ detected_binary = signatureType_BOOTLOADER_FLASH ;
33+ success = BinaryUpdate_handleDetectedBinary (detected_binary );
34+ TEST_ASSERT_TRUE (success );
35+
36+ detected_binary = signatureType_FIRMWARE_RAM ;
37+ success = BinaryUpdate_handleDetectedBinary (detected_binary );
38+ TEST_ASSERT_TRUE (success );
39+
40+ detected_binary = signatureType_BOOTLOADER_RAM ;
41+ success = BinaryUpdate_handleDetectedBinary (detected_binary );
42+ TEST_ASSERT_TRUE (success );
43+
44+ detected_binary = signatureType_UNKNOWN ;
45+ success = BinaryUpdate_handleDetectedBinary (detected_binary );
46+ TEST_ASSERT_FALSE (success );
47+
48+ detected_binary = signatureType_UNKNOWN + 1 ;
49+ success = BinaryUpdate_handleDetectedBinary (detected_binary );
50+ TEST_ASSERT_FALSE (success );
51+ }
52+
53+ TEST (BinaryUpdate , BinaryUpdate_handleBootInfo ) {
54+
55+ boot_info .jump_address = FLASH_FIRMWARE_ADDRESS ;
56+ boot_info .skip_bl_loop = true;
57+ BinaryUpdate_handleBootInfo ();
58+ TEST_ASSERT_TRUE (boot_info .skip_bl_loop );
59+
60+ boot_info .jump_address = FLASH_BOOTLOADER_ADDRESS ;
61+ BinaryUpdate_handleBootInfo ();
62+ TEST_ASSERT_TRUE (boot_info .skip_bl_loop );
63+
64+ boot_info .jump_address = RAM_FIRMWARE_ADDRESS ;
65+ BinaryUpdate_handleBootInfo ();
66+ TEST_ASSERT_TRUE (boot_info .skip_bl_loop );
67+
68+ boot_info .jump_address = 0x08888888UL ; //Unknown
69+ BinaryUpdate_handleBootInfo ();
70+ TEST_ASSERT_FALSE (boot_info .skip_bl_loop );
71+ }
72+
73+ TEST (BinaryUpdate , BinaryUpdate_shortFunctions ) {
74+
75+ boot_info .jump_address = FLASH_FIRMWARE_ADDRESS ;
76+ uint32_t jump_address = BinaryUpdate_getJumpAddress ();
77+ BinaryUpdate_handleBootInfo ();
78+ TEST_ASSERT_EQUAL_UINT32 (FLASH_FIRMWARE_ADDRESS , jump_address );
79+
80+ BinaryUpdate_resetJumpAddress ();
81+
82+ BinaryUpdate_checkSkipLoopFlag ();
83+
84+ BinaryUpdate_disableLoopFlag ();
85+
2486}
0 commit comments