Skip to content

Commit 209642c

Browse files
committed
std: Fix tests with io_error usage
1 parent 29e7247 commit 209642c

File tree

21 files changed

+568
-700
lines changed

21 files changed

+568
-700
lines changed

src/libstd/comm/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1252,7 +1252,7 @@ mod test {
12521252
spawn(proc() {
12531253
let _p = port;
12541254
});
1255-
task::try(proc() {
1255+
let _ = task::try(proc() {
12561256
chan.send(1);
12571257
});
12581258
}

src/libstd/io/buffered.rs

Lines changed: 55 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ impl<R: Reader> BufferedReader<R> {
8888

8989
impl<R: Reader> Buffer for BufferedReader<R> {
9090
fn fill<'a>(&'a mut self) -> IoResult<&'a [u8]> {
91-
while self.pos == self.cap {
91+
if self.pos == self.cap {
9292
self.cap = if_ok!(self.inner.read(self.buf));
9393
self.pos = 0;
9494
}
@@ -360,13 +360,13 @@ mod test {
360360
pub struct NullStream;
361361

362362
impl Reader for NullStream {
363-
fn read(&mut self, _: &mut [u8]) -> Option<uint> {
364-
None
363+
fn read(&mut self, _: &mut [u8]) -> io::IoResult<uint> {
364+
Err(io::standard_error(io::EndOfFile))
365365
}
366366
}
367367

368368
impl Writer for NullStream {
369-
fn write(&mut self, _: &[u8]) { }
369+
fn write(&mut self, _: &[u8]) -> io::IoResult<()> { Ok(()) }
370370
}
371371

372372
/// A dummy reader intended at testing short-reads propagation.
@@ -375,8 +375,11 @@ mod test {
375375
}
376376

377377
impl Reader for ShortReader {
378-
fn read(&mut self, _: &mut [u8]) -> Option<uint> {
379-
self.lengths.shift()
378+
fn read(&mut self, _: &mut [u8]) -> io::IoResult<uint> {
379+
match self.lengths.shift() {
380+
Some(i) => Ok(i),
381+
None => Err(io::standard_error(io::EndOfFile))
382+
}
380383
}
381384
}
382385

@@ -387,68 +390,68 @@ mod test {
387390

388391
let mut buf = [0, 0, 0];
389392
let nread = reader.read(buf);
390-
assert_eq!(Some(2), nread);
393+
assert_eq!(Ok(2), nread);
391394
assert_eq!([0, 1, 0], buf);
392395

393396
let mut buf = [0];
394397
let nread = reader.read(buf);
395-
assert_eq!(Some(1), nread);
398+
assert_eq!(Ok(1), nread);
396399
assert_eq!([2], buf);
397400

398401
let mut buf = [0, 0, 0];
399402
let nread = reader.read(buf);
400-
assert_eq!(Some(1), nread);
403+
assert_eq!(Ok(1), nread);
401404
assert_eq!([3, 0, 0], buf);
402405

403406
let nread = reader.read(buf);
404-
assert_eq!(Some(1), nread);
407+
assert_eq!(Ok(1), nread);
405408
assert_eq!([4, 0, 0], buf);
406409

407-
assert_eq!(None, reader.read(buf));
410+
assert!(reader.read(buf).is_err());
408411
}
409412

410413
#[test]
411414
fn test_buffered_writer() {
412415
let inner = MemWriter::new();
413416
let mut writer = BufferedWriter::with_capacity(2, inner);
414417

415-
writer.write([0, 1]);
418+
writer.write([0, 1]).unwrap();
416419
assert_eq!([], writer.get_ref().get_ref());
417420

418-
writer.write([2]);
421+
writer.write([2]).unwrap();
419422
assert_eq!([0, 1], writer.get_ref().get_ref());
420423

421-
writer.write([3]);
424+
writer.write([3]).unwrap();
422425
assert_eq!([0, 1], writer.get_ref().get_ref());
423426

424-
writer.flush();
427+
writer.flush().unwrap();
425428
assert_eq!([0, 1, 2, 3], writer.get_ref().get_ref());
426429

427-
writer.write([4]);
428-
writer.write([5]);
430+
writer.write([4]).unwrap();
431+
writer.write([5]).unwrap();
429432
assert_eq!([0, 1, 2, 3], writer.get_ref().get_ref());
430433

431-
writer.write([6]);
434+
writer.write([6]).unwrap();
432435
assert_eq!([0, 1, 2, 3, 4, 5],
433436
writer.get_ref().get_ref());
434437

435-
writer.write([7, 8]);
438+
writer.write([7, 8]).unwrap();
436439
assert_eq!([0, 1, 2, 3, 4, 5, 6],
437440
writer.get_ref().get_ref());
438441

439-
writer.write([9, 10, 11]);
442+
writer.write([9, 10, 11]).unwrap();
440443
assert_eq!([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
441444
writer.get_ref().get_ref());
442445

443-
writer.flush();
446+
writer.flush().unwrap();
444447
assert_eq!([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
445448
writer.get_ref().get_ref());
446449
}
447450

448451
#[test]
449452
fn test_buffered_writer_inner_flushes() {
450453
let mut w = BufferedWriter::with_capacity(3, MemWriter::new());
451-
w.write([0, 1]);
454+
w.write([0, 1]).unwrap();
452455
assert_eq!([], w.get_ref().get_ref());
453456
let w = w.unwrap();
454457
assert_eq!([0, 1], w.get_ref());
@@ -461,47 +464,49 @@ mod test {
461464
struct S;
462465

463466
impl io::Writer for S {
464-
fn write(&mut self, _: &[u8]) {}
467+
fn write(&mut self, _: &[u8]) -> io::IoResult<()> { Ok(()) }
465468
}
466469

467470
impl io::Reader for S {
468-
fn read(&mut self, _: &mut [u8]) -> Option<uint> { None }
471+
fn read(&mut self, _: &mut [u8]) -> io::IoResult<uint> {
472+
Err(io::standard_error(io::EndOfFile))
473+
}
469474
}
470475

471476
let mut stream = BufferedStream::new(S);
472477
let mut buf = [];
473-
stream.read(buf);
474-
stream.write(buf);
475-
stream.flush();
478+
assert!(stream.read(buf).is_err());
479+
stream.write(buf).unwrap();
480+
stream.flush().unwrap();
476481
}
477482

478483
#[test]
479484
fn test_read_until() {
480485
let inner = MemReader::new(~[0, 1, 2, 1, 0]);
481486
let mut reader = BufferedReader::with_capacity(2, inner);
482-
assert_eq!(reader.read_until(0), Some(~[0]));
483-
assert_eq!(reader.read_until(2), Some(~[1, 2]));
484-
assert_eq!(reader.read_until(1), Some(~[1]));
485-
assert_eq!(reader.read_until(8), Some(~[0]));
486-
assert_eq!(reader.read_until(9), None);
487+
assert_eq!(reader.read_until(0), Ok(~[0]));
488+
assert_eq!(reader.read_until(2), Ok(~[1, 2]));
489+
assert_eq!(reader.read_until(1), Ok(~[1]));
490+
assert_eq!(reader.read_until(8), Ok(~[0]));
491+
assert!(reader.read_until(9).is_err());
487492
}
488493

489494
#[test]
490495
fn test_line_buffer() {
491496
let mut writer = LineBufferedWriter::new(MemWriter::new());
492-
writer.write([0]);
497+
writer.write([0]).unwrap();
493498
assert_eq!(writer.get_ref().get_ref(), []);
494-
writer.write([1]);
499+
writer.write([1]).unwrap();
495500
assert_eq!(writer.get_ref().get_ref(), []);
496-
writer.flush();
501+
writer.flush().unwrap();
497502
assert_eq!(writer.get_ref().get_ref(), [0, 1]);
498-
writer.write([0, '\n' as u8, 1, '\n' as u8, 2]);
503+
writer.write([0, '\n' as u8, 1, '\n' as u8, 2]).unwrap();
499504
assert_eq!(writer.get_ref().get_ref(),
500505
[0, 1, 0, '\n' as u8, 1, '\n' as u8]);
501-
writer.flush();
506+
writer.flush().unwrap();
502507
assert_eq!(writer.get_ref().get_ref(),
503508
[0, 1, 0, '\n' as u8, 1, '\n' as u8, 2]);
504-
writer.write([3, '\n' as u8]);
509+
writer.write([3, '\n' as u8]).unwrap();
505510
assert_eq!(writer.get_ref().get_ref(),
506511
[0, 1, 0, '\n' as u8, 1, '\n' as u8, 2, 3, '\n' as u8]);
507512
}
@@ -510,10 +515,10 @@ mod test {
510515
fn test_read_line() {
511516
let in_buf = MemReader::new(bytes!("a\nb\nc").to_owned());
512517
let mut reader = BufferedReader::with_capacity(2, in_buf);
513-
assert_eq!(reader.read_line(), Some(~"a\n"));
514-
assert_eq!(reader.read_line(), Some(~"b\n"));
515-
assert_eq!(reader.read_line(), Some(~"c"));
516-
assert_eq!(reader.read_line(), None);
518+
assert_eq!(reader.read_line(), Ok(~"a\n"));
519+
assert_eq!(reader.read_line(), Ok(~"b\n"));
520+
assert_eq!(reader.read_line(), Ok(~"c"));
521+
assert!(reader.read_line().is_err());
517522
}
518523
519524
#[test]
@@ -532,20 +537,20 @@ mod test {
532537
let inner = ShortReader{lengths: ~[0, 1, 2, 0, 1, 0]};
533538
let mut reader = BufferedReader::new(inner);
534539
let mut buf = [0, 0];
535-
assert_eq!(reader.read(buf), Some(0));
536-
assert_eq!(reader.read(buf), Some(1));
537-
assert_eq!(reader.read(buf), Some(2));
538-
assert_eq!(reader.read(buf), Some(0));
539-
assert_eq!(reader.read(buf), Some(1));
540-
assert_eq!(reader.read(buf), Some(0));
541-
assert_eq!(reader.read(buf), None);
540+
assert_eq!(reader.read(buf), Ok(0));
541+
assert_eq!(reader.read(buf), Ok(1));
542+
assert_eq!(reader.read(buf), Ok(2));
543+
assert_eq!(reader.read(buf), Ok(0));
544+
assert_eq!(reader.read(buf), Ok(1));
545+
assert_eq!(reader.read(buf), Ok(0));
546+
assert!(reader.read(buf).is_err());
542547
}
543548

544549
#[test]
545550
fn read_char_buffered() {
546551
let buf = [195u8, 159u8];
547552
let mut reader = BufferedReader::with_capacity(1, BufReader::new(buf));
548-
assert_eq!(reader.read_char(), Some('ß'));
553+
assert_eq!(reader.read_char(), Ok('ß'));
549554
}
550555

551556
#[bench]

src/libstd/io/comm_adapters.rs

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -133,55 +133,44 @@ mod test {
133133
let mut buf = ~[0u8, ..3];
134134

135135

136-
assert_eq!(Some(0), reader.read([]));
136+
assert_eq!(Ok(0), reader.read([]));
137137

138-
assert_eq!(Some(3), reader.read(buf));
138+
assert_eq!(Ok(3), reader.read(buf));
139139
assert_eq!(~[1,2,3], buf);
140140

141-
assert_eq!(Some(3), reader.read(buf));
141+
assert_eq!(Ok(3), reader.read(buf));
142142
assert_eq!(~[4,5,6], buf);
143143

144-
assert_eq!(Some(2), reader.read(buf));
144+
assert_eq!(Ok(2), reader.read(buf));
145145
assert_eq!(~[7,8,6], buf);
146146

147-
let mut err = None;
148-
let result = io::io_error::cond.trap(|io::standard_error(k, _, _)| {
149-
err = Some(k)
150-
}).inside(|| {
151-
reader.read(buf)
152-
});
153-
assert_eq!(Some(io::EndOfFile), err);
154-
assert_eq!(None, result);
147+
match reader.read(buf) {
148+
Ok(..) => fail!(),
149+
Err(e) => assert_eq!(e.kind, io::EndOfFile),
150+
}
155151
assert_eq!(~[7,8,6], buf);
156152

157153
// Ensure it continues to fail in the same way.
158-
err = None;
159-
let result = io::io_error::cond.trap(|io::standard_error(k, _, _)| {
160-
err = Some(k)
161-
}).inside(|| {
162-
reader.read(buf)
163-
});
164-
assert_eq!(Some(io::EndOfFile), err);
165-
assert_eq!(None, result);
154+
match reader.read(buf) {
155+
Ok(..) => fail!(),
156+
Err(e) => assert_eq!(e.kind, io::EndOfFile),
157+
}
166158
assert_eq!(~[7,8,6], buf);
167159
}
168160

169161
#[test]
170162
fn test_chan_writer() {
171163
let (port, chan) = Chan::new();
172164
let mut writer = ChanWriter::new(chan);
173-
writer.write_be_u32(42);
165+
writer.write_be_u32(42).unwrap();
174166

175167
let wanted = ~[0u8, 0u8, 0u8, 42u8];
176168
let got = task::try(proc() { port.recv() }).unwrap();
177169
assert_eq!(wanted, got);
178170

179-
let mut err = None;
180-
io::io_error::cond.trap(|io::IoError { kind, .. } | {
181-
err = Some(kind)
182-
}).inside(|| {
183-
writer.write_u8(1)
184-
});
185-
assert_eq!(Some(io::BrokenPipe), err);
171+
match writer.write_u8(1) {
172+
Ok(..) => fail!(),
173+
Err(e) => assert_eq!(e.kind, io::BrokenPipe),
174+
}
186175
}
187176
}

0 commit comments

Comments
 (0)