blob: dfc1ca3a8ebe900ec1dce1b3a67f856745b61afc [file]
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
*
* BlueZ - Bluetooth protocol stack for Linux
*
* Copyright (C) 2012-2014 Intel Corporation. All rights reserved.
*
*
*/
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/uio.h>
#define data(args...) ((const unsigned char[]) { args })
#define IOV_DATA(args...) \
{ \
.iov_base = (void *)data(args), \
.iov_len = sizeof(data(args)), \
}
#define IOV_NULL {}
void tester_init(int *argc, char ***argv);
int tester_run(void);
bool tester_use_quiet(void);
bool tester_use_debug(void);
void tester_print(const char *format, ...)
__attribute__((format(printf, 1, 2)));
void tester_warn(const char *format, ...)
__attribute__((format(printf, 1, 2)));
void tester_debug(const char *format, ...)
__attribute__((format(printf, 1, 2)));
void tester_monitor(char dir, uint16_t cid, uint16_t psm, const void *data,
size_t len);
typedef void (*tester_destroy_func_t)(void *user_data);
typedef void (*tester_data_func_t)(const void *test_data);
void tester_add_full(const char *name, const void *test_data,
tester_data_func_t pre_setup_func,
tester_data_func_t setup_func,
tester_data_func_t test_func,
tester_data_func_t teardown_func,
tester_data_func_t post_teardown_func,
unsigned int timeout,
void *user_data, tester_destroy_func_t destroy);
void tester_add(const char *name, const void *test_data,
tester_data_func_t setup_func,
tester_data_func_t test_func,
tester_data_func_t teardown_func);
void *tester_get_data(void);
void tester_pre_setup_complete(void);
void tester_pre_setup_failed(void);
void tester_pre_setup_abort(void);
bool tester_pre_setup_skip_by_default(void);
void tester_setup_complete(void);
void tester_setup_failed(void);
void tester_test_passed(void);
void tester_test_failed(void);
void tester_test_abort(void);
void tester_teardown_complete(void);
void tester_teardown_failed(void);
void tester_post_teardown_complete(void);
void tester_post_teardown_failed(void);
typedef void (*tester_wait_func_t)(void *user_data);
void tester_wait(unsigned int seconds, tester_wait_func_t func,
void *user_data);
struct io *tester_setup_io(const struct iovec *iov, int iovcnt);
void tester_shutdown_io(void);
void tester_io_send(void);
void tester_io_set_complete_func(tester_data_func_t func);