Skip to content

Commit

Permalink
Repaired unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
htibosch committed Sep 8, 2023
1 parent 9104b2e commit f7d2e35
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 7 deletions.
12 changes: 12 additions & 0 deletions test/unit-test/FreeRTOS_IP/FreeRTOS_IP_utest.c
Original file line number Diff line number Diff line change
Expand Up @@ -2295,6 +2295,7 @@ void test_prvProcessIPPacket_ARPResolutionNotReqd_UDPZeroLength( void )

prvAllowIPPacketIPv4_ExpectAndReturn( pxIPPacket, pxNetworkBuffer, ( pxIPHeader->ucVersionHeaderLength & 0x0FU ) << 2, eProcessBuffer );
prvCheckIP4HeaderOptions_ExpectAndReturn( pxNetworkBuffer, eProcessBuffer );
xBadIPv4Loopback_ExpectAndReturn( &( pxUDPPacket->xIPHeader ), pdFALSE );

eResult = prvProcessIPPacket( pxIPPacket, pxNetworkBuffer );

Expand Down Expand Up @@ -2381,6 +2382,8 @@ void test_prvProcessIPPacket_ARPResolutionNotReqd_UDPHappyPath( void )
pxUDPPacket->xUDPHeader.usLength = FreeRTOS_ntohs( sizeof( UDPPacket_t ) );

prvAllowIPPacketIPv4_ExpectAndReturn( pxIPPacket, pxNetworkBuffer, ( pxIPHeader->ucVersionHeaderLength & 0x0FU ) << 2, eProcessBuffer );
xBadIPv4Loopback_ExpectAndReturn( &( pxUDPPacket->xIPHeader ), pdFALSE );

xProcessReceivedUDPPacket_ExpectAnyArgsAndReturn( pdPASS );

eResult = prvProcessIPPacket( pxIPPacket, pxNetworkBuffer );
Expand Down Expand Up @@ -2424,6 +2427,8 @@ void test_prvProcessIPPacket_ARPResolutionNotReqd_UDPProcessFail( void )
pxUDPPacket->xUDPHeader.usLength = FreeRTOS_ntohs( sizeof( UDPPacket_t ) );

prvAllowIPPacketIPv4_ExpectAndReturn( pxIPPacket, pxNetworkBuffer, ( pxIPHeader->ucVersionHeaderLength & 0x0FU ) << 2, eProcessBuffer );
xBadIPv4Loopback_ExpectAndReturn( &( pxUDPPacket->xIPHeader ), pdFALSE );

xProcessReceivedUDPPacket_ExpectAnyArgsAndReturn( pdFAIL );

eResult = prvProcessIPPacket( pxIPPacket, pxNetworkBuffer );
Expand Down Expand Up @@ -2470,6 +2475,8 @@ void test_prvProcessIPPacket_ARPResolutionReqd_UDP( void )
pxUDPPacket->xUDPHeader.usLength = FreeRTOS_ntohs( sizeof( UDPPacket_t ) );

prvAllowIPPacketIPv4_ExpectAndReturn( pxIPPacket, pxNetworkBuffer, ( pxIPHeader->ucVersionHeaderLength & 0x0FU ) << 2, eProcessBuffer );
xBadIPv4Loopback_ExpectAndReturn( &( pxUDPPacket->xIPHeader ), pdFALSE );

xProcessReceivedUDPPacket_ExpectAndReturn( pxNetworkBuffer, pxUDPPacket->xUDPHeader.usDestinationPort, NULL, pdFAIL );
xProcessReceivedUDPPacket_IgnoreArg_pxIsWaitingForARPResolution();
xProcessReceivedUDPPacket_ReturnThruPtr_pxIsWaitingForARPResolution( &xReturnValue );
Expand Down Expand Up @@ -2520,6 +2527,8 @@ void test_prvProcessIPPacket_ARPResolutionReqd_UDP1( void )
pxUDPPacket->xUDPHeader.usLength = FreeRTOS_ntohs( sizeof( UDPPacket_t ) );

prvAllowIPPacketIPv4_ExpectAndReturn( pxIPPacket, pxNetworkBuffer, ( pxIPHeader->ucVersionHeaderLength & 0x0FU ) << 2, eProcessBuffer );
xBadIPv4Loopback_ExpectAndReturn( &( pxUDPPacket->xIPHeader ), pdFALSE );

xProcessReceivedUDPPacket_ExpectAndReturn( pxNetworkBuffer, pxUDPPacket->xUDPHeader.usDestinationPort, NULL, pdFAIL );
xProcessReceivedUDPPacket_IgnoreArg_pxIsWaitingForARPResolution();
xProcessReceivedUDPPacket_ReturnThruPtr_pxIsWaitingForARPResolution( &xReturnValue );
Expand Down Expand Up @@ -2651,6 +2660,7 @@ void test_prvProcessIPPacket_UDP_ExternalLoopback( void )
pxIPPacket->xIPHeader.ucProtocol = ipPROTOCOL_UDP;

