File: test_utils.c

package info (click to toggle)
shadowsocks-libev 3.3.6%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,192 kB
  • sloc: ansic: 15,474; sh: 3,518; python: 452; makefile: 25
file content (76 lines) | stat: -rw-r--r-- 1,297 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include <assert.h>
#include <string.h>
#include <stdlib.h>

int verbose = 0;

#include "utils.h"

static void
test_ss_itoa(void)
{
    char *s;

    s = ss_itoa(0);
    assert(s != NULL);
    assert(strcmp(s, "0") == 0);

    s = ss_itoa(42);
    assert(s != NULL);
    assert(strcmp(s, "42") == 0);

    s = ss_itoa(-1);
    assert(s != NULL);
    assert(strcmp(s, "-1") == 0);

    s = ss_itoa(12345);
    assert(s != NULL);
    assert(strcmp(s, "12345") == 0);
    (void)s;
}

static void
test_ss_isnumeric(void)
{
    assert(ss_isnumeric("12345") == 1);
    assert(ss_isnumeric("0") == 1);
    assert(ss_isnumeric("") == 0);
    assert(ss_isnumeric("abc") == 0);
    assert(ss_isnumeric("123abc") == 0);
    assert(ss_isnumeric("12.34") == 0);
}

static void
test_ss_strndup(void)
{
    char *s;

    s = ss_strndup("hello world", 5);
    assert(s != NULL);
    assert(strcmp(s, "hello") == 0);
    assert(strlen(s) == 5);
    free(s);

    s = ss_strndup("short", 10);
    assert(s != NULL);
    assert(strcmp(s, "short") == 0);
    free(s);

    s = ss_strndup("", 0);
    assert(s != NULL);
    assert(strcmp(s, "") == 0);
    free(s);
}

int
main(void)
{
    test_ss_itoa();
    test_ss_isnumeric();
    test_ss_strndup();
    return 0;
}