You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
724 B
29 lines
724 B
require_relative('helper')
|
|
require 'rpm/compat'
|
|
|
|
class RPMDependencyTests < Minitest::Test
|
|
EQ = RPM::SENSE_EQUAL
|
|
LT = RPM::SENSE_LESS
|
|
GT = RPM::SENSE_GREATER
|
|
|
|
def test_satisfy
|
|
prv = provides('foo', '2', '1', 0, EQ)
|
|
req = requires('foo', '1', '1', 0, EQ | GT)
|
|
assert(req.satisfy?(prv))
|
|
assert(prv.satisfy?(req))
|
|
|
|
# Different names don't overlap
|
|
prv = provides('foo', '2', '1', 0, EQ)
|
|
req = requires('bar', '1', '1', 0, EQ | GT)
|
|
assert(!req.satisfy?(prv))
|
|
end
|
|
|
|
def provides(name, v, r, e, sense)
|
|
RPM::Provide.new(name, RPM::Version.new(v, r, e), sense, nil)
|
|
end
|
|
|
|
def requires(name, v, r, e, sense)
|
|
RPM::Require.new(name, RPM::Version.new(v, r, e), sense, nil)
|
|
end
|
|
end
|