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

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

(trunk) make it possible to #include "version.h" without having to add -I${TOP}/libtransmission/ to your CFLAGS

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