summaryrefslogtreecommitdiffstats
path: root/googletest/include/gtest/internal/custom/README.md
blob: 3a2b8855102a2bd592005b12c90500c43bee232c (plain)
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
# Customization Points

The custom directory is an injection point for custom user configurations.

## Header gtest.h

### The following macros can be defined:

*   `GTEST_OS_STACK_TRACE_GETTER_` - The name of an implementation of
    OsStackTraceGetterInterface.
*   `GTEST_CUSTOM_TEMPDIR_FUNCTION_` - An override for testing::TempDir(). See
    testing::TempDir for semantics and signature.

## Header gtest-port.h

The following macros can be defined:

### Flag related macros:

*   `GTEST_FLAG(flag_name)`
*   `GTEST_USE_OWN_FLAGFILE_FLAG_` - Define to 0 when the system provides its
    own flagfile flag parsing.
*   `GTEST_DECLARE_bool_(name)`
*   `GTEST_DECLARE_int32_(name)`
*   `GTEST_DECLARE_string_(name)`
*   `GTEST_DEFINE_bool_(name, default_val, doc)`
*   `GTEST_DEFINE_int32_(name, default_val, doc)`
*   `GTEST_DEFINE_string_(name, default_val, doc)`

### Logging:

*   `GTEST_LOG_(severity)`
*   `GTEST_CHECK_(condition)`
*   Functions `LogToStderr()` and `FlushInfoLog()` have to be provided too.

### Threading:

*   `GTEST_HAS_NOTIFICATION_` - Enabled if Notification is already provided.
*   `GTEST_HAS_MUTEX_AND_THREAD_LOCAL_` - Enabled if Mutex and ThreadLocal are
    already provided. Must also provide `GTEST_DECLARE_STATIC_MUTEX_(mutex)` and
    `GTEST_DEFINE_STATIC_MUTEX_(mutex)`
*   `GTEST_EXCLUSIVE_LOCK_REQUIRED_(locks)`
*   `GTEST_LOCK_EXCLUDED_(locks)`

### Underlying library support features

*   `GTEST_HAS_CXXABI_H_`

### Exporting API symbols:

*   `GTEST_API_` - Specifier for exported symbols.

## Header gtest-printers.h

*   See documentation at gtest/gtest-printers.h for details on how to define a
    custom printer.