source: trunk/libtransmission/test-peer-id.c @ 7476

Last change on this file since 7476 was 7476, checked in by charles, 13 years ago

(trunk libT) #include "session.h" cleanup from wereHamster

  • Property svn:keywords set to Date Rev Author Id
File size: 1.0 KB
Line 
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#include "transmission.h"
5#include "session.h"
6#include "utils.h"
7
8#define VERBOSE 0
9
10#define check( A ) \
11    { \
12        ++test; \
13        if( A ){ \
14            if( VERBOSE ) \
15                fprintf( stderr, "PASS test #%d (%s, %d)\n", test, __FILE__,\
16                         __LINE__ );\
17        } else { \
18            if( VERBOSE ) \
19                fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__,\
20                         __LINE__ );\
21            return test; \
22        } \
23    }
24
25int
26main( void )
27{
28    int i;
29    int test = 0;
30
31    for( i = 0; i < 100000; ++i )
32    {
33        int       j;
34        int       val = 0;
35        uint8_t * pch = tr_peerIdNew( );
36
37        check( strlen( (char*)pch ) == 20 );
38        check( !memcmp( pch, PEERID_PREFIX, 8 ) );
39
40        for( j = 8; j < 20; ++j )
41        {
42            char tmp[2] = { pch[j], '\0' };
43            val += strtoul( tmp, NULL, 36 );
44        }
45
46        check( ( val % 36 ) == 0 );
47
48        tr_free( pch );
49    }
50
51    return 0;
52}
53
Note: See TracBrowser for help on using the repository browser.