Estoy armando el test para una función de un driver, la cual llama a dos funciones de sistema que le retornarán unos datos. Funciones que voy a mockear y pretendo fingir que retornan valores que impongo yo desde test. Después de aprender cómo pasar valores tipo predefinidos en C como puede ser un int, bool, char, etc.. No veo problema en ello y puedo manejarme de forma apropiada.
TEST(RFID_Drv,RFID_DRV_GetStatus_test )
{
struct mystruct{...};
mystruct s1;
s1.a = ...;
s1.b = ...;
...
s1.n = ...;
uint32_t TEST_DATA_ROW_VALUE=15;
mock().enable();
mock().expectOneCall("HAL_AS393x_GetData").andReturnValue(TEST_DATA_ROW_VALUE);
mock().expectOneCall("HAL_AS393x_GetStatus").andReturnValue(s1); //esta llamada le devolverá unos datos (en forma de estructura)
...
}
Aquí en otra parte del archivo o bien en otro archivo tengo mis mocks().actualCall definidos para esas y otras llamadas:
uint32_t LL_TIM_GetPrescaler(TIM_TypeDef * TIMx){
mock().actualCall("LL_TIM_GetPrescaler");
return mock().unsignedIntReturnValue();
}
...
mystruct HAL_AS393x_GetStatus(void)
{
mock().actualCall("HAL_AS393x_GetData");
return mock().XXXReturnValue();
}
Me gustaría saber la sintaxis del keyword, donde XXX, a este lado del mock para pasarle una estructura ya con los campos rellenos con los valores deseados (s1).
Saludos cordiales. Gracias por la atención.