LCOV - code coverage report
Current view: top level - testing - gtest-support.h (source / functions) Hit Total Coverage
Test: app.info Lines: 12 12 100.0 %
Date: 2019-03-21 Functions: 0 0 -

          Line data    Source code
       1             : // Copyright 2014 the V8 project authors. All rights reserved.
       2             : // Use of this source code is governed by a BSD-style license that can be
       3             : // found in the LICENSE file.
       4             : 
       5             : #ifndef V8_TESTING_GTEST_SUPPORT_H_
       6             : #define V8_TESTING_GTEST_SUPPORT_H_
       7             : 
       8             : #include "testing/gtest/include/gtest/gtest.h"
       9             : 
      10             : namespace testing {
      11             : namespace internal {
      12             : 
      13             : #define GET_TYPE_NAME(type)                \
      14             :   template <>                              \
      15             :   inline std::string GetTypeName<type>() { \
      16             :     return #type;                          \
      17             :   }
      18             : GET_TYPE_NAME(bool)
      19       61480 : GET_TYPE_NAME(signed char)
      20       61480 : GET_TYPE_NAME(unsigned char)
      21       61480 : GET_TYPE_NAME(short)
      22       61480 : GET_TYPE_NAME(unsigned short)
      23       61480 : GET_TYPE_NAME(int)
      24       61480 : GET_TYPE_NAME(unsigned int)
      25       61480 : GET_TYPE_NAME(long)
      26       61480 : GET_TYPE_NAME(unsigned long)
      27       30740 : GET_TYPE_NAME(long long)
      28       30740 : GET_TYPE_NAME(unsigned long long)
      29       21518 : GET_TYPE_NAME(float)
      30       21518 : GET_TYPE_NAME(double)
      31             : #undef GET_TYPE_NAME
      32             : 
      33             : 
      34             : // TRACED_FOREACH(type, var, container) expands to a loop that assigns |var|
      35             : // every item in the |container| and adds a SCOPED_TRACE() message for the
      36             : // |var| while inside the loop body.
      37             : #define TRACED_FOREACH(_type, _var, _container)                          \
      38             :   for (_type const _var : _container)                                    \
      39             :     for (bool _done = false; !_done;)                                    \
      40             :       for (SCOPED_TRACE(::testing::Message() << #_var << " = " << _var); \
      41             :            !_done; _done = true)
      42             : 
      43             : 
      44             : // TRACED_FORRANGE(type, var, low, high) expands to a loop that assigns |var|
      45             : // every value in the range |low| to (including) |high| and adds a
      46             : // SCOPED_TRACE() message for the |var| while inside the loop body.
      47             : // TODO(bmeurer): Migrate to C++11 once we're ready.
      48             : #define TRACED_FORRANGE(_type, _var, _low, _high)                          \
      49             :   for (_type _i = _low; _i <= _high; ++_i)                                 \
      50             :     for (bool _done = false; !_done;)                                      \
      51             :       for (_type const _var = _i; !_done;)                                 \
      52             :         for (SCOPED_TRACE(::testing::Message() << #_var << " = " << _var); \
      53             :              !_done; _done = true)
      54             : 
      55             : }  // namespace internal
      56             : }  // namespace testing
      57             : 
      58             : #endif  // V8_TESTING_GTEST_SUPPORT_H_

Generated by: LCOV version 1.10