aboutsummaryrefslogtreecommitdiffstats
path: root/camel/tests/stream/test2.c
blob: 02ad88e95c8caf500c5b636f205209a97b257d4f (plain) (blame)
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
/*
  test ... camelstreammem */

#include "camel-test.h"
#include "streams.h"

#include <errno.h>
#include <sys/stat.h>
#include <unistd.h>

#include "camel/camel-stream-mem.h"

int main(int argc, char **argv)
{
    CamelSeekableStream *ss = NULL;
    int i;
    int fd = -1;
    struct stat st;
    int size;
    char buffer[1024];
    GByteArray *ba;

    camel_test_init(argc, argv);

    camel_test_start("CamelStream mem, create, seek, read, write, eos");
    for (i=0;i<3;i++) {

        push("Creating stream using method %d", i);
        switch(i) {
        case 0:
            ss = (CamelSeekableStream *)camel_stream_mem_new();
            break;
        case 1:
            ba = g_byte_array_new();
            ss = (CamelSeekableStream *)camel_stream_mem_new_with_byte_array(ba);
            break;
        case 2:
            ss = (CamelSeekableStream *)camel_stream_mem_new_with_buffer("", 0);
            break;
        }
        check(ss != NULL);

        test_stream_seekable_writepart(ss);
        test_stream_seekable_readpart(ss);

        check_unref(ss, 1);
        pull();
    }

    camel_test_end();

    return 0;
}