Example #1
0
int main(int argc, char *argv[])
{
    int i;
    int j;
    int len;
    uint16_t crc16a;
    uint16_t crc16b;

    printf("CRC module tests\n");

    /* TODO: This doesn't check every function in the module */
    
    /* Try a few random messages through the CRC logic. */
    printf("Testing the CRC-16 routines\n");
    for (i = 0;  i < 100;  i++)
    {
        ref_len = cook_up_msg(buf);
        len = crc_itu16_append(buf, ref_len);
        if (!crc_itu16_check(buf, len))
        {
            printf("CRC-16 failure\n");
            exit(2);
        }
    }
    printf("Test passed.\n\n");
    
    printf("Testing the CRC-16 byte by byte and bit by bit routines\n");
    for (i = 0;  i < 100;  i++)
    {
        ref_len = cook_up_msg(buf);
        crc16a = 0xFFFF;
        crc16a = crc_itu16_calc(buf, ref_len, crc16a);

        crc16b = 0xFFFF;
        for (j = 0;  j < ref_len;  j++)
            crc16b = crc_itu16_bits(buf[j], 8, crc16b);
        if (crc16a != crc16b)
        {
            printf("CRC-16 failure\n");
            exit(2);
        }
    }
    printf("Test passed.\n\n");
    
    printf("Testing the CRC-32 routines\n");
    for (i = 0;  i < 100;  i++)
    {
        ref_len = cook_up_msg(buf);
        len = crc_itu32_append(buf, ref_len);
        if (!crc_itu32_check(buf, len))
        {
            printf("CRC-32 failure\n");
            exit(2);
        }
    }
    printf("Test passed.\n");
    return  0;
}
Example #2
0
int main(int argc, char *argv[])
{
    int i;
    int len;

    printf("HDLC module tests\n");

    /* TODO: This doesn't check every function in the module */
    
    /* Try a few random messages through the CRC logic. */
    printf("Testing the CRC-16 routines\n");
    for (i = 0;  i < 100;  i++)
    {
        ref_len = cook_up_msg(buf);
        len = crc_itu16_append(buf, ref_len);
        if (!crc_itu16_check(buf, len))
        {
            printf("CRC-16 failure\n");
            exit(2);
        }
    }
    printf("Test passed.\n\n");
    
    printf("Testing the CRC-32 routines\n");
    for (i = 0;  i < 100;  i++)
    {
        ref_len = cook_up_msg(buf);
        len = crc_itu32_append(buf, ref_len);
        if (!crc_itu32_check(buf, len))
        {
            printf("CRC-32 failure\n");
            exit(2);
        }
    }
    printf("Test passed.\n");
    return  0;
}