medit/moo/mooutils/moo-test-utils.h

81 lines
3.2 KiB
C
Raw Normal View History

/*
* moo-test-utils.h
*
* Copyright (C) 2004-2008 by Yevgen Muntyan <muntyan@tamu.edu>
*
* This file is part of medit. medit is free software; you can
* redistribute it and/or modify it under the terms of the
* GNU Lesser General Public License as published by the
* Free Software Foundation; either version 2.1 of the License,
* or (at your option) any later version.
*
* You should have received a copy of the GNU Lesser General Public
* License along with medit. If not, see <http://www.gnu.org/licenses/>.
*/
2008-01-31 01:16:57 -06:00
#ifndef MOO_TEST_UTILS_H
#define MOO_TEST_UTILS_H
#include <glib.h>
#include <string.h>
#include <stdarg.h>
2009-11-24 20:57:57 -08:00
#include <mooutils/mooutils-macros.h>
2008-01-31 01:16:57 -06:00
G_BEGIN_DECLS
typedef struct {
gpointer suite_data;
gpointer test_data;
} MooTestEnv;
2008-05-05 10:13:42 -05:00
typedef enum {
MOO_TEST_LIST_ONLY = 1 << 0
} MooTestOptions;
2008-01-31 01:16:57 -06:00
typedef struct MooTestSuite MooTestSuite;
typedef gboolean (*MooTestSuiteInit) (gpointer data);
typedef void (*MooTestSuiteCleanup) (gpointer data);
typedef void (*MooTestFunc) (MooTestEnv *env);
MooTestSuite *moo_test_suite_new (const char *name,
MooTestSuiteInit init_func,
MooTestSuiteCleanup cleanup_func,
gpointer data);
void moo_test_suite_add_test (MooTestSuite *ts,
const char *name,
MooTestFunc test_func,
gpointer data);
2008-05-05 10:13:42 -05:00
void moo_test_run_tests (const char *single_test,
const char *data_dir,
MooTestOptions opts);
2008-01-31 01:16:57 -06:00
void moo_test_cleanup (void);
gboolean moo_test_get_result (void);
2009-11-24 20:57:57 -08:00
MOO_NORETURN void moo_abort (void);
2008-01-31 01:16:57 -06:00
void moo_test_assert_impl (gboolean passed,
const char *text,
const char *filename,
int line);
void moo_test_assert_msgv (gboolean passed,
const char *file,
int line,
const char *format,
va_list args);
void moo_test_assert_msg (gboolean passed,
const char *file,
int line,
const char *format,
2008-06-08 14:54:36 -05:00
...) G_GNUC_PRINTF(4,5);
2008-01-31 01:16:57 -06:00
2008-02-10 12:56:31 -06:00
char *moo_test_load_data_file (const char *basename);
const char *moo_test_get_data_dir (void);
const char *moo_test_get_working_dir (void);
2008-01-31 01:16:57 -06:00
G_END_DECLS
#endif /* MOO_TEST_UTILS_H */