Skip to content

Commit 67a6059

Browse files
committed
move tests module into separate file
1 parent 5eb88fa commit 67a6059

File tree

2 files changed

+52
-57
lines changed

2 files changed

+52
-57
lines changed

library/std/src/io/copy.rs

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -397,60 +397,4 @@ mod kernel_copy {
397397
unsafe fn fd_as_file(fd: RawFd) -> ManuallyDrop<File> {
398398
ManuallyDrop::new(File::from_raw_fd(fd))
399399
}
400-
401-
#[cfg(test)]
402-
mod tests {
403-
404-
use crate::io::{BufRead, BufReader, BufWriter, Read, Result, Seek, SeekFrom, Write};
405-
406-
#[test]
407-
fn copy_specialization() -> Result<()> {
408-
let path = crate::env::temp_dir();
409-
let source_path = path.join("copy-spec.source");
410-
let sink_path = path.join("copy-spec.sink");
411-
412-
let result: Result<()> = try {
413-
let mut source = crate::fs::OpenOptions::new()
414-
.read(true)
415-
.write(true)
416-
.create(true)
417-
.truncate(true)
418-
.open(&source_path)?;
419-
source.write_all(b"abcdefghiklmnopqr")?;
420-
source.seek(SeekFrom::Start(8))?;
421-
let mut source = BufReader::with_capacity(8, source.take(5));
422-
source.fill_buf()?;
423-
assert_eq!(source.buffer(), b"iklmn");
424-
source.get_mut().set_limit(6);
425-
source.get_mut().get_mut().seek(SeekFrom::Start(1))?; // "bcdefg"
426-
let mut source = source.take(10); // "iklmnbcdef"
427-
428-
let mut sink = crate::fs::OpenOptions::new()
429-
.read(true)
430-
.write(true)
431-
.create(true)
432-
.truncate(true)
433-
.open(&sink_path)?;
434-
sink.write_all(b"000000")?;
435-
let mut sink = BufWriter::with_capacity(5, sink);
436-
sink.write_all(b"wxyz")?;
437-
assert_eq!(sink.buffer(), b"wxyz");
438-
439-
let copied = crate::io::copy(&mut source, &mut sink)?;
440-
assert_eq!(copied, 10);
441-
assert_eq!(sink.buffer().len(), 0);
442-
443-
let mut sink = sink.into_inner()?;
444-
sink.seek(SeekFrom::Start(0))?;
445-
let mut copied = Vec::new();
446-
sink.read_to_end(&mut copied)?;
447-
assert_eq!(&copied, b"000000wxyziklmnbcdef");
448-
};
449-
450-
let rm1 = crate::fs::remove_file(source_path);
451-
let rm2 = crate::fs::remove_file(sink_path);
452-
453-
result.and(rm1).and(rm2)
454-
}
455-
}
456400
}

library/std/src/io/tests.rs

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use super::{repeat, Cursor, SeekFrom};
22
use crate::cmp::{self, min};
3-
use crate::io::prelude::*;
43
use crate::io::{self, IoSlice, IoSliceMut};
4+
use crate::io::{BufRead, BufReader, BufWriter, Read, Result, Seek, Write};
55
use crate::ops::Deref;
66

77
#[test]
@@ -492,3 +492,54 @@ fn test_write_all_vectored() {
492492
}
493493
}
494494
}
495+
496+
#[test]
497+
#[cfg(unix)]
498+
fn copy_specialization() -> Result<()> {
499+
let path = crate::env::temp_dir();
500+
let source_path = path.join("copy-spec.source");
501+
let sink_path = path.join("copy-spec.sink");
502+
503+
let result: Result<()> = try {
504+
let mut source = crate::fs::OpenOptions::new()
505+
.read(true)
506+
.write(true)
507+
.create(true)
508+
.truncate(true)
509+
.open(&source_path)?;
510+
source.write_all(b"abcdefghiklmnopqr")?;
511+
source.seek(SeekFrom::Start(8))?;
512+
let mut source = BufReader::with_capacity(8, source.take(5));
513+
source.fill_buf()?;
514+
assert_eq!(source.buffer(), b"iklmn");
515+
source.get_mut().set_limit(6);
516+
source.get_mut().get_mut().seek(SeekFrom::Start(1))?; // "bcdefg"
517+
let mut source = source.take(10); // "iklmnbcdef"
518+
519+
let mut sink = crate::fs::OpenOptions::new()
520+
.read(true)
521+
.write(true)
522+
.create(true)
523+
.truncate(true)
524+
.open(&sink_path)?;
525+
sink.write_all(b"000000")?;
526+
let mut sink = BufWriter::with_capacity(5, sink);
527+
sink.write_all(b"wxyz")?;
528+
assert_eq!(sink.buffer(), b"wxyz");
529+
530+
let copied = crate::io::copy(&mut source, &mut sink)?;
531+
assert_eq!(copied, 10);
532+
assert_eq!(sink.buffer().len(), 0);
533+
534+
let mut sink = sink.into_inner()?;
535+
sink.seek(SeekFrom::Start(0))?;
536+
let mut copied = Vec::new();
537+
sink.read_to_end(&mut copied)?;
538+
assert_eq!(&copied, b"000000wxyziklmnbcdef");
539+
};
540+
541+
let rm1 = crate::fs::remove_file(source_path);
542+
let rm2 = crate::fs::remove_file(sink_path);
543+
544+
result.and(rm1).and(rm2)
545+
}

0 commit comments

Comments
 (0)