source: trunk/libtransmission/rpc-test.c @ 6944

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

remove dead code

File size: 2.1 KB
Line 
1#include <stdio.h> /* fprintf */
2#include <string.h> /* strcmp */
3#include "transmission.h"
4#include "bencode.h"
5#include "rpcimpl.h"
6#include "utils.h"
7
8#define VERBOSE 0
9
10static int test = 0;
11
12#define check( A ) \
13    { \
14        ++test; \
15        if( A ){ \
16            if( VERBOSE ) \
17                fprintf( stderr, "PASS test #%d (%s, %d)\n", test, __FILE__,\
18                         __LINE__ );\
19        } else { \
20            if( VERBOSE ) \
21                fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__,\
22                         __LINE__ );\
23            return test; \
24        } \
25    }
26
27static int
28test_list( void )
29{
30    int64_t      i;
31    const char * str;
32    tr_benc      top;
33
34    tr_rpc_parse_list_str( &top, "12", -1 );
35    check( tr_bencIsInt( &top ) );
36    check( tr_bencGetInt( &top, &i ) );
37    check( i == 12 );
38    tr_bencFree( &top );
39
40    tr_rpc_parse_list_str( &top, "12", 1 );
41    check( tr_bencIsInt( &top ) );
42    check( tr_bencGetInt( &top, &i ) );
43    check( i == 1 );
44    tr_bencFree( &top );
45
46    tr_rpc_parse_list_str( &top, "6,7", -1 );
47    check( tr_bencIsList( &top ) );
48    check( tr_bencListSize( &top ) == 2 );
49    check( tr_bencGetInt( tr_bencListChild( &top, 0 ), &i ) );
50    check( i == 6 );
51    check( tr_bencGetInt( tr_bencListChild( &top, 1 ), &i ) );
52    check( i == 7 );
53    tr_bencFree( &top );
54
55    tr_rpc_parse_list_str( &top, "asdf", -1 );
56    check( tr_bencIsString( &top ) );
57    check( tr_bencGetStr( &top, &str ) );
58    check( !strcmp( str, "asdf" ) );
59    tr_bencFree( &top );
60
61    tr_rpc_parse_list_str( &top, "1,3-5", -1 );
62    check( tr_bencIsList( &top ) );
63    check( tr_bencListSize( &top ) == 4 );
64    check( tr_bencGetInt( tr_bencListChild( &top, 0 ), &i ) );
65    check( i == 1 );
66    check( tr_bencGetInt( tr_bencListChild( &top, 1 ), &i ) );
67    check( i == 3 );
68    check( tr_bencGetInt( tr_bencListChild( &top, 2 ), &i ) );
69    check( i == 4 );
70    check( tr_bencGetInt( tr_bencListChild( &top, 3 ), &i ) );
71    check( i == 5 );
72    tr_bencFree( &top );
73
74    return 0;
75}
76
77int
78main( void )
79{
80    int i;
81
82    if( ( i = test_list( ) ) )
83        return i;
84
85    return 0;
86}
87
Note: See TracBrowser for help on using the repository browser.