Add shortcut for BSD::Control.feature

This commit is contained in:
0x1eef 2024-10-13 02:05:01 -03:00
parent c7ab44a868
commit d4373e1eab
8 changed files with 69 additions and 47 deletions

View file

@ -4,17 +4,19 @@ require_relative "../setup"
module BSD::Control
class DisableFeatureTest < BSD::Control::Test
def test_disable_pageexec
assert_equal true,
BSD::Control.feature(:pageexec).disable!(file)
assert_equal :disabled,
BSD::Control.feature(:pageexec).status(file)
assert_equal true, feature(:pageexec).disable!(file)
assert_equal :disabled, feature(:pageexec).status(file)
end
def test_disable_pageexec_nonexistent_file
rm(file)
assert_raises(Errno::ENOENT) do
BSD::Control.feature(:pageexec).disable!(file)
assert_raises(Errno::ENOENT) { feature(:pageexec).disable!(file) }
end
private
def feature(name)
BSD::Control.feature(name)
end
end
end

View file

@ -4,21 +4,23 @@ require_relative "../setup"
module BSD::Control
class EnableFeatureTest < BSD::Control::Test
def test_enable_pageexec
assert_equal true,
BSD::Control.feature(:pageexec).enable!(file)
assert_equal true, feature(:pageexec).enable!(file)
end
def test_enable_pageexec_mode_zero
chmod(0, file)
assert_equal true,
BSD::Control.feature(:pageexec).enable!(file)
assert_equal true, feature(:pageexec).enable!(file)
end
def test_enable_pageexec_nonexistent_file
rm(file)
assert_raises(Errno::ENOENT) do
BSD::Control.feature(:pageexec).enable!(file)
assert_raises(Errno::ENOENT) { feature(:pageexec).enable!(file) }
end
private
def feature(name)
BSD::Control.feature(name)
end
end
end

View file

@ -4,20 +4,23 @@ require_relative "../setup"
module BSD::Control
class FeatureStatusTest < BSD::Control::Test
def test_pageexec_sysdef_status
assert_equal :sysdef,
BSD::Control.feature(:pageexec).status(file)
assert_equal :sysdef, feature(:pageexec).status(file)
end
def test_pageexec_enabled_status
BSD::Control.feature(:pageexec).enable!(file)
assert_equal :enabled,
BSD::Control.feature(:pageexec).status(file)
feature(:pageexec).enable!(file)
assert_equal :enabled, feature(:pageexec).status(file)
end
def test_pageexec_disabled_status
BSD::Control.feature(:pageexec).disable!(file)
assert_equal :disabled,
BSD::Control.feature(:pageexec).status(file)
feature(:pageexec).disable!(file)
assert_equal :disabled, feature(:pageexec).status(file)
end
private
def feature(name)
BSD::Control.feature(name)
end
end
end

View file

@ -4,21 +4,21 @@ require_relative "../setup"
module BSD::Control
class SysDefFeatureTest < BSD::Control::Test
def test_sysdef_pageexec
assert_equal true,
BSD::Control.feature(:pageexec).enable!(file)
assert_equal :enabled,
BSD::Control.feature(:pageexec).status(file)
assert_equal true,
BSD::Control.feature(:pageexec).sysdef!(file)
assert_equal :sysdef,
BSD::Control.feature(:pageexec).status(file)
assert_equal true, feature(:pageexec).enable!(file)
assert_equal :enabled, feature(:pageexec).status(file)
assert_equal true, feature(:pageexec).sysdef!(file)
assert_equal :sysdef, feature(:pageexec).status(file)
end
def test_enable_pageexec_nonexistent_file
rm(file)
assert_raises(Errno::ENOENT) do
BSD::Control.feature(:pageexec).sysdef!(file)
assert_raises(Errno::ENOENT) { feature(:pageexec).sysdef!(file) }
end
private
def feature(name)
BSD::Control.feature(name)
end
end
end

View file

@ -5,9 +5,13 @@ module BSD::Control
class DisableFeatureTest < BSD::Control::Test
def test_disable_pageexec_nonexistent_file
rm(file)
assert_raises(Errno::ENOENT) do
BSD::Control.feature(:pageexec).disable!(file)
assert_raises(Errno::ENOENT) { feature(:pageexec).disable!(file) }
end
private
def feature(name)
BSD::Control.feature(name)
end
end
end

View file

@ -4,9 +4,13 @@ require_relative "../setup"
module BSD::Control
class EnableFeatureTest < BSD::Control::Test
def test_enable_feature_insufficient_permissions
assert_raises(Errno::EPERM) do
BSD::Control.feature(:pageexec).enable!(file)
assert_raises(Errno::EPERM) { feature(:pageexec).enable!(file) }
end
private
def feature(name)
BSD::Control.feature(name)
end
end
end

View file

@ -4,14 +4,17 @@ require_relative "../setup"
module BSD::Control
class FeatureTest < BSD::Control::Test
def test_pageexec_feature
assert_instance_of BSD::Control::Feature,
BSD::Control.feature(:pageexec)
assert_instance_of BSD::Control::Feature, feature(:pageexec)
end
def test_nonexistent_feature
assert_raises(BSD::Control::Error) do
BSD::Control.feature(:non_existent_feature)
assert_raises(BSD::Control::Error) { feature(:non_existent_feature) }
end
private
def feature(name)
BSD::Control.feature(name)
end
end
end

View file

@ -4,9 +4,13 @@ require_relative "../setup"
module BSD::Control
class SysDefTest < BSD::Control::Test
def test_sysdef!_insufficient_permissions
assert_raises(Errno::EPERM) do
BSD::Control.feature(:pageexec).sysdef!(file)
assert_raises(Errno::EPERM) { feature(:pageexec).sysdef!(file) }
end
private
def feature(name)
BSD::Control.feature(name)
end
end
end