()
| 485 | |
| 486 | #[test] |
| 487 | fn write_and_recover() { |
| 488 | let dir = tempfile::tempdir().unwrap(); |
| 489 | let dwb_path = dir.path().join("test.dwb"); |
| 490 | |
| 491 | let mut dwb = open_buffered(&dwb_path); |
| 492 | |
| 493 | let record = WalRecord::new( |
| 494 | RecordType::Put as u32, |
| 495 | 42, |
| 496 | 1, |
| 497 | 0, |
| 498 | 0, |
| 499 | b"hello double-write".to_vec(), |
| 500 | None, |
| 501 | None, |
| 502 | ) |
| 503 | .unwrap(); |
| 504 | |
| 505 | dwb.write_record(&record).unwrap(); |
| 506 | |
| 507 | // Recover by LSN. |
| 508 | let recovered = dwb.recover_record(42).unwrap(); |
| 509 | assert!(recovered.is_some()); |
| 510 | let rec = recovered.unwrap(); |
| 511 | assert_eq!(rec.header.lsn, 42); |
| 512 | assert_eq!(rec.payload, b"hello double-write"); |
| 513 | } |
| 514 | |
| 515 | #[test] |
| 516 | fn recover_nonexistent_returns_none() { |
nothing calls this directly
no test coverage detected