diff options
author | pvalenzuela <pvalenzuela@chromium.org> | 2015-03-23 18:04:09 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-24 01:05:07 +0000 |
commit | a2ae52554de792f33e6818883d9212bdaf6fb54b (patch) | |
tree | bc31960c89383eae40fb7eba4e424976b3629723 /sync | |
parent | e3d696a2fa3861c2cd9a23192248d9107ebd8432 (diff) | |
download | chromium_src-a2ae52554de792f33e6818883d9212bdaf6fb54b.zip chromium_src-a2ae52554de792f33e6818883d9212bdaf6fb54b.tar.gz chromium_src-a2ae52554de792f33e6818883d9212bdaf6fb54b.tar.bz2 |
Sync: Print FakeServer contents on test failure
This CL adds additional logging to the FakeServer verification methods
of FakeServerVerifier.
BUG=NONE
Review URL: https://codereview.chromium.org/1008983002
Cr-Commit-Position: refs/heads/master@{#321914}
Diffstat (limited to 'sync')
-rw-r--r-- | sync/test/fake_server/fake_server_verifier.cc | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/sync/test/fake_server/fake_server_verifier.cc b/sync/test/fake_server/fake_server_verifier.cc index 9c02075..36e172b 100644 --- a/sync/test/fake_server/fake_server_verifier.cc +++ b/sync/test/fake_server/fake_server_verifier.cc @@ -4,12 +4,14 @@ #include "sync/test/fake_server/fake_server_verifier.h" +#include "base/json/json_writer.h" #include "base/memory/scoped_ptr.h" #include "base/values.h" #include "sync/internal_api/public/base/model_type.h" #include "sync/test/fake_server/fake_server.h" #include "testing/gtest/include/gtest/gtest.h" +using base::JSONWriter; using std::string; using testing::AssertionFailure; using testing::AssertionResult; @@ -33,6 +35,18 @@ AssertionResult UnknownTypeAssertionFailure(const string& model_type) { << model_type; } +// Caller maintains ownership of |entities|. +string ConvertFakeServerContentsToString( + const base::DictionaryValue& entities) { + string entities_str; + if (!JSONWriter::WriteWithOptions(&entities, + JSONWriter::OPTIONS_PRETTY_PRINT, + &entities_str)) { + entities_str = "Could not convert FakeServer contents to string."; + } + return "FakeServer contents:\n" + entities_str; +} + } // namespace namespace fake_server { @@ -57,7 +71,9 @@ AssertionResult FakeServerVerifier::VerifyEntityCountByType( return UnknownTypeAssertionFailure(model_type_string); } else if (expected_count != entity_list->GetSize()) { return VerificationCountAssertionFailure(entity_list->GetSize(), - expected_count); + expected_count) + << "\n\n" + << ConvertFakeServerContentsToString(*entities); } return AssertionSuccess(); @@ -90,7 +106,10 @@ AssertionResult FakeServerVerifier::VerifyEntityCountByTypeAndName( return UnknownTypeAssertionFailure(model_type_string); } else if (actual_count != expected_count) { return VerificationCountAssertionFailure(actual_count, expected_count) - << "; Name: " << name; + << "; Name: " + << name + << "\n\n" + << ConvertFakeServerContentsToString(*entities); } return AssertionSuccess(); |