summaryrefslogtreecommitdiffstats
path: root/library/std/src/io/util/tests.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /library/std/src/io/util/tests.rs
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'library/std/src/io/util/tests.rs')
-rw-r--r--library/std/src/io/util/tests.rs61
1 files changed, 1 insertions, 60 deletions
diff --git a/library/std/src/io/util/tests.rs b/library/std/src/io/util/tests.rs
index ce5e2c9da..1baa94e64 100644
--- a/library/std/src/io/util/tests.rs
+++ b/library/std/src/io/util/tests.rs
@@ -1,68 +1,9 @@
-use crate::cmp::{max, min};
use crate::io::prelude::*;
-use crate::io::{
- copy, empty, repeat, sink, BorrowedBuf, BufWriter, Empty, Repeat, Result, SeekFrom, Sink,
- DEFAULT_BUF_SIZE,
-};
+use crate::io::{empty, repeat, sink, BorrowedBuf, Empty, Repeat, SeekFrom, Sink};
use crate::mem::MaybeUninit;
#[test]
-fn copy_copies() {
- let mut r = repeat(0).take(4);
- let mut w = sink();
- assert_eq!(copy(&mut r, &mut w).unwrap(), 4);
-
- let mut r = repeat(0).take(1 << 17);
- assert_eq!(copy(&mut r as &mut dyn Read, &mut w as &mut dyn Write).unwrap(), 1 << 17);
-}
-
-struct ShortReader {
- cap: usize,
- read_size: usize,
- observed_buffer: usize,
-}
-
-impl Read for ShortReader {
- fn read(&mut self, buf: &mut [u8]) -> Result<usize> {
- let bytes = min(self.cap, self.read_size);
- self.cap -= bytes;
- self.observed_buffer = max(self.observed_buffer, buf.len());
- Ok(bytes)
- }
-}
-
-struct WriteObserver {
- observed_buffer: usize,
-}
-
-impl Write for WriteObserver {
- fn write(&mut self, buf: &[u8]) -> Result<usize> {
- self.observed_buffer = max(self.observed_buffer, buf.len());
- Ok(buf.len())
- }
-
- fn flush(&mut self) -> Result<()> {
- Ok(())
- }
-}
-
-#[test]
-fn copy_specializes_bufwriter() {
- let cap = 117 * 1024;
- let buf_sz = 16 * 1024;
- let mut r = ShortReader { cap, observed_buffer: 0, read_size: 1337 };
- let mut w = BufWriter::with_capacity(buf_sz, WriteObserver { observed_buffer: 0 });
- assert_eq!(
- copy(&mut r, &mut w).unwrap(),
- cap as u64,
- "expected the whole capacity to be copied"
- );
- assert_eq!(r.observed_buffer, buf_sz, "expected a large buffer to be provided to the reader");
- assert!(w.get_mut().observed_buffer > DEFAULT_BUF_SIZE, "expected coalesced writes");
-}
-
-#[test]
fn sink_sinks() {
let mut s = sink();
assert_eq!(s.write(&[]).unwrap(), 0);