Skip to content

Commit

Permalink
libtest: Fix unwrap panic on duplicate TestDesc.
Browse files Browse the repository at this point in the history
It is possible for different tests to collide to the same TestDesc
when macros are involved.  That is a bug, but it didn’t cause a panic
until #81367.  For now, change the code to ignore this problem.

Fixes #81852.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
  • Loading branch information
andersk committed Feb 18, 2021
1 parent b05788e commit 1605af0
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions library/test/src/lib.rs
Expand Up @@ -353,12 +353,13 @@ where
}

let mut completed_test = res.unwrap();
let running_test = running_tests.remove(&completed_test.desc).unwrap();
if let Some(join_handle) = running_test.join_handle {
if let Err(_) = join_handle.join() {
if let TrOk = completed_test.result {
completed_test.result =
TrFailedMsg("panicked after reporting success".to_string());
if let Some(running_test) = running_tests.remove(&completed_test.desc) {
if let Some(join_handle) = running_test.join_handle {
if let Err(_) = join_handle.join() {
if let TrOk = completed_test.result {
completed_test.result =
TrFailedMsg("panicked after reporting success".to_string());
}
}
}
}
Expand Down

0 comments on commit 1605af0

Please sign in to comment.