Mea culpa, I forgot in that instance to add a block device to the list of okay to destroy. Here is the original error with the XFS block device (/dev/sda1) included in the list:

test real_test_linear_device ... FAILED

failures:

---- real_test_linear_device stdout ----
    thread 'real_test_linear_device' panicked at 'called `Result::unwrap()` on an `Err` value: Io(Error { repr: Os { code: 16, message: "Device or resource busy" } })', src/libcore/result.rs:860:4
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::_print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: std::panicking::rust_panic_with_hook
   5: std::panicking::begin_panic_new
   6: std::panicking::begin_panic_fmt
   7: rust_begin_unwind
   8: core::panicking::panic_fmt
   9: core::result::unwrap_failed
             at /builddir/build/BUILD/rustc-1.20.0-src/src/libcore/macros.rs:41
  10: <core::result::Result<T, E>>::unwrap
             at /builddir/build/BUILD/rustc-1.20.0-src/src/libcore/result.rs:738
  11: real_tests::util::dm_tests::test_linear_device
             at tests/util/dm_tests.rs:51
  12: core::ops::function::Fn::call
             at /builddir/build/BUILD/rustc-1.20.0-src/src/libcore/ops/function.rs:48
  13: real_tests::test_with_spec
             at tests/real_tests.rs:142
  14: real_tests::real_test_linear_device
             at tests/real_tests.rs:155
  15: <F as test::FnBox<T>>::call_box
  16: __rust_maybe_catch_panic


failures:
    real_test_linear_device

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 16 filtered out

error: test failed, to rerun pass '--test real_tests'