| # 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. |