Skip to content

Commit

Permalink
storage: use goldenscript for Engine tests
Browse files Browse the repository at this point in the history
  • Loading branch information
erikgrinaker committed Jun 13, 2024
1 parent 6a5e30e commit e6f5fe0
Show file tree
Hide file tree
Showing 18 changed files with 1,004 additions and 660 deletions.
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ uuid = { version = "1.8.0", features = ["serde", "v4"] }
[dev-dependencies]
escargot = "0.5.10"
goldenfile = "1.7.1"
goldenscript = "0.5.0"
goldenscript = "0.6.0"
paste = "1.0.14"
pretty_assertions = "1.4.0"
serde_json = "1.0.117"
Expand Down
15 changes: 8 additions & 7 deletions src/raft/log.rs
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,7 @@ impl<'a> std::iter::Iterator for Iterator<'a> {
mod tests {
use super::*;
use crossbeam::channel::Receiver;
use regex::Regex;
use std::{error::Error, result::Result};
use storage::engine::test as testengine;
use test_each_file::test_each_path;
Expand Down Expand Up @@ -581,7 +582,7 @@ mod tests {

/// Parses an index@term pair.
fn parse_index_term(s: &str) -> Result<(Index, Term), Box<dyn Error>> {
let re = regex::Regex::new(r"^(\d+)@(\d+)$").expect("invalid regex");
let re = Regex::new(r"^(\d+)@(\d+)$").expect("invalid regex");
let groups = re.captures(s).ok_or_else(|| format!("invalid index/term {s}"))?;
let index = groups.get(1).unwrap().as_str().parse()?;
let term = groups.get(2).unwrap().as_str().parse()?;
Expand All @@ -590,19 +591,19 @@ mod tests {

/// Parses an index range, in Rust range syntax.
fn parse_index_range(s: &str) -> Result<impl std::ops::RangeBounds<Index>, Box<dyn Error>> {
let mut bound =
(std::ops::Bound::<Index>::Unbounded, std::ops::Bound::<Index>::Unbounded);
let re = regex::Regex::new(r"^(\d+)?\.\.(=)?(\d+)?").expect("invalid regex");
use std::ops::Bound;
let mut bound = (Bound::<Index>::Unbounded, Bound::<Index>::Unbounded);
let re = Regex::new(r"^(\d+)?\.\.(=)?(\d+)?").expect("invalid regex");
let groups = re.captures(s).ok_or_else(|| format!("invalid range {s}"))?;
if let Some(start) = groups.get(1) {
bound.0 = std::ops::Bound::Included(start.as_str().parse()?);
bound.0 = Bound::Included(start.as_str().parse()?);
}
if let Some(end) = groups.get(3) {
let end = end.as_str().parse()?;
if groups.get(2).is_some() {
bound.1 = std::ops::Bound::Included(end)
bound.1 = Bound::Included(end)
} else {
bound.1 = std::ops::Bound::Excluded(end)
bound.1 = Bound::Excluded(end)
}
}
Ok(bound)
Expand Down

0 comments on commit e6f5fe0

Please sign in to comment.