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

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

(trunk libT) fix some code that the newly-added gcc warnings didn't like

  • Property svn:keywords set to Date Rev Author Id
File size: 1.2 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#undef VERBOSE
9
10#ifdef VERBOSE
11  #define check( A ) \
12    { \
13        ++test; \
14        if( A ){ \
15            fprintf( stderr, "PASS test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
16        } else { \
17            fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
18            return test; \
19        } \
20    }
21#else
22  #define check( A ) \
23    { \
24        ++test; \
25        if( !( A ) ){ \
26            fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
27            return test; \
28        } \
29    }
30#endif
31
32int
33main( void )
34{
35    int i;
36    int test = 0;
37
38    for( i = 0; i < 100000; ++i )
39    {
40        int       j;
41        int       val = 0;
42        uint8_t * pch = tr_peerIdNew( );
43
44        check( strlen( (char*)pch ) == 20 );
45        check( !memcmp( pch, PEERID_PREFIX, 8 ) );
46
47        for( j = 8; j < 20; ++j )
48        {
49            char tmp[2] = { pch[j], '\0' };
50            val += strtoul( tmp, NULL, 36 );
51        }
52
53        check( ( val % 36 ) == 0 );
54
55        tr_free( pch );
56    }
57
58    return 0;
59}
60
Note: See TracBrowser for help on using the repository browser.