MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
engine_testapp.h
1 /* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 #ifndef MEMCACHED_ENGINE_TESTAPP_H
3 #define MEMCACHED_ENGINE_TESTAPP_H
4 
5 #include <memcached/engine.h>
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 enum test_result {
12  SUCCESS = 11,
13  SKIPPED = 12,
14  FAIL = 13,
15  DIED = 14,
16  CORE = 15,
17  PENDING = 19,
18  TIMEOUT = 23
19 };
20 
21 struct test_harness {
22  const char *engine_path;
23  const char *default_engine_cfg;
24  ENGINE_HANDLE_V1 *(*start_engine)(const char *, const char *, bool);
25  void(*reload_engine)(ENGINE_HANDLE **, ENGINE_HANDLE_V1 **,
26  const char *, const char *, bool, bool);
27  const void *(*create_cookie)(void);
28  void (*destroy_cookie)(const void *cookie);
29  void (*set_ewouldblock_handling)(const void *cookie, bool enable);
30  void (*lock_cookie)(const void *cookie);
31  void (*unlock_cookie)(const void *cookie);
32  void (*waitfor_cookie)(const void *cookie);
33  void (*time_travel)(int offset);
34 };
35 
36 typedef struct test {
37  const char *name;
38  enum test_result(*tfun)(ENGINE_HANDLE *, ENGINE_HANDLE_V1 *);
39  bool(*test_setup)(ENGINE_HANDLE *, ENGINE_HANDLE_V1 *);
40  bool(*test_teardown)(ENGINE_HANDLE *, ENGINE_HANDLE_V1 *);
41  const char *cfg;
43 
44 typedef engine_test_t* (*GET_TESTS)(void);
45 
46 typedef bool (*SETUP_SUITE)(struct test_harness *);
47 
48 typedef bool (*TEARDOWN_SUITE)(void);
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 
54 #endif /* MEMCACHED_ENGINE_TESTAPP_H */