summaryrefslogtreecommitdiff
path: root/unit/util.h
blob: 27a450981e06eda5dc7b122093807ec1c2740e9b (plain)
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
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *
 *  OBEX library with GLib integration
 *
 *  Copyright (C) 2011  Intel Corporation. All rights reserved.
 *
 */

#define TEST_BUF_MAX 5

enum {
	TEST_ERROR_TIMEOUT,
	TEST_ERROR_UNEXPECTED,
};

struct test_buf {
	const void *data;
	gssize len;
};

struct test_data {
	guint count;
	GError *err;
	struct test_buf recv[TEST_BUF_MAX];
	struct test_buf send[TEST_BUF_MAX];
	guint provide_delay;
	GObex *obex;
	guint id;
	gsize total;
	guint timer_id;
	guint io_id;
	GMainLoop *mainloop;
};

#define TEST_ERROR test_error_quark()
GQuark test_error_quark(void);

void dump_bufs(const void *mem1, size_t len1, const void *mem2, size_t len2);
void assert_memequal(const void *mem1, size_t len1,
						const void *mem2, size_t len2);

GObex *create_gobex(int fd, GObexTransportType transport_type,
						gboolean close_on_unref);
void create_endpoints(GObex **obex, GIOChannel **io, int sock_type);

gboolean test_io_cb(GIOChannel *io, GIOCondition cond, gpointer user_data);
gboolean test_timeout(gpointer user_data);