@@ -643,6 +643,10 @@ impl From<IoRedTblEntry> for u64 {
643643
644644#[ cfg( test) ]
645645mod test {
646+
647+ use log:: Level ;
648+ extern crate testing_logger;
649+
646650 use super :: * ;
647651
648652 fn get_ioapic ( buf : * mut u8 ) -> Result < IoApic > {
@@ -674,17 +678,22 @@ mod test {
674678
675679 #[ test]
676680 fn ioredtblentry_invalid_trigger_mode ( ) {
681+ testing_logger:: setup ( ) ;
677682 // ExtINT is invalid for level trigger mode.
678683 let invalid_for_level = 0x0f000000_00008700 ;
679684 let err = Error :: InvalidValue ;
680- // (
681- // "The delivery mode `0b111` is invalid for level trigger mode"
682- // .to_string(),
683- // );
684685 assert_eq ! (
685686 IoRedTblEntry :: try_from( invalid_for_level) . unwrap_err( ) ,
686687 err
687688 ) ;
689+ testing_logger:: validate ( |captured_logs| {
690+ assert_eq ! ( captured_logs. len( ) , 1 ) ;
691+ assert_eq ! (
692+ captured_logs[ 0 ] . body,
693+ "The delivery mode `0b111` is invalid for level trigger mode"
694+ ) ;
695+ assert_eq ! ( captured_logs[ 0 ] . level, Level :: Error ) ;
696+ } )
688697 }
689698
690699 #[ test]
@@ -700,16 +709,23 @@ mod test {
700709 fn ioredtblentry_invalid_dest ( ) {
701710 // Destination is a full byte but a physical destination mode
702711 // is used.
712+ testing_logger:: setup ( ) ;
703713 let invalid_dest = 0xff000000_0000_0000 ;
704714 let err = Error :: InvalidValue ;
705- // (
706- // "Invalid Physical APIC ID destination: 0xff".to_string(),
707- // );
708715 assert_eq ! ( err, IoRedTblEntry :: try_from( invalid_dest) . unwrap_err( ) ) ;
716+ testing_logger:: validate ( |captured_logs| {
717+ assert_eq ! ( captured_logs. len( ) , 1 ) ;
718+ assert_eq ! (
719+ captured_logs[ 0 ] . body,
720+ "Invalid Physical APIC ID destination: 0xff"
721+ ) ;
722+ assert_eq ! ( captured_logs[ 0 ] . level, Level :: Error ) ;
723+ } )
709724 }
710725
711726 #[ test]
712727 fn ioredtblentry_write_ro_bit ( ) {
728+ testing_logger:: setup ( ) ;
713729 let mut buf: [ u8 ; 24 ] = [
714730 0x00 ,
715731 0x00 ,
@@ -741,11 +757,16 @@ mod test {
741757 let entry = IoRedTblEntry :: try_from ( bits) . unwrap ( ) ;
742758
743759 let err = Error :: InvalidValue ;
744- // (
745- // "Read-only IO Redirect Table Entry bits set: 0x1000".to_string(),
746- // );
747760 // The delivery status is set, which should be read-only.
748761 assert_eq ! ( err, ioapic. write_ioredtbl( 0 , entry) . unwrap_err( ) ) ;
762+ testing_logger:: validate ( |captured_logs| {
763+ assert_eq ! ( captured_logs. len( ) , 1 ) ;
764+ assert_eq ! (
765+ captured_logs[ 0 ] . body,
766+ "Read-only IO Redirect Table Entry bits set: 0x1000"
767+ ) ;
768+ assert_eq ! ( captured_logs[ 0 ] . level, Level :: Error ) ;
769+ } )
749770 }
750771
751772 #[ test]
0 commit comments