puppetlabs / facter

Collect and display system facts
https://puppet.com/open-source/#osp
Apache License 2.0
617 stars 496 forks source link

(FACT-3465) Order dependent failures #2715

Closed joshcooper closed 4 months ago

joshcooper commented 4 months ago

Previously, the uname resolver set an instance_spy logger, but didn't clear it. If the uname spec was run first, followed by another spec whose resolver relied on the uname resolver, then the instance_spy would leak across specs. This clears the logger and fixes several tests that were passing for the wrong reasons.

The "loggers leak across tests" is a general issue. It will be fixed in a separate issue:

$ git grep -l 'instance_variable_set(:@log' spec/facter/resolvers/ | xargs git grep -L 'instance_variable_set(:@log, nil)' 
spec/facter/resolvers/aix/disks_spec.rb
spec/facter/resolvers/aix/memory_spec.rb
spec/facter/resolvers/aix/mountpoints_spec.rb
spec/facter/resolvers/aix/networking_spec.rb
spec/facter/resolvers/aix/os_level_spec.rb
spec/facter/resolvers/aix/partitions_spec.rb
spec/facter/resolvers/aix/processors_spec.rb
spec/facter/resolvers/amzn/os_release_rpm_spec.rb
spec/facter/resolvers/augeas_spec.rb
spec/facter/resolvers/az_spec.rb
spec/facter/resolvers/bsd/processors_spec.rb
spec/facter/resolvers/freebsd/processors_spec.rb
spec/facter/resolvers/freebsd/swap_memory_spec.rb
spec/facter/resolvers/freebsd/system_memory_spec.rb
spec/facter/resolvers/hostname_spec.rb
spec/facter/resolvers/linux/docker_uptime_spec.rb
spec/facter/resolvers/linux/hostname_spec.rb
spec/facter/resolvers/linux/lscpu_spec.rb
spec/facter/resolvers/linux/networking_spec.rb
spec/facter/resolvers/lpar_spec.rb
spec/facter/resolvers/lspci_spec.rb
spec/facter/resolvers/macosx/dmi_spec.rb
spec/facter/resolvers/macosx/filesystems_spec.rb
spec/facter/resolvers/macosx/load_averages_spec.rb
spec/facter/resolvers/macosx/processors_spec.rb
spec/facter/resolvers/macosx/swap_memory_spec.rb
spec/facter/resolvers/macosx/system_memory_spec.rb
spec/facter/resolvers/mountpoints_spec.rb
spec/facter/resolvers/networking_spec.rb
spec/facter/resolvers/openbsd/mountpoints_spec.rb
spec/facter/resolvers/partitions_spec.rb
spec/facter/resolvers/selinux_spec.rb
spec/facter/resolvers/solaris/dmi_sparc_spec.rb
spec/facter/resolvers/solaris/dmi_spec.rb
spec/facter/resolvers/solaris/filesystem_spec.rb
spec/facter/resolvers/solaris/ipaddress_spec.rb
spec/facter/resolvers/solaris/ldom_spec.rb
spec/facter/resolvers/solaris/memory_spec.rb
spec/facter/resolvers/solaris/zone_name_spec.rb
spec/facter/resolvers/solaris/zone_spec.rb
spec/facter/resolvers/sw_vers_spec.rb
spec/facter/resolvers/system_profile_spec.rb
spec/facter/resolvers/virt_what_spec.rb
spec/facter/resolvers/vmware_spec.rb
spec/facter/resolvers/windows/dmi_bios_spec.rb
spec/facter/resolvers/windows/dmi_computersystem_spec.rb
spec/facter/resolvers/windows/kernel_spec.rb
spec/facter/resolvers/windows/memory_spec.rb
spec/facter/resolvers/windows/networking_spec.rb
spec/facter/resolvers/windows/processors_spec.rb
spec/facter/resolvers/windows/system32_spec.rb
spec/facter/resolvers/windows/uptime_spec.rb
spec/facter/resolvers/windows/virtualization_spec.rb
spec/facter/resolvers/windows/win_os_description_spec.rb
spec/facter/resolvers/wpar_spec.rb
spec/facter/resolvers/xen_spec.rb
spec/facter/resolvers/zfs_spec.rb
spec/facter/resolvers/zpool_spec.rb