mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-10-02 15:25:32 +00:00
Fix tests
This commit is contained in:
parent
05024dbd0a
commit
7eee44cdc2
@ -144,9 +144,13 @@ impl<'a> Decoder<'a> {
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn decode_string_eof(&mut self, length: usize) -> Bytes {
|
||||
let value = self.buf.slice(self.index, if length >= self.index {
|
||||
length
|
||||
pub fn decode_string_eof(&mut self, length: Option<usize>) -> Bytes {
|
||||
let value = self.buf.slice(self.index, if let Some(len) = length {
|
||||
if len >= self.index {
|
||||
len
|
||||
} else {
|
||||
self.buf.len()
|
||||
}
|
||||
} else {
|
||||
self.buf.len()
|
||||
});
|
||||
@ -181,9 +185,13 @@ impl<'a> Decoder<'a> {
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn decode_byte_eof(&mut self, length: usize) -> Bytes {
|
||||
let value = self.buf.slice(self.index, if length >= self.index {
|
||||
length
|
||||
pub fn decode_byte_eof(&mut self, length: Option<usize>) -> Bytes {
|
||||
let value = self.buf.slice(self.index, if let Some(len) = length {
|
||||
if len >= self.index {
|
||||
len
|
||||
} else {
|
||||
self.buf.len()
|
||||
}
|
||||
} else {
|
||||
self.buf.len()
|
||||
});
|
||||
@ -199,7 +207,7 @@ mod tests {
|
||||
|
||||
use super::*;
|
||||
|
||||
// [X] it_decodes_int_lenenc
|
||||
// [X] it_decodes_int_lenenc
|
||||
// [X] it_decodes_int_8
|
||||
// [X] it_decodes_int_4
|
||||
// [X] it_decodes_int_3
|
||||
@ -338,7 +346,7 @@ mod tests {
|
||||
fn it_decodes_string_eof() {
|
||||
let buf = Bytes::from(b"\x01".to_vec());
|
||||
let mut decoder = Decoder::new(&buf);
|
||||
let string: Bytes = decoder.decode_string_eof(0);
|
||||
let string: Bytes = decoder.decode_string_eof(None);
|
||||
|
||||
assert_eq!(string[0], b'\x01');
|
||||
assert_eq!(string.len(), 1);
|
||||
@ -375,9 +383,9 @@ mod tests {
|
||||
fn it_decodes_byte_eof() {
|
||||
let buf = Bytes::from(b"\x01".to_vec());
|
||||
let mut decoder = Decoder::new(&buf);
|
||||
let string: Bytes = decoder.decode_byte_eof(0);
|
||||
let string: Bytes = decoder.decode_byte_eof(None);
|
||||
|
||||
assert_eq!(string[0], b'\x01');
|
||||
assert_eq!(&string[..], b"\x01");
|
||||
assert_eq!(string.len(), 1);
|
||||
assert_eq!(decoder.index, 1);
|
||||
}
|
||||
|
@ -45,9 +45,14 @@ mod test {
|
||||
})
|
||||
.await?;
|
||||
|
||||
#[rustfmt::skip]
|
||||
let buf = __bytes_builder!(
|
||||
// int<lenenc> tag code: None
|
||||
0xFB_u8
|
||||
// int<3> length
|
||||
0u8, 0u8, 0u8,
|
||||
// int<1> seq_no
|
||||
0u8,
|
||||
// int<lenenc> tag code: None
|
||||
0xFB_u8
|
||||
);
|
||||
|
||||
let message = ColumnPacket::deserialize(&mut DeContext::new(&mut conn.context, &buf))?;
|
||||
@ -68,10 +73,16 @@ mod test {
|
||||
})
|
||||
.await?;
|
||||
|
||||
#[rustfmt::skip]
|
||||
let buf = __bytes_builder!(
|
||||
// int<lenenc> tag code: Some(3 bytes)
|
||||
0xFD_u8, // value: 3 bytes
|
||||
0x01_u8, 0x01_u8, 0x01_u8
|
||||
// int<3> length
|
||||
0u8, 0u8, 0u8,
|
||||
// int<1> seq_no
|
||||
0u8,
|
||||
// int<lenenc> tag code: Some(3 bytes)
|
||||
0xFD_u8,
|
||||
// value: 3 bytes
|
||||
0x01_u8, 0x01_u8, 0x01_u8
|
||||
);
|
||||
|
||||
let message = ColumnPacket::deserialize(&mut DeContext::new(&mut conn.context, &buf))?;
|
||||
@ -94,10 +105,14 @@ mod test {
|
||||
|
||||
#[rustfmt::skip]
|
||||
let buf = __bytes_builder!(
|
||||
// int<lenenc> tag code: Some(3 bytes)
|
||||
0xFC_u8,
|
||||
// value: 2 bytes
|
||||
0x01_u8, 0x01_u8
|
||||
// int<3> length
|
||||
0u8, 0u8, 0u8,
|
||||
// int<1> seq_no
|
||||
0u8,
|
||||
// int<lenenc> tag code: Some(3 bytes)
|
||||
0xFC_u8,
|
||||
// value: 2 bytes
|
||||
0x01_u8, 0x01_u8
|
||||
);
|
||||
|
||||
let message = ColumnPacket::deserialize(&mut DeContext::new(&mut conn.context, &buf))?;
|
||||
|
@ -25,9 +25,9 @@ impl Deserialize for EofPacket {
|
||||
|
||||
let packet_header = decoder.decode_int_1();
|
||||
|
||||
// if packet_header != 0xFE {
|
||||
// panic!("Packet header is not 0xFE for ErrPacket");
|
||||
// }
|
||||
if packet_header != 0xFE {
|
||||
panic!("Packet header is not 0xFE for ErrPacket");
|
||||
}
|
||||
|
||||
let warning_count = decoder.decode_int_2();
|
||||
let status = ServerStatusFlag::from_bits_truncate(decoder.decode_int_2());
|
||||
@ -56,16 +56,16 @@ mod test {
|
||||
|
||||
#[rustfmt::skip]
|
||||
let buf = __bytes_builder!(
|
||||
// int<3> length
|
||||
1u8, 0u8, 0u8,
|
||||
// int<1> seq_no
|
||||
1u8,
|
||||
// int<1> 0xfe : EOF header
|
||||
0xFE_u8,
|
||||
// int<2> warning count
|
||||
0u8, 0u8,
|
||||
// int<2> server status
|
||||
1u8, 1u8
|
||||
// int<3> length
|
||||
1u8, 0u8, 0u8,
|
||||
// int<1> seq_no
|
||||
1u8,
|
||||
// int<1> 0xfe : EOF header
|
||||
0xFE_u8,
|
||||
// int<2> warning count
|
||||
0u8, 0u8,
|
||||
// int<2> server status
|
||||
1u8, 1u8
|
||||
);
|
||||
|
||||
let buf = Bytes::from_static(b"\x01\0\0\x01\xFE\x00\x00\x01\x00");
|
||||
|
@ -54,9 +54,9 @@ impl Deserialize for ErrPacket {
|
||||
if decoder.buf[decoder.index] == b'#' {
|
||||
sql_state_marker = Some(decoder.decode_string_fix(1));
|
||||
sql_state = Some(decoder.decode_string_fix(5));
|
||||
error_message = Some(decoder.decode_string_eof(length as usize));
|
||||
error_message = Some(decoder.decode_string_eof(Some(length as usize)));
|
||||
} else {
|
||||
error_message = Some(decoder.decode_string_eof(length as usize));
|
||||
error_message = Some(decoder.decode_string_eof(Some(length as usize)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ impl Deserialize for OkPacket {
|
||||
let session_state_info = None;
|
||||
let value = None;
|
||||
|
||||
let info = decoder.decode_byte_eof(index + length as usize);
|
||||
let info = decoder.decode_byte_eof(Some(index + length as usize));
|
||||
|
||||
Ok(OkPacket {
|
||||
length,
|
||||
@ -82,30 +82,30 @@ mod test {
|
||||
|
||||
#[rustfmt::skip]
|
||||
let buf = __bytes_builder!(
|
||||
// int<3> length
|
||||
0u8, 0u8, 0u8,
|
||||
// // int<1> seq_no
|
||||
1u8,
|
||||
// 0x00 : OK_Packet header or (0xFE if CLIENT_DEPRECATE_EOF is set)
|
||||
0u8,
|
||||
// int<lenenc> affected rows
|
||||
0xFB_u8,
|
||||
// int<lenenc> last insert id
|
||||
0xFB_u8,
|
||||
// int<2> server status
|
||||
1u8, 1u8,
|
||||
// int<2> warning count
|
||||
0u8, 0u8,
|
||||
// if session_tracking_supported (see CLIENT_SESSION_TRACK) {
|
||||
// string<lenenc> info
|
||||
// if (status flags & SERVER_SESSION_STATE_CHANGED) {
|
||||
// string<lenenc> session state info
|
||||
// string<lenenc> value of variable
|
||||
// }
|
||||
// } else {
|
||||
// string<EOF> info
|
||||
b"info"
|
||||
// }
|
||||
// int<3> length
|
||||
0u8, 0u8, 0u8,
|
||||
// // int<1> seq_no
|
||||
1u8,
|
||||
// 0x00 : OK_Packet header or (0xFE if CLIENT_DEPRECATE_EOF is set)
|
||||
0u8,
|
||||
// int<lenenc> affected rows
|
||||
0xFB_u8,
|
||||
// int<lenenc> last insert id
|
||||
0xFB_u8,
|
||||
// int<2> server status
|
||||
1u8, 1u8,
|
||||
// int<2> warning count
|
||||
0u8, 0u8,
|
||||
// if session_tracking_supported (see CLIENT_SESSION_TRACK) {
|
||||
// string<lenenc> info
|
||||
// if (status flags & SERVER_SESSION_STATE_CHANGED) {
|
||||
// string<lenenc> session state info
|
||||
// string<lenenc> value of variable
|
||||
// }
|
||||
// } else {
|
||||
// string<EOF> info
|
||||
b"info"
|
||||
// }
|
||||
);
|
||||
|
||||
let message = OkPacket::deserialize(&mut DeContext::new(&mut conn.context, &buf))?;
|
||||
|
@ -98,7 +98,7 @@ mod test {
|
||||
|
||||
// TODO: Use byte string as input for test; this is a valid return from a mariadb.
|
||||
#[rustfmt::skip]
|
||||
let buf = __bytes_builder!(
|
||||
let buf = __bytes_builder!(
|
||||
// ------------------- //
|
||||
// Column Count packet //
|
||||
// ------------------- //
|
||||
|
Loading…
x
Reference in New Issue
Block a user