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 rust-lang#81367.  For now, change the code to ignore this problem.

Fixes rust-lang#81852.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
(cherry picked from commit 1605af0)
  • Loading branch information
andersk authored and cuviper committed Mar 10, 2021
1 parent c10902e commit 03fe394
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions library/test/src/lib.rs
Original file line number Diff line number Diff line change
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 03fe394

Please sign in to comment.