diagnostic: add doctor check for CPU arch on Linux
Co-Authored-By: Mike McQuaid <mike@mikemcquaid.com>
This commit is contained in:
parent
f5ba503aaa
commit
57109a175a
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
require "tempfile"
|
require "tempfile"
|
||||||
require "utils/shell"
|
require "utils/shell"
|
||||||
|
require "hardware"
|
||||||
require "os/linux/diagnostic"
|
require "os/linux/diagnostic"
|
||||||
require "os/linux/glibc"
|
require "os/linux/glibc"
|
||||||
require "os/linux/kernel"
|
require "os/linux/kernel"
|
||||||
@ -13,6 +14,7 @@ module Homebrew
|
|||||||
%w[
|
%w[
|
||||||
check_glibc_minimum_version
|
check_glibc_minimum_version
|
||||||
check_kernel_minimum_version
|
check_kernel_minimum_version
|
||||||
|
check_supported_architecture
|
||||||
].freeze
|
].freeze
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -71,6 +73,16 @@ module Homebrew
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def check_supported_architecture
|
||||||
|
return if Hardware::CPU.arch == :x86_64
|
||||||
|
|
||||||
|
<<~EOS
|
||||||
|
Your CPU architecture (#{Hardware::CPU.arch}) is not supported. We only support
|
||||||
|
x86_64 CPU architectures. You will be unable to use binary packages (bottles).
|
||||||
|
#{please_create_pull_requests}
|
||||||
|
EOS
|
||||||
|
end
|
||||||
|
|
||||||
def check_glibc_minimum_version
|
def check_glibc_minimum_version
|
||||||
return unless OS::Linux::Glibc.below_minimum_version?
|
return unless OS::Linux::Glibc.below_minimum_version?
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,13 @@
|
|||||||
require "diagnostic"
|
require "diagnostic"
|
||||||
|
|
||||||
describe Homebrew::Diagnostic::Checks do
|
describe Homebrew::Diagnostic::Checks do
|
||||||
|
specify "#check_supported_architecture" do
|
||||||
|
allow(Hardware::CPU).to receive(:type).and_return(:arm64)
|
||||||
|
|
||||||
|
expect(subject.check_supported_architecture)
|
||||||
|
.to match(/Your CPU architecture .+ is not supported/)
|
||||||
|
end
|
||||||
|
|
||||||
specify "#check_glibc_minimum_version" do
|
specify "#check_glibc_minimum_version" do
|
||||||
allow(OS::Linux::Glibc).to receive(:below_minimum_version?).and_return(true)
|
allow(OS::Linux::Glibc).to receive(:below_minimum_version?).and_return(true)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user