Update test/
This commit is contained in:
parent
fafc20c06b
commit
5571ab8f3b
11 changed files with 58 additions and 128 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
|||
/.gems/
|
||||
/tmp/
|
||||
test/**/file
|
||||
*.so
|
||||
|
|
|
@ -3,3 +3,25 @@
|
|||
require "bundler/setup"
|
||||
require "test/unit"
|
||||
require "bsdcontrol"
|
||||
|
||||
module BSD::Control
|
||||
class Test < Test::Unit::TestCase
|
||||
require "fileutils"
|
||||
include FileUtils
|
||||
|
||||
def setup
|
||||
File.exist?(file) ? rm(file) : nil
|
||||
touch(file)
|
||||
end
|
||||
|
||||
def teardown
|
||||
File.exist?(file) ? rm(file) : nil
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def file
|
||||
File.join(__dir__, "file")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,32 +2,19 @@
|
|||
|
||||
require_relative "../setup"
|
||||
module BSD::Control
|
||||
class DisableFeatureTest < Test::Unit::TestCase
|
||||
require "fileutils"
|
||||
include FileUtils
|
||||
|
||||
class DisableFeatureTest < BSD::Control::Test
|
||||
def test_disable_pageexec
|
||||
touch(file)
|
||||
assert BSD::Control.feature(:pageexec).disable!(file),
|
||||
"The disable! method should have returned true"
|
||||
assert_equal(
|
||||
:disabled,
|
||||
assert_equal true,
|
||||
BSD::Control.feature(:pageexec).disable!(file)
|
||||
assert_equal :disabled,
|
||||
BSD::Control.feature(:pageexec).status(file)
|
||||
)
|
||||
ensure
|
||||
rm(file)
|
||||
end
|
||||
|
||||
def test_disable_pageexec_nonexistent_file
|
||||
rm(file)
|
||||
assert_raises(Errno::ENOENT) do
|
||||
BSD::Control.feature(:pageexec).disable!(file)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def file
|
||||
File.join(__dir__, "file")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,37 +2,23 @@
|
|||
|
||||
require_relative "../setup"
|
||||
module BSD::Control
|
||||
class EnableFeatureTest < Test::Unit::TestCase
|
||||
require "fileutils"
|
||||
include FileUtils
|
||||
|
||||
class EnableFeatureTest < BSD::Control::Test
|
||||
def test_enable_pageexec
|
||||
touch(file)
|
||||
assert BSD::Control.feature(:pageexec).enable!(file),
|
||||
"The enable! method should have returned true"
|
||||
ensure
|
||||
rm(file)
|
||||
assert_equal true,
|
||||
BSD::Control.feature(:pageexec).enable!(file)
|
||||
end
|
||||
|
||||
def test_enable_pageexec_zero_permissions
|
||||
touch(file)
|
||||
def test_enable_pageexec_mode_zero
|
||||
chmod(0, file)
|
||||
assert BSD::Control.feature(:pageexec).enable!(file),
|
||||
"The enable! method should have returned true"
|
||||
ensure
|
||||
rm(file)
|
||||
assert_equal true,
|
||||
BSD::Control.feature(:pageexec).enable!(file)
|
||||
end
|
||||
|
||||
def test_enable_pageexec_nonexistent_file
|
||||
rm(file)
|
||||
assert_raises(Errno::ENOENT) do
|
||||
BSD::Control.feature(:pageexec).enable!(file)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def file
|
||||
File.join(__dir__, "file")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,40 +2,22 @@
|
|||
|
||||
require_relative "../setup"
|
||||
module BSD::Control
|
||||
class FeatureStatusTest < Test::Unit::TestCase
|
||||
require "fileutils"
|
||||
include FileUtils
|
||||
|
||||
class FeatureStatusTest < BSD::Control::Test
|
||||
def test_pageexec_sysdef_status
|
||||
touch(file)
|
||||
assert_equal :sysdef,
|
||||
BSD::Control.feature(:pageexec).status(file)
|
||||
ensure
|
||||
rm(file)
|
||||
end
|
||||
|
||||
def test_pageexec_enabled_status
|
||||
touch(file)
|
||||
BSD::Control.feature(:pageexec).enable!(file)
|
||||
assert_equal :enabled,
|
||||
BSD::Control.feature(:pageexec).status(file)
|
||||
ensure
|
||||
rm(file)
|
||||
end
|
||||
|
||||
def test_pageexec_disabled_status
|
||||
touch(file)
|
||||
BSD::Control.feature(:pageexec).disable!(file)
|
||||
assert_equal :disabled,
|
||||
BSD::Control.feature(:pageexec).status(file)
|
||||
ensure
|
||||
rm(file)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def file
|
||||
File.join(__dir__, "file")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,38 +2,23 @@
|
|||
|
||||
require_relative "../setup"
|
||||
module BSD::Control
|
||||
class SysDefFeatureTest < Test::Unit::TestCase
|
||||
require "fileutils"
|
||||
include FileUtils
|
||||
|
||||
class SysDefFeatureTest < BSD::Control::Test
|
||||
def test_sysdef_pageexec
|
||||
touch(file)
|
||||
assert BSD::Control.feature(:pageexec).enable!(file),
|
||||
"The enable! method should have returned true"
|
||||
assert_equal(
|
||||
:enabled,
|
||||
assert_equal true,
|
||||
BSD::Control.feature(:pageexec).enable!(file)
|
||||
assert_equal :enabled,
|
||||
BSD::Control.feature(:pageexec).status(file)
|
||||
)
|
||||
assert BSD::Control.feature(:pageexec).sysdef!(file),
|
||||
"The sysdef! method should have returned true"
|
||||
assert_equal(
|
||||
:sysdef,
|
||||
assert_equal true,
|
||||
BSD::Control.feature(:pageexec).sysdef!(file)
|
||||
assert_equal :sysdef,
|
||||
BSD::Control.feature(:pageexec).status(file)
|
||||
)
|
||||
ensure
|
||||
rm(file)
|
||||
end
|
||||
|
||||
def test_enable_pageexec_nonexistent_file
|
||||
rm(file)
|
||||
assert_raises(Errno::ENOENT) do
|
||||
BSD::Control.feature(:pageexec).sysdef!(file)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def file
|
||||
File.join(__dir__, "file")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,15 +2,14 @@
|
|||
|
||||
require_relative "../setup"
|
||||
module BSD::Control
|
||||
class AvailableFeaturesTest < Test::Unit::TestCase
|
||||
class AvailableFeaturesTest < BSD::Control::Test
|
||||
def test_available_features_not_empty
|
||||
refute available_features.empty?,
|
||||
"There should have been at least one available feature"
|
||||
assert_equal false, available_features.empty?
|
||||
end
|
||||
|
||||
def test_available_features_instance_of
|
||||
assert available_features.all? { _1.instance_of?(BSD::Control::Feature) },
|
||||
"All available features should be an instance of `BSD::Control::Feature`"
|
||||
assert_equal true,
|
||||
available_features.all? { _1.instance_of?(BSD::Control::Feature) }
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -2,20 +2,12 @@
|
|||
|
||||
require_relative "../setup"
|
||||
module BSD::Control
|
||||
class DisableFeatureTest < Test::Unit::TestCase
|
||||
require "fileutils"
|
||||
include FileUtils
|
||||
|
||||
class DisableFeatureTest < BSD::Control::Test
|
||||
def test_disable_pageexec_nonexistent_file
|
||||
rm(file)
|
||||
assert_raises(Errno::ENOENT) do
|
||||
BSD::Control.feature(:pageexec).disable!(file)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def file
|
||||
File.join(__dir__, "file")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,23 +2,11 @@
|
|||
|
||||
require_relative "../setup"
|
||||
module BSD::Control
|
||||
class EnableFeatureTest < Test::Unit::TestCase
|
||||
require "fileutils"
|
||||
include FileUtils
|
||||
|
||||
def test_enable_feature_lacks_privileges
|
||||
touch(file)
|
||||
class EnableFeatureTest < BSD::Control::Test
|
||||
def test_enable_feature_insufficient_permissions
|
||||
assert_raises(Errno::EPERM) do
|
||||
BSD::Control.feature(:pageexec).enable!(file)
|
||||
end
|
||||
ensure
|
||||
rm(file)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def file
|
||||
File.join(__dir__, "file")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
require_relative "../setup"
|
||||
module BSD::Control
|
||||
class FeatureTest < Test::Unit::TestCase
|
||||
class FeatureTest < BSD::Control::Test
|
||||
def test_pageexec_feature
|
||||
assert_instance_of BSD::Control::Feature,
|
||||
BSD::Control.feature(:pageexec)
|
||||
|
|
|
@ -2,23 +2,11 @@
|
|||
|
||||
require_relative "../setup"
|
||||
module BSD::Control
|
||||
class SysDefTest < Test::Unit::TestCase
|
||||
require "fileutils"
|
||||
include FileUtils
|
||||
|
||||
def test_sysdef!_lacks_privileges
|
||||
touch(file)
|
||||
class SysDefTest < BSD::Control::Test
|
||||
def test_sysdef!_insufficient_permissions
|
||||
assert_raises(Errno::EPERM) do
|
||||
BSD::Control.feature(:pageexec).sysdef!(file)
|
||||
end
|
||||
ensure
|
||||
rm(file)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def file
|
||||
File.join(__dir__, "file")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue