Cómo retornar una struct desde un mock y cómo pasársela desde el test por expectoneCall

11 views
Skip to first unread message

Geni Suarez

unread,
Dec 21, 2016, 8:58:29 AM12/21/16
to Embebidos32
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.
Reply all
Reply to author
Forward
0 new messages