Improves documentation on gtest's macros.
Adds script to automate releasing new version of wiki docs.
This commit is contained in:
@@ -30,8 +30,11 @@
|
||||
// Authors: wan@google.com (Zhanyong Wan)
|
||||
//
|
||||
// Low-level types and utilities for porting Google Test to various
|
||||
// platforms. They are subject to change without notice. DO NOT USE
|
||||
// THEM IN USER CODE.
|
||||
// platforms. All macros ending with _ and symbols defined in an
|
||||
// internal namespace are subject to change without notice. Code
|
||||
// outside Google Test MUST NOT USE THEM DIRECTLY. Macros that don't
|
||||
// end with _ are part of Google Test's public API and can be used by
|
||||
// code outside Google Test.
|
||||
//
|
||||
// This file is fundamental to Google Test. All other Google Test source
|
||||
// files are expected to #include this. Therefore, it cannot #include
|
||||
@@ -40,9 +43,30 @@
|
||||
#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_
|
||||
#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_
|
||||
|
||||
// The user can define the following macros in the build script to
|
||||
// control Google Test's behavior. If the user doesn't define a macro
|
||||
// in this list, Google Test will define it.
|
||||
// Environment-describing macros
|
||||
// -----------------------------
|
||||
//
|
||||
// Google Test can be used in many different environments. Macros in
|
||||
// this section tell Google Test what kind of environment it is being
|
||||
// used in, such that Google Test can provide environment-specific
|
||||
// features and implementations.
|
||||
//
|
||||
// Google Test tries to automatically detect the properties of its
|
||||
// environment, so users usually don't need to worry about these
|
||||
// macros. However, the automatic detection is not perfect.
|
||||
// Sometimes it's necessary for a user to define some of the following
|
||||
// macros in the build script to override Google Test's decisions.
|
||||
//
|
||||
// If the user doesn't define a macro in the list, Google Test will
|
||||
// provide a default definition. After this header is #included, all
|
||||
// macros in this list will be defined to either 1 or 0.
|
||||
//
|
||||
// Notes to maintainers:
|
||||
// - Each macro here is a user-tweakable knob; do not grow the list
|
||||
// lightly.
|
||||
// - Use #if to key off these macros. Don't use #ifdef or "#if
|
||||
// defined(...)", which will not work as these macros are ALWAYS
|
||||
// defined.
|
||||
//
|
||||
// GTEST_HAS_CLONE - Define it to 1/0 to indicate that clone(2)
|
||||
// is/isn't available.
|
||||
@@ -86,10 +110,15 @@
|
||||
// - Define to 1 when compiling Google Test itself
|
||||
// as a shared library.
|
||||
|
||||
// This header defines the following utilities:
|
||||
// Platform-indicating macros
|
||||
// --------------------------
|
||||
//
|
||||
// Macros indicating the platform on which Google Test is being used
|
||||
// (a macro is defined to 1 if compiled on the given platform;
|
||||
// otherwise UNDEFINED -- it's never defined to 0.). Google Test
|
||||
// defines these macros automatically. Code outside Google Test MUST
|
||||
// NOT define them.
|
||||
//
|
||||
// Macros indicating the current platform (defined to 1 if compiled on
|
||||
// the given platform; otherwise undefined):
|
||||
// GTEST_OS_AIX - IBM AIX
|
||||
// GTEST_OS_CYGWIN - Cygwin
|
||||
// GTEST_OS_HPUX - HP-UX
|
||||
@@ -116,22 +145,50 @@
|
||||
// googletestframework@googlegroups.com (patches for fixing them are
|
||||
// even more welcome!).
|
||||
//
|
||||
// Note that it is possible that none of the GTEST_OS_* macros are defined.
|
||||
// It is possible that none of the GTEST_OS_* macros are defined.
|
||||
|
||||
// Feature-indicating macros
|
||||
// -------------------------
|
||||
//
|
||||
// Macros indicating which Google Test features are available (a macro
|
||||
// is defined to 1 if the corresponding feature is supported;
|
||||
// otherwise UNDEFINED -- it's never defined to 0.). Google Test
|
||||
// defines these macros automatically. Code outside Google Test MUST
|
||||
// NOT define them.
|
||||
//
|
||||
// These macros are public so that portable tests can be written.
|
||||
// Such tests typically surround code using a feature with an #if
|
||||
// which controls that code. For example:
|
||||
//
|
||||
// #if GTEST_HAS_DEATH_TEST
|
||||
// EXPECT_DEATH(DoSomethingDeadly());
|
||||
// #endif
|
||||
//
|
||||
// Macros indicating available Google Test features (defined to 1 if
|
||||
// the corresponding feature is supported; otherwise undefined):
|
||||
// GTEST_HAS_COMBINE - the Combine() function (for value-parameterized
|
||||
// tests)
|
||||
// GTEST_HAS_DEATH_TEST - death tests
|
||||
// GTEST_HAS_PARAM_TEST - value-parameterized tests
|
||||
// GTEST_HAS_TYPED_TEST - typed tests
|
||||
// GTEST_HAS_TYPED_TEST_P - type-parameterized tests
|
||||
// GTEST_IS_THREADSAFE - Google Test is thread-safe.
|
||||
// GTEST_USES_POSIX_RE - enhanced POSIX regex is used. Do not confuse with
|
||||
// GTEST_HAS_POSIX_RE (see above) which users can
|
||||
// define themselves.
|
||||
// GTEST_USES_SIMPLE_RE - our own simple regex is used;
|
||||
// the above two are mutually exclusive.
|
||||
// GTEST_CAN_COMPARE_NULL - accepts untyped NULL in EXPECT_EQ().
|
||||
|
||||
// Misc public macros
|
||||
// ------------------
|
||||
//
|
||||
// GTEST_FLAG(flag_name) - references the variable corresponding to
|
||||
// the given Google Test flag.
|
||||
|
||||
// Internal utilities
|
||||
// ------------------
|
||||
//
|
||||
// The following macros and utilities are for Google Test's INTERNAL
|
||||
// use only. Code outside Google Test MUST NOT USE THEM DIRECTLY.
|
||||
//
|
||||
// Macros for basic C++ coding:
|
||||
// GTEST_AMBIGUOUS_ELSE_BLOCKER_ - for disabling a gcc warning.
|
||||
@@ -143,10 +200,7 @@
|
||||
//
|
||||
// Synchronization:
|
||||
// Mutex, MutexLock, ThreadLocal, GetThreadCount()
|
||||
// - synchronization primitives.
|
||||
// GTEST_IS_THREADSAFE - defined to 1 to indicate that the above
|
||||
// synchronization primitives have real implementations
|
||||
// and Google Test is thread-safe; or 0 otherwise.
|
||||
// - synchronization primitives.
|
||||
//
|
||||
// Template meta programming:
|
||||
// is_pointer - as in TR1; needed on Symbian and IBM XL C/C++ only.
|
||||
@@ -182,7 +236,6 @@
|
||||
// BiggestInt - the biggest signed integer type.
|
||||
//
|
||||
// Command-line utilities:
|
||||
// GTEST_FLAG() - references a flag.
|
||||
// GTEST_DECLARE_*() - declares a flag.
|
||||
// GTEST_DEFINE_*() - defines a flag.
|
||||
// GetInjectableArgvs() - returns the command line as a vector of strings.
|
||||
|
||||
Reference in New Issue
Block a user