Files
uDCCD/firmware/tests/ut_utils/ut_fuses.c
2024-03-12 21:22:26 +02:00

80 lines
2.0 KiB
C

#include "ut_fuses.h"
#include "..\..\src\hw\board\utils\fuses.h"
static int ut_fuse_reset(fuse_t* fuse, fuse_t* exp_out_fuse)
{
printf("State:%d Timer:%d Count:%d \n", fuse->state, fuse->timer, fuse->count);
fuse_reset(fuse);
printf(" Output: State:%d Timer:%d Count:%d \n", fuse->state, fuse->timer, fuse->count);
printf("Expected: State:%d Timer:%d Count:%d \n", exp_out_fuse->state, exp_out_fuse->timer, exp_out_fuse->count);
if((fuse->state==exp_out_fuse->state)&&(fuse->timer==exp_out_fuse->timer)&&(fuse->count==exp_out_fuse->count))
{
printf("PASS\n\n");
return 1;
}
else
{
printf("FAIL\n\n");
return 0;
}
}
int ut_fuse_reset_test(void)
{
printf("******************************************************\n");
printf("void fuse_reset(fuse_t* fuse)\n");
int test_res;
int pass = 1;
fuse_t fuse;
fuse_t exp_out_fuse;
// No change test
fuse.state = FUSE_OFF;
fuse.timer = 0;
fuse.count = 0;
exp_out_fuse.state = FUSE_OFF;
exp_out_fuse.timer = 0;
exp_out_fuse.count = 0;
test_res = ut_fuse_reset(&fuse, &exp_out_fuse);
if(!test_res) pass = 0;
// No change test
fuse.state = FUSE_ACTIVE;
fuse.timer = 1254;
fuse.count = 124;
exp_out_fuse.state = FUSE_OFF;
exp_out_fuse.timer = 0;
exp_out_fuse.count = 0;
test_res = ut_fuse_reset(&fuse, &exp_out_fuse);
if(!test_res) pass = 0;
// No change test
fuse.state = FUSE_COOLDOWN;
fuse.timer = 4578;
fuse.count = 14;
exp_out_fuse.state = FUSE_OFF;
exp_out_fuse.timer = 0;
exp_out_fuse.count = 0;
test_res = ut_fuse_reset(&fuse, &exp_out_fuse);
if(!test_res) pass = 0;
// No change test
fuse.state = FUSE_RETRY;
fuse.timer = 0;
fuse.count = 0;
exp_out_fuse.state = FUSE_OFF;
exp_out_fuse.timer = 0;
exp_out_fuse.count = 0;
test_res = ut_fuse_reset(&fuse, &exp_out_fuse);
if(!test_res) pass = 0;
return pass;
}