Revert r280137 and 280139 and subsequent build fixes
The rewrite of StringExtractor::GetHexMaxU32 changes functionality in a way which makes lldb-server crash. The crash (assert) happens when parsing the "qRegisterInfo0" packet, because the function tries to drop_front more bytes than the packet contains. It's not clear to me whether we should consider this a bug in the caller or the callee, but it any case, it worked before, so I am reverting this until we can figure out what the proper interface should be. llvm-svn: 280207
This commit is contained in:
@@ -20,6 +20,7 @@ TEST_F (StringExtractorTest, InitEmpty)
|
||||
ASSERT_STREQ (kEmptyString, ex.GetStringRef().c_str());
|
||||
ASSERT_EQ (true, ex.Empty());
|
||||
ASSERT_EQ (0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ (nullptr, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, InitMisc)
|
||||
@@ -32,7 +33,7 @@ TEST_F (StringExtractorTest, InitMisc)
|
||||
ASSERT_STREQ (kInitMiscString, ex.GetStringRef().c_str());
|
||||
ASSERT_EQ (false, ex.Empty());
|
||||
ASSERT_EQ (sizeof(kInitMiscString)-1, ex.GetBytesLeft());
|
||||
ASSERT_EQ(kInitMiscString[0], ex.PeekChar());
|
||||
ASSERT_EQ (kInitMiscString[0], *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, DecodeHexU8_Underflow)
|
||||
@@ -45,6 +46,7 @@ TEST_F (StringExtractorTest, DecodeHexU8_Underflow)
|
||||
ASSERT_EQ (0u, ex.GetFilePos());
|
||||
ASSERT_EQ (true, ex.Empty());
|
||||
ASSERT_EQ (0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ (nullptr, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, DecodeHexU8_Underflow2)
|
||||
@@ -56,7 +58,7 @@ TEST_F (StringExtractorTest, DecodeHexU8_Underflow2)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (0u, ex.GetFilePos());
|
||||
ASSERT_EQ (1u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('1', ex.PeekChar());
|
||||
ASSERT_EQ ('1', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, DecodeHexU8_InvalidHex)
|
||||
@@ -68,7 +70,7 @@ TEST_F (StringExtractorTest, DecodeHexU8_InvalidHex)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (0u, ex.GetFilePos());
|
||||
ASSERT_EQ (2u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('x', ex.PeekChar());
|
||||
ASSERT_EQ ('x', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, DecodeHexU8_InvalidHex2)
|
||||
@@ -80,7 +82,7 @@ TEST_F (StringExtractorTest, DecodeHexU8_InvalidHex2)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (0u, ex.GetFilePos());
|
||||
ASSERT_EQ (2u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('a', ex.PeekChar());
|
||||
ASSERT_EQ ('a', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, DecodeHexU8_Exact)
|
||||
@@ -92,6 +94,7 @@ TEST_F (StringExtractorTest, DecodeHexU8_Exact)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (2u, ex.GetFilePos());
|
||||
ASSERT_EQ (0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ (nullptr, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, DecodeHexU8_Extra)
|
||||
@@ -103,7 +106,7 @@ TEST_F (StringExtractorTest, DecodeHexU8_Extra)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (2u, ex.GetFilePos());
|
||||
ASSERT_EQ (2u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('3', ex.PeekChar());
|
||||
ASSERT_EQ ('3', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_Underflow)
|
||||
@@ -116,6 +119,7 @@ TEST_F (StringExtractorTest, GetHexU8_Underflow)
|
||||
ASSERT_EQ (UINT64_MAX, ex.GetFilePos());
|
||||
ASSERT_EQ (true, ex.Empty());
|
||||
ASSERT_EQ (0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ (nullptr, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_Underflow2)
|
||||
@@ -127,6 +131,7 @@ TEST_F (StringExtractorTest, GetHexU8_Underflow2)
|
||||
ASSERT_EQ (false, ex.IsGood());
|
||||
ASSERT_EQ (UINT64_MAX, ex.GetFilePos());
|
||||
ASSERT_EQ (0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ (nullptr, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_InvalidHex)
|
||||
@@ -138,6 +143,7 @@ TEST_F (StringExtractorTest, GetHexU8_InvalidHex)
|
||||
ASSERT_EQ (false, ex.IsGood());
|
||||
ASSERT_EQ (UINT64_MAX, ex.GetFilePos());
|
||||
ASSERT_EQ (0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ (nullptr, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_Exact)
|
||||
@@ -149,6 +155,7 @@ TEST_F (StringExtractorTest, GetHexU8_Exact)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (2u, ex.GetFilePos());
|
||||
ASSERT_EQ (0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ (nullptr, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_Extra)
|
||||
@@ -160,7 +167,7 @@ TEST_F (StringExtractorTest, GetHexU8_Extra)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (2u, ex.GetFilePos());
|
||||
ASSERT_EQ (2u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('3', ex.PeekChar());
|
||||
ASSERT_EQ ('3', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_Underflow_NoEof)
|
||||
@@ -174,6 +181,7 @@ TEST_F (StringExtractorTest, GetHexU8_Underflow_NoEof)
|
||||
ASSERT_EQ (UINT64_MAX, ex.GetFilePos());
|
||||
ASSERT_EQ (true, ex.Empty());
|
||||
ASSERT_EQ (0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ (nullptr, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_Underflow2_NoEof)
|
||||
@@ -186,7 +194,7 @@ TEST_F (StringExtractorTest, GetHexU8_Underflow2_NoEof)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (0u, ex.GetFilePos());
|
||||
ASSERT_EQ (1u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('1', ex.PeekChar());
|
||||
ASSERT_EQ ('1', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_InvalidHex_NoEof)
|
||||
@@ -199,7 +207,7 @@ TEST_F (StringExtractorTest, GetHexU8_InvalidHex_NoEof)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (0u, ex.GetFilePos());
|
||||
ASSERT_EQ (2u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('x', ex.PeekChar());
|
||||
ASSERT_EQ ('x', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_Exact_NoEof)
|
||||
@@ -212,6 +220,7 @@ TEST_F (StringExtractorTest, GetHexU8_Exact_NoEof)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (2u, ex.GetFilePos());
|
||||
ASSERT_EQ (0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ (nullptr, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexU8_Extra_NoEof)
|
||||
@@ -224,7 +233,7 @@ TEST_F (StringExtractorTest, GetHexU8_Extra_NoEof)
|
||||
ASSERT_EQ (true, ex.IsGood());
|
||||
ASSERT_EQ (2u, ex.GetFilePos());
|
||||
ASSERT_EQ (2u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('3', ex.PeekChar());
|
||||
ASSERT_EQ ('3', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexBytes)
|
||||
@@ -248,7 +257,7 @@ TEST_F (StringExtractorTest, GetHexBytes)
|
||||
ASSERT_EQ(2*kValidHexPairs, ex.GetFilePos());
|
||||
ASSERT_EQ(false, ex.Empty());
|
||||
ASSERT_EQ(4u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('x', ex.PeekChar());
|
||||
ASSERT_EQ('x', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F(StringExtractorTest, GetHexBytes_FullString)
|
||||
@@ -335,6 +344,7 @@ TEST_F (StringExtractorTest, GetHexBytes_Underflow)
|
||||
ASSERT_EQ(UINT64_MAX, ex.GetFilePos());
|
||||
ASSERT_EQ(false, ex.Empty());
|
||||
ASSERT_EQ(0u, ex.GetBytesLeft());
|
||||
ASSERT_EQ(0, ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexBytes_Partial)
|
||||
@@ -364,7 +374,7 @@ TEST_F (StringExtractorTest, GetHexBytes_Partial)
|
||||
ASSERT_EQ(kReadBytes*2, ex.GetFilePos());
|
||||
ASSERT_EQ(false, ex.Empty());
|
||||
ASSERT_EQ(12u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('2', ex.PeekChar());
|
||||
ASSERT_EQ('2', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexBytesAvail)
|
||||
@@ -388,7 +398,7 @@ TEST_F (StringExtractorTest, GetHexBytesAvail)
|
||||
ASSERT_EQ(2*kValidHexPairs, ex.GetFilePos());
|
||||
ASSERT_EQ(false, ex.Empty());
|
||||
ASSERT_EQ(4u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('x', ex.PeekChar());
|
||||
ASSERT_EQ('x', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F(StringExtractorTest, GetHexBytesAvail_FullString)
|
||||
@@ -471,7 +481,7 @@ TEST_F (StringExtractorTest, GetHexBytesAvail_Underflow)
|
||||
ASSERT_EQ(kValidHexPairs*2, ex.GetFilePos());
|
||||
ASSERT_EQ(false, ex.Empty());
|
||||
ASSERT_EQ(4u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('x', ex.PeekChar());
|
||||
ASSERT_EQ('x', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F (StringExtractorTest, GetHexBytesAvail_Partial)
|
||||
@@ -501,7 +511,7 @@ TEST_F (StringExtractorTest, GetHexBytesAvail_Partial)
|
||||
ASSERT_EQ(kReadBytes*2, ex.GetFilePos());
|
||||
ASSERT_EQ(false, ex.Empty());
|
||||
ASSERT_EQ(12u, ex.GetBytesLeft());
|
||||
ASSERT_EQ('2', ex.PeekChar());
|
||||
ASSERT_EQ('2', *ex.Peek());
|
||||
}
|
||||
|
||||
TEST_F(StringExtractorTest, GetNameColonValueSuccess)
|
||||
|
||||
Reference in New Issue
Block a user