prvAllowIPPacketIPv4_ExpectAndReturn( pxIPPacket, pxNetworkBuffer, ( pxIPHeader->ucVersionHeaderLength & 0x0FU ) << 2, eProcessBuffer );
xBadIPv4Loopback_ExpectAndReturn( &( pxIPPacket->xIPHeader ), pdFALSE );

eResult = prvProcessIPPacket( pxIPPacket, pxNetworkBuffer );

Expand Down Expand Up @@ -2689,6 +2699,7 @@ void test_prvProcessIPPacket_UDP_GreaterLoopbackAddress( void )
pxIPPacket->xIPHeader.ucProtocol = ipPROTOCOL_UDP;

prvAllowIPPacketIPv4_ExpectAndReturn( pxIPPacket, pxNetworkBuffer, ( pxIPHeader->ucVersionHeaderLength & 0x0FU ) << 2, eProcessBuffer );
xBadIPv4Loopback_ExpectAndReturn( &( pxIPPacket->xIPHeader ), pdFALSE );

eResult = prvProcessIPPacket( pxIPPacket, pxNetworkBuffer );

Expand Down Expand Up @@ -2727,6 +2738,7 @@ void test_prvProcessIPPacket_UDP_LessLoopbackAddress( void )
pxIPPacket->xIPHeader.ucProtocol = ipPROTOCOL_UDP;

prvAllowIPPacketIPv4_ExpectAndReturn( pxIPPacket, pxNetworkBuffer, ( pxIPHeader->ucVersionHeaderLength & 0x0FU ) << 2, eProcessBuffer );
xBadIPv4Loopback_ExpectAndReturn( &( pxIPPacket->xIPHeader ), pdFALSE );

eResult = prvProcessIPPacket( pxIPPacket, pxNetworkBuffer );

Expand Down
1 change: 1 addition & 0 deletions test/unit-test/FreeRTOS_IP/ut.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ list(APPEND mock_list
"${MODULE_ROOT_DIR}/test/FreeRTOS-Kernel/include/queue.h"
"${MODULE_ROOT_DIR}/test/FreeRTOS-Kernel/include/event_groups.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/FreeRTOS_IP.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/FreeRTOS_DNS_Cache.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/FreeRTOS_IPv4.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/FreeRTOS_IPv6.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/FreeRTOS_ND.h"
Expand Down
16 changes: 10 additions & 6 deletions test/unit-test/FreeRTOS_IPv6/FreeRTOS_IPv6_utest.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ void test_prvAllowIPPacketIPv6_MulticastAddress()

memcpy( pxTCPPacket->xIPHeader.xDestinationAddress.ucBytes, xMCIPAddress.ucBytes, ipSIZE_OF_IPv6_ADDRESS );

FreeRTOS_FindEndPointOnIP_IPv6_ExpectAndReturn( &( pxTCPPacket->xIPHeader.xSourceAddress ), pxNetworkBuffer->pxEndPoint );
FreeRTOS_FindEndPointOnMAC_ExpectAndReturn( &pxTCPPacket->xEthernetHeader.xSourceAddress, NULL, NULL );
usGenerateProtocolChecksum_ExpectAndReturn( pxNetworkBuffer->pucEthernetBuffer, pxNetworkBuffer->xDataLength, pdFALSE, ipCORRECT_CRC );

Expand All @@ -136,11 +137,15 @@ void test_prvAllowIPPacketIPv6_LoopbackAddress()
eFrameProcessingResult_t eResult;
NetworkBufferDescriptor_t * pxNetworkBuffer = prvInitializeNetworkDescriptor();
TCPPacket_IPv6_t * pxTCPPacket = ( TCPPacket_IPv6_t * ) pxNetworkBuffer->pucEthernetBuffer;
NetworkEndPoint_t xEndPoint;

memcpy( pxTCPPacket->xIPHeader.xSourceAddress.ucBytes, xIPAddressFive.ucBytes, ipSIZE_OF_IPv6_ADDRESS );
memcpy( pxTCPPacket->xIPHeader.xSourceAddress.ucBytes, FreeRTOS_in6addr_loopback.ucBytes, ipSIZE_OF_IPv6_ADDRESS );
memcpy( pxTCPPacket->xIPHeader.xDestinationAddress.ucBytes, FreeRTOS_in6addr_loopback.ucBytes, ipSIZE_OF_IPv6_ADDRESS );

FreeRTOS_FindEndPointOnIP_IPv6_ExpectAndReturn( &pxTCPPacket->xIPHeader.xSourceAddress, pxNetworkBuffer->pxEndPoint );
FreeRTOS_FindEndPointOnIP_IPv6_ExpectAndReturn( &pxTCPPacket->xIPHeader.xSourceAddress, &xEndPoint );

FreeRTOS_IsNetworkUp_IgnoreAndReturn( 0 );

FreeRTOS_FindEndPointOnMAC_ExpectAndReturn( &pxTCPPacket->xEthernetHeader.xSourceAddress, NULL, NULL );
usGenerateProtocolChecksum_ExpectAndReturn( pxNetworkBuffer->pucEthernetBuffer, pxNetworkBuffer->xDataLength, pdFALSE, ipCORRECT_CRC );

Expand Down Expand Up @@ -178,16 +183,15 @@ void test_prvAllowIPPacketIPv6_LoopbackNotMatchSrc()
eFrameProcessingResult_t eResult;
NetworkBufferDescriptor_t * pxNetworkBuffer = prvInitializeNetworkDescriptor();
TCPPacket_IPv6_t * pxTCPPacket = ( TCPPacket_IPv6_t * ) pxNetworkBuffer->pucEthernetBuffer;
NetworkEndPoint_t xEndPoint;

memcpy( pxTCPPacket->xIPHeader.xDestinationAddress.ucBytes, FreeRTOS_in6addr_loopback.ucBytes, ipSIZE_OF_IPv6_ADDRESS );

FreeRTOS_FindEndPointOnIP_IPv6_ExpectAndReturn( &pxTCPPacket->xIPHeader.xSourceAddress, pxNetworkBuffer->pxEndPoint );
FreeRTOS_FindEndPointOnIP_IPv6_ExpectAndReturn( &pxTCPPacket->xIPHeader.xSourceAddress, &xEndPoint );
FreeRTOS_IsNetworkUp_IgnoreAndReturn( 0 );
FreeRTOS_FindEndPointOnMAC_ExpectAndReturn( &pxTCPPacket->xEthernetHeader.xSourceAddress, NULL, NULL );
usGenerateProtocolChecksum_ExpectAndReturn( pxNetworkBuffer->pucEthernetBuffer, pxNetworkBuffer->xDataLength, pdFALSE, ipCORRECT_CRC );

eResult = prvAllowIPPacketIPv6( &pxTCPPacket->xIPHeader, pxNetworkBuffer, 0U );
TEST_ASSERT_EQUAL( eProcessBuffer, eResult );
TEST_ASSERT_EQUAL( eReleaseBuffer, eResult );
}

