File: test.h

package info (click to toggle)
mysql-admin 1.2.5rc-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 80,944 kB
  • ctags: 43,103
  • sloc: sql: 295,916; pascal: 256,535; cpp: 74,487; ansic: 68,881; objc: 26,417; sh: 16,867; yacc: 10,755; java: 9,917; xml: 8,453; php: 2,806; python: 2,068; makefile: 1,252; perl: 3
file content (68 lines) | stat: -rw-r--r-- 1,808 bytes parent folder | download | duplicates (4)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef _TEST_H_
#define _TEST_H_

#include <string.h>
#include <string>

#include "tut.h"

#include "test_helpers.h"

#include "tut_helpers.h"

#include "tcp_helpers.h"

#define __TOSTR(c) ___TOSTR(c)
#define ___TOSTR(c) #c

#define BEGIN_TEST_DATA_CLASS(module)   \
   namespace tut {                      \
   class module;                        \
   template<> class Test_object_base<module> {  \

#define TEST_DATA_CONSTRUCTOR(module)   \
  Test_object_base<module>()

#define TEST_DATA_DESTRUCTOR(module)   \
  ~Test_object_base<module>()

#define END_TEST_DATA_CLASS };}

#define TEST_MODULE(module, moddesc)  \
  namespace tut {\
  class module {}; \
  typedef Test_group<module>::object Test_object; \
  static Test_group<module> test_group_singleton(&test_params, __TOSTR(module), moddesc);

#define DISABLED_TEST_MODULE(module, moddesc)  \
  namespace tut {\
  class module {}; \
  typedef Test_group<module>::object Test_object; \
  static Test_group<void> test_group_singleton(&test_params, __TOSTR(module)" [DISABLED]", moddesc);

#define TEST_FUNCTION(number) \
  template<>  \
  template<>  \
  void Test_object::test<number>()

#ifdef _WINDOWS
#define DIR_DELIMITER  '\\'
#else
#define DIR_DELIMITER  '/'
#endif

#define __LOCATION (strrchr(__FILE__":"__TOSTR(__LINE__), DIR_DELIMITER)+1)

#define ensure(text, test) ensure(std::string(__LOCATION).append(": ").append(text).c_str(), (test))
#define ensure_equals(text, v1, v2) ensure_equals(std::string(__LOCATION).append(": ").append(text).c_str(), (v1), (v2))

extern Global_test_parameters *test_params;


// these are needed because g++ complains something about stuff being
// defined in different namespace than declaration
#define END_TESTS }


#endif // _TEST_H_