RecordProperty serializes ints and 64-bit ints, including size_ts

PiperOrigin-RevId: 486685761
Change-Id: I164d2646e65670d341dbf437ee571953c456677a
This commit is contained in:
Abseil Team 2022-11-07 09:36:17 -08:00 committed by Copybara-Service
parent a4f02ef389
commit 386c7665f5
3 changed files with 9 additions and 8 deletions

View File

@ -50,6 +50,7 @@
#define GOOGLETEST_INCLUDE_GTEST_GTEST_H_
#include <cstddef>
#include <cstdint>
#include <limits>
#include <memory>
#include <ostream>
@ -296,7 +297,7 @@ class GTEST_API_ Test {
// SetUp/TearDown method of Environment objects registered with Google
// Test) will be output as attributes of the <testsuites> element.
static void RecordProperty(const std::string& key, const std::string& value);
static void RecordProperty(const std::string& key, int value);
static void RecordProperty(const std::string& key, int64_t value);
protected:
// Creates a Test object.

View File

@ -2444,12 +2444,10 @@ void Test::TearDown() {}
void Test::RecordProperty(const std::string& key, const std::string& value) {
UnitTest::GetInstance()->RecordProperty(key, value);
}
// Allows user supplied key value pairs to be recorded for later output.
void Test::RecordProperty(const std::string& key, int value) {
Message value_message;
value_message << value;
RecordProperty(key, value_message.GetString().c_str());
// We do not define a customary serialization except for integers,
// but other values could be logged in this way.
void Test::RecordProperty(const std::string& key, int64_t value) {
RecordProperty(key, (Message() << value).GetString());
}
namespace internal {

View File

@ -39,5 +39,7 @@ class PropertyTwo : public testing::Test {
};
TEST_F(PropertyTwo, TestSomeProperties) {
RecordProperty("TestSomeProperty", 2);
// Validate we can write an unsigned size_t as a property
size_t prop_two = 2;
RecordProperty("TestSomeProperty", prop_two);
}