@@ -721,6 +721,10 @@ fn parse_qgs_get_quote_response(data: &[u8]) -> Result<Vec<u8>> {
721721mod tests {
722722 use super :: * ;
723723
724+ // Environment variables are process-global, while Rust tests run in
725+ // parallel by default. Serialize tests that temporarily override them.
726+ static ENV_TEST_LOCK : Mutex < ( ) > = Mutex :: new ( ( ) ) ;
727+
724728 #[ test]
725729 fn recognizes_tdx_configfs_provider ( ) {
726730 let temp = tempfile:: tempdir ( ) . unwrap ( ) ;
@@ -733,6 +737,7 @@ mod tests {
733737
734738 #[ test]
735739 fn invalid_configfs_override_does_not_fall_back ( ) {
740+ let _guard = ENV_TEST_LOCK . lock ( ) . unwrap ( ) ;
736741 let previous = std:: env:: var_os ( CONFIGFS_PATH_ENV ) ;
737742 std:: env:: set_var (
738743 CONFIGFS_PATH_ENV ,
@@ -765,6 +770,7 @@ mod tests {
765770
766771 #[ test]
767772 fn relative_configfs_override_is_not_available ( ) {
773+ let _guard = ENV_TEST_LOCK . lock ( ) . unwrap ( ) ;
768774 let previous = std:: env:: var_os ( CONFIGFS_PATH_ENV ) ;
769775 std:: env:: set_var ( CONFIGFS_PATH_ENV , "." ) ;
770776 let available = is_tdx_available ( ) ;
@@ -778,6 +784,7 @@ mod tests {
778784
779785 #[ test]
780786 fn relative_rtmr_override_is_rejected ( ) {
787+ let _guard = ENV_TEST_LOCK . lock ( ) . unwrap ( ) ;
781788 let previous = std:: env:: var_os ( RTMR_SYSFS_PATH_ENV ) ;
782789 std:: env:: set_var ( RTMR_SYSFS_PATH_ENV , "." ) ;
783790 let result = rtmr_sysfs_base ( ) ;
0 commit comments