Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Unified Diff: net/socket/socket_test_util.cc

Issue 10795012: Modify DeterministicSocketData to verify that the sequence number of reads and writes start at zero… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/socket/socket_test_util.cc
diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc
index ef6d38c2e6c5c67955e5ebb45140ccfdfc32102a..1f58b421220401a43586a6cb78a1171097392c74 100644
--- a/net/socket/socket_test_util.cc
+++ b/net/socket/socket_test_util.cc
@@ -163,6 +163,22 @@ StaticSocketDataProvider::StaticSocketDataProvider(MockRead* reads,
write_count_(writes_count) {
}
+StaticSocketDataProvider::StaticSocketDataProvider(
+ bool verify_sequence_numbers,
+ MockRead* reads,
+ size_t reads_count,
+ MockWrite* writes,
+ size_t writes_count)
+ : reads_(reads),
+ read_index_(0),
+ read_count_(reads_count),
+ writes_(writes),
+ write_index_(0),
+ write_count_(writes_count) {
+ if (verify_sequence_numbers)
+ VerifyCorrectSequenceNumbers();
+}
+
StaticSocketDataProvider::~StaticSocketDataProvider() {}
const MockRead& StaticSocketDataProvider::PeekRead() const {
@@ -227,6 +243,30 @@ void StaticSocketDataProvider::Reset() {
write_index_ = 0;
}
+void StaticSocketDataProvider::VerifyCorrectSequenceNumbers() {
+ size_t read = 0;
+ size_t write = 0;
+ int expected = 0;
+ while (read < read_count_ || write < write_count_) {
+ // Check to see that we have a read or write at the expected
+ // state.
+ if (read < read_count_ && reads_[read].sequence_number == expected) {
+ ++read;
+ ++expected;
+ continue;
+ }
+ if (write < write_count_ && writes_[write].sequence_number == expected) {
+ ++write;
+ ++expected;
+ continue;
+ }
+ EXPECT_TRUE(false) << "Missing sequence number: " << expected;
+ return;
+ }
+ EXPECT_EQ(read, read_count_);
+ EXPECT_EQ(write, write_count_);
Ryan Sleevi 2012/07/18 18:02:13 Rather than EXPECT_TRUE(false) [which is really AD
Ryan Hamilton 2012/07/18 18:45:06 Done. Fair enough. Using EXPECT happened to be s
+}
+
DynamicSocketDataProvider::DynamicSocketDataProvider()
: short_read_limit_(0),
allow_unconsumed_reads_(false) {
@@ -443,7 +483,7 @@ OrderedSocketData::~OrderedSocketData() {}
DeterministicSocketData::DeterministicSocketData(MockRead* reads,
size_t reads_count, MockWrite* writes, size_t writes_count)
- : StaticSocketDataProvider(reads, reads_count, writes, writes_count),
+ : StaticSocketDataProvider(true, reads, reads_count, writes, writes_count),
sequence_number_(0),
current_read_(),
current_write_(),

Powered by Google App Engine
This is Rietveld 408576698