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
|
module Hardware
|
||||||
def self.oldest_cpu
|
def self.oldest_cpu(version = MacOS.version)
|
||||||
if MacOS.version >= :mojave
|
if version >= :mojave
|
||||||
:nehalem
|
:nehalem
|
||||||
else
|
else
|
||||||
generic_oldest_cpu
|
generic_oldest_cpu
|
||||||
|
|||||||
@ -134,7 +134,7 @@ module Hardware
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def oldest_cpu
|
def oldest_cpu(_version = nil)
|
||||||
if Hardware::CPU.intel?
|
if Hardware::CPU.intel?
|
||||||
if Hardware::CPU.is_64_bit?
|
if Hardware::CPU.is_64_bit?
|
||||||
:core2
|
:core2
|
||||||
|
|||||||
@ -38,6 +38,17 @@ module OS
|
|||||||
def pretty_name
|
def pretty_name
|
||||||
to_sym.to_s.split("_").map(&:capitalize).join(" ")
|
to_sym.to_s.split("_").map(&:capitalize).join(" ")
|
||||||
end
|
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
|
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.14").pretty_name).to eq("Mojave")
|
||||||
expect(described_class.new("10.10").pretty_name).to eq("Yosemite")
|
expect(described_class.new("10.10").pretty_name).to eq("Yosemite")
|
||||||
end
|
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
|
end
|
||||||
|
|||||||
@ -26,6 +26,15 @@ class Version
|
|||||||
true
|
true
|
||||||
end
|
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
|
def to_f
|
||||||
Float::NAN
|
Float::NAN
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user