/**
Expand Down
3 changes: 3 additions & 0 deletions test/unit-test/FreeRTOS_IPv6/ut.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ list(APPEND mock_list
"${MODULE_ROOT_DIR}/test/FreeRTOS-Kernel/include/queue.h"
"${MODULE_ROOT_DIR}/test/FreeRTOS-Kernel/include/event_groups.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/NetworkBufferManagement.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/FreeRTOS_IP.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/FreeRTOS_IPv6_Utils.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/FreeRTOS_IP_Private.h"
"${CMAKE_BINARY_DIR}/Annexed_TCP/FreeRTOS_Routing.h"
)

set(mock_include_list "")
Expand Down
3 changes: 2 additions & 1 deletion test/unit-test/FreeRTOS_ND/FreeRTOS_ND_utest.c
Original file line number Diff line number Diff line change
Expand Up @@ -1870,7 +1870,8 @@ void test_FreeRTOS_CreateIPv6Address_Assert1( void )
void test_FreeRTOS_CreateIPv6Address_Assert2( void )
{
IPv6_Address_t xIPAddress, xPrefix;
size_t uxPrefixLength = 8U * ipSIZE_OF_IPv6_ADDRESS;
/* The maximum allowed prefix length was increased to 128 because of the loopback address. */
size_t uxPrefixLength = 8U * ipSIZE_OF_IPv6_ADDRESS + 1;
BaseType_t xDoRandom = pdFALSE, xReturn, xIndex;

catch_assert( FreeRTOS_CreateIPv6Address( &xIPAddress, &xPrefix, uxPrefixLength, xDoRandom ) );
Expand Down
4 changes: 4 additions & 0 deletions test/unit-test/FreeRTOS_Routing/FreeRTOS_Routing_utest.c
Original file line number Diff line number Diff line change
Expand Up @@ -2656,6 +2656,8 @@ void test_xIPv6_GetIPType_Unknown()
const IPv6_Address_t xIPv6Address = { 0x12, 0x34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0x02 };
IPv6_Type_t xReturn;

xIsIPv6Loopback_ExpectAndReturn( &xIPv6Address, pdFALSE );

xReturn = xIPv6_GetIPType( &xIPv6Address );
TEST_ASSERT_EQUAL( eIPv6_Unknown, xReturn );
}
Expand Down Expand Up @@ -3453,6 +3455,8 @@ void test_FreeRTOS_MatchingEndpoint_Type()
memcpy( pxTCPPacket->xIPHeader.xSourceAddress.ucBytes, xDefaultIPAddress_IPv6.ucBytes, sizeof( IPv6_Address_t ) );
memcpy( pxTCPPacket->xIPHeader.xDestinationAddress.ucBytes, xDefaultIPAddress_IPv6.ucBytes, sizeof( IPv6_Address_t ) );

xIsIPv6Loopback_ExpectAndReturn( &( xNonGlobalIPAddress_IPv6 ), pdFALSE );

/* Query for e0. */
pxEndPoint = FreeRTOS_MatchingEndpoint( &xNetworkInterface, ( const uint8_t * ) ( pxTCPPacket ) );
TEST_ASSERT_EQUAL( &xEndPoint[ 0 ], pxEndPoint );
Expand Down

0 comments on commit f7d2e35

Please sign in to comment.