OLD | NEW |
(Empty) | |
| 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 "include/v8stdint.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 |
| 11 namespace testing { |
| 12 namespace internal { |
| 13 |
| 14 #define GET_TYPE_NAME(type) \ |
| 15 template <> \ |
| 16 inline std::string GetTypeName<type>() { \ |
| 17 return #type; \ |
| 18 } |
| 19 GET_TYPE_NAME(int8_t) |
| 20 GET_TYPE_NAME(uint8_t) |
| 21 GET_TYPE_NAME(int16_t) |
| 22 GET_TYPE_NAME(uint16_t) |
| 23 GET_TYPE_NAME(int32_t) |
| 24 GET_TYPE_NAME(uint32_t) |
| 25 GET_TYPE_NAME(int64_t) |
| 26 GET_TYPE_NAME(uint64_t) |
| 27 GET_TYPE_NAME(float) |
| 28 GET_TYPE_NAME(double) |
| 29 #undef GET_TYPE_NAME |
| 30 |
| 31 |
| 32 // TRACED_FOREACH(type, var, array) expands to a loop that assigns |var| every |
| 33 // item in the |array| and adds a SCOPED_TRACE() message for the |var| while |
| 34 // inside the loop body. |
| 35 // TODO(bmeurer): Migrate to C++11 once we're ready. |
| 36 #define TRACED_FOREACH(_type, _var, _array) \ |
| 37 for (size_t _i = 0; _i < ARRAY_SIZE(_array); ++_i) \ |
| 38 for (bool _done = false; !_done;) \ |
| 39 for (const _type _var = _array[_i]; !_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 (const _type _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_ |
OLD | NEW |