@@ -227,20 +227,21 @@ impl From<EnvironmentContext> for ResponseItem {
227227// Restrict Operating System Info to Windows and Linux inside WSL for now
228228#[ cfg( target_os = "windows" ) ]
229229fn operating_system_info_impl ( ) -> Option < OperatingSystemInfo > {
230- let os_info = os_info:: get ( ) ;
230+ let info = os_info:: get ( ) ;
231231 Some ( OperatingSystemInfo {
232- name : os_info . os_type ( ) . to_string ( ) ,
233- version : os_info . version ( ) . to_string ( ) ,
232+ name : info . os_type ( ) . to_string ( ) ,
233+ version : info . version ( ) . to_string ( ) ,
234234 is_likely_windows_subsystem_for_linux : Some ( has_wsl_env_markers ( ) ) ,
235235 } )
236236}
237237
238238#[ cfg( all( unix, not( target_os = "macos" ) ) ) ]
239239fn operating_system_info_impl ( ) -> Option < OperatingSystemInfo > {
240+ let info = os_info:: get ( ) ;
240241 match has_wsl_env_markers ( ) {
241242 true => Some ( OperatingSystemInfo {
242- name : "Windows Subsystem for Linux" . to_string ( ) ,
243- version : "" . to_string ( ) ,
243+ name : info . os_type ( ) . to_string ( ) ,
244+ version : info . version ( ) . to_string ( ) ,
244245 is_likely_windows_subsystem_for_linux : Some ( true ) ,
245246 } ) ,
246247 false => None ,
@@ -307,10 +308,11 @@ mod tests {
307308 #[ test]
308309 fn operating_system_info_matches_wsl_detection_on_unix ( ) {
309310 let info = operating_system_info_impl ( ) ;
311+ let os_details = os_info:: get ( ) ;
310312 if has_wsl_env_markers ( ) {
311313 let info = info. expect ( "expected WSL operating system info" ) ;
312- assert_eq ! ( info. name, "Windows Subsystem for Linux" ) ;
313- assert_eq ! ( info. version, "" ) ;
314+ assert_eq ! ( info. name, os_details . os_type ( ) . to_string ( ) ) ;
315+ assert_eq ! ( info. version, os_details . version ( ) . to_string ( ) ) ;
314316 assert_eq ! ( info. is_likely_windows_subsystem_for_linux, Some ( true ) ) ;
315317 } else {
316318 assert_eq ! ( info, None ) ;
0 commit comments