Blame test/test-common.h

Packit Service b8eee4
/*
Packit Service b8eee4
 * Copyright © 2013 Red Hat, Inc.
Packit Service b8eee4
 *
Packit Service b8eee4
 * Permission to use, copy, modify, distribute, and sell this software and its
Packit Service b8eee4
 * documentation for any purpose is hereby granted without fee, provided that
Packit Service b8eee4
 * the above copyright notice appear in all copies and that both that copyright
Packit Service b8eee4
 * notice and this permission notice appear in supporting documentation, and
Packit Service b8eee4
 * that the name of the copyright holders not be used in advertising or
Packit Service b8eee4
 * publicity pertaining to distribution of the software without specific,
Packit Service b8eee4
 * written prior permission.  The copyright holders make no representations
Packit Service b8eee4
 * about the suitability of this software for any purpose.  It is provided "as
Packit Service b8eee4
 * is" without express or implied warranty.
Packit Service b8eee4
 *
Packit Service b8eee4
 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
Packit Service b8eee4
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
Packit Service b8eee4
 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
Packit Service b8eee4
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
Packit Service b8eee4
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
Packit Service b8eee4
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
Packit Service b8eee4
 * OF THIS SOFTWARE.
Packit Service b8eee4
 */
Packit Service b8eee4
Packit Service b8eee4
#include <config.h>
Packit Service b8eee4
#include <libevdev/libevdev.h>
Packit Service b8eee4
#include <stdbool.h>
Packit Service b8eee4
Packit Service b8eee4
#include <check.h>
Packit Service b8eee4
Packit Service b8eee4
#ifndef _TEST_COMMON_H_
Packit Service b8eee4
#define _TEST_COMMON_H_
Packit Service b8eee4
Packit Service b8eee4
struct libevdev_test {
Packit Service b8eee4
	const char *name;
Packit Service b8eee4
	Suite* (*setup)(void);
Packit Service b8eee4
	bool needs_root_privileges;
Packit Service b8eee4
} __attribute__((aligned(16)));
Packit Service b8eee4
Packit Service b8eee4
#define _TEST_SUITE(name, root_privs) \
Packit Service b8eee4
	static Suite* (name##_setup)(void); \
Packit Service b8eee4
	static const struct libevdev_test _test \
Packit Service b8eee4
	__attribute__((used)) \
Packit Service b8eee4
	__attribute__((section ("test_section"))) = { \
Packit Service b8eee4
		#name, name##_setup, root_privs \
Packit Service b8eee4
	}; \
Packit Service b8eee4
	static Suite* (name##_setup)(void)
Packit Service b8eee4
Packit Service b8eee4
#define TEST_SUITE(name) \
Packit Service b8eee4
	_TEST_SUITE(name, false)
Packit Service b8eee4
Packit Service b8eee4
#define TEST_SUITE_ROOT_PRIVILEGES(name) \
Packit Service b8eee4
	_TEST_SUITE(name, true)
Packit Service b8eee4
Packit Service b8eee4
#define TEST_DEVICE_NAME "libevdev test device"
Packit Service b8eee4
Packit Service b8eee4
#include "test-common-uinput.h"
Packit Service b8eee4
Packit Service b8eee4
void test_create_device(struct uinput_device **uidev,
Packit Service b8eee4
			struct libevdev **dev,
Packit Service b8eee4
			...);
Packit Service b8eee4
void test_create_abs_device(struct uinput_device **uidev,
Packit Service b8eee4
			    struct libevdev **dev,
Packit Service b8eee4
			    int nabs,
Packit Service b8eee4
			    const struct input_absinfo *abs,
Packit Service b8eee4
			    ...);
Packit Service b8eee4
Packit Service b8eee4
void test_logfunc_abort_on_error(enum libevdev_log_priority priority,
Packit Service b8eee4
				 void *data,
Packit Service b8eee4
				 const char *file, int line,
Packit Service b8eee4
				 const char *func,
Packit Service b8eee4
				 const char *format, va_list args);
Packit Service b8eee4
void test_logfunc_ignore_error(enum libevdev_log_priority priority,
Packit Service b8eee4
			       void *data,
Packit Service b8eee4
			       const char *file, int line,
Packit Service b8eee4
			       const char *func,
Packit Service b8eee4
			       const char *format, va_list args);
Packit Service b8eee4
#endif /* _TEST_COMMON_H_ */