Merge pull request #1538 from reitermarkus/remove-kexts

Remove kernel extensions specified in `uninstall :kext`.
This commit is contained in:
Markus Reiter 2016-11-20 00:33:53 +01:00 committed by GitHub
commit 7fbab8be9c
3 changed files with 20 additions and 0 deletions

View File

@ -187,6 +187,10 @@ module Hbc
@command.run!("/sbin/kextunload", args: ["-b", kext], sudo: true)
sleep 1
end
@command.run!("/usr/sbin/kextfind", args: ["-b", kext], sudo: true).stdout.chomp.lines.each do |kext_path|
ohai "Removing kernel extension #{kext_path}"
@command.run!("/bin/rm", args: ["-rf", kext_path], sudo: true)
end
end
end

View File

@ -192,6 +192,14 @@ describe Hbc::Artifact::Uninstall do
sudo(%W[/sbin/kextunload -b #{kext_id}])
)
Hbc::FakeSystemCommand.expects_command(
sudo(%W[/usr/sbin/kextfind -b #{kext_id}]), "/Library/Extensions/FancyPackage.kext\n"
)
Hbc::FakeSystemCommand.expects_command(
sudo(["/bin/rm", "-rf", "/Library/Extensions/FancyPackage.kext"])
)
subject
end
end

View File

@ -193,6 +193,14 @@ describe Hbc::Artifact::Zap do
sudo(%W[/sbin/kextunload -b #{kext_id}])
)
Hbc::FakeSystemCommand.expects_command(
sudo(%W[/usr/sbin/kextfind -b #{kext_id}]), "/Library/Extensions/FancyPackage.kext\n"
)
Hbc::FakeSystemCommand.expects_command(
sudo(["/bin/rm", "-rf", "/Library/Extensions/FancyPackage.kext"])
)
subject
end
end