Merge pull request #5639 from MikeMcQuaid/os-mac-cpu-requires
version: add CPU tests.
This commit is contained in:
commit
d18bab042b
@ -1,6 +1,6 @@
|
||||
module Hardware
|
||||
def self.oldest_cpu
|
||||
if MacOS.version >= :mojave
|
||||
def self.oldest_cpu(version = MacOS.version)
|
||||
if version >= :mojave
|
||||
:nehalem
|
||||
else
|
||||
generic_oldest_cpu
|
||||
|
||||
@ -134,7 +134,7 @@ module Hardware
|
||||
end
|
||||
end
|
||||
|
||||
def oldest_cpu
|
||||
def oldest_cpu(_version = nil)
|
||||
if Hardware::CPU.intel?
|
||||
if Hardware::CPU.is_64_bit?
|
||||
:core2
|
||||
|
||||
@ -38,6 +38,17 @@ module OS
|
||||
def pretty_name
|
||||
to_sym.to_s.split("_").map(&:capitalize).join(" ")
|
||||
end
|
||||
|
||||
# For OS::Mac::Version compatability
|
||||
def requires_nehalem_cpu?
|
||||
Hardware.oldest_cpu(self) == :nehalem
|
||||
end
|
||||
# https://en.wikipedia.org/wiki/Nehalem_(microarchitecture)
|
||||
# Ensure any extra methods are also added to version/null.rb
|
||||
alias requires_sse4? requires_nehalem_cpu?
|
||||
alias requires_sse41? requires_nehalem_cpu?
|
||||
alias requires_sse42? requires_nehalem_cpu?
|
||||
alias requires_popcnt? requires_nehalem_cpu?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -46,4 +46,9 @@ describe OS::Mac::Version do
|
||||
expect(described_class.new("10.14").pretty_name).to eq("Mojave")
|
||||
expect(described_class.new("10.10").pretty_name).to eq("Yosemite")
|
||||
end
|
||||
|
||||
specify "#requires_nehalem_cpu?" do
|
||||
expect(described_class.new("10.14").requires_nehalem_cpu?).to be true
|
||||
expect(described_class.new("10.12").requires_nehalem_cpu?).to be false
|
||||
end
|
||||
end
|
||||
|
||||
@ -26,6 +26,15 @@ class Version
|
||||
true
|
||||
end
|
||||
|
||||
# For OS::Mac::Version compatability
|
||||
def requires_nehalem_cpu?
|
||||
false
|
||||
end
|
||||
alias_method :requires_sse4?, :requires_nehalem_cpu?
|
||||
alias_method :requires_sse41?, :requires_nehalem_cpu?
|
||||
alias_method :requires_sse42?, :requires_nehalem_cpu?
|
||||
alias_method :requires_popcnt?, :requires_nehalem_cpu?
|
||||
|
||||
def to_f
|
||||
Float::NAN
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user