Remove kernel extensions specified in uninstall :kext.

This commit is contained in:
Markus Reiter 2016-11-18 22:53:25 +01:00
parent 7853406fb4
commit 1834457272
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