Skip to content

Commit e582289

Browse files
authored
Merge pull request #432 from filecoin-project/test/error-context
test: add context to conformance test errors
2 parents e71511b + 0e409ed commit e582289

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

testing/conformance/tests/runner.rs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ async fn conformance_test_runner() -> anyhow::Result<()> {
3939
Ok(v) => either::Either::Left(
4040
iter::once(async move {
4141
let path = Path::new(v.as_str()).to_path_buf();
42-
let res = run_vector(path.clone(), engine).await?;
42+
let res = run_vector(path.clone(), engine)
43+
.await
44+
.with_context(|| format!("failed to run vector: {}", path.display()))?;
4345
anyhow::Ok((path, res))
4446
})
4547
.map(futures::future::Either::Left),
@@ -52,7 +54,9 @@ async fn conformance_test_runner() -> anyhow::Result<()> {
5254
let engine = engine.clone();
5355
async move {
5456
let path = e?.path().to_path_buf();
55-
let res = run_vector(path.clone(), engine).await?;
57+
let res = run_vector(path.clone(), engine)
58+
.await
59+
.with_context(|| format!("failed to run vector: {}", path.display()))?;
5660
Ok((path, res))
5761
}
5862
})
@@ -147,17 +151,19 @@ async fn run_vector(
147151
// Upstream bug is https://github.com/serde-rs/serde/issues/1183 (or at least that looks like
148152
// the most appropriate one out of all the related issues).
149153
let mut vector: HashMap<String, Box<serde_json::value::RawValue>> =
150-
serde_json::from_reader(reader)?;
154+
serde_json::from_reader(reader).context("failed to parse vector")?;
151155
let class_json = vector
152156
.remove("class")
153157
.context("expected test vector to have a class")?;
154158

155-
let class: &str = serde_json::from_str(class_json.get())?;
159+
let class: &str =
160+
serde_json::from_str(class_json.get()).context("failed to parse test vector class")?;
156161
let vector_json = serde_json::to_string(&vector)?;
157162

158163
match class {
159164
"message" => {
160-
let v: MessageVector = serde_json::from_str(&vector_json)?;
165+
let v: MessageVector =
166+
serde_json::from_str(&vector_json).context("failed to parse message vector")?;
161167
let skip = !v.selector.as_ref().map_or(true, Selector::supported);
162168
if skip {
163169
Ok(either::Either::Left(

0 commit comments

Comments
 (0)