mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* test/mkmf/test_have_library.rb: tests for have_library.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f1841f43eb
commit
1dd7e5690c
1 changed files with 45 additions and 0 deletions
45
test/mkmf/test_have_library.rb
Normal file
45
test/mkmf/test_have_library.rb
Normal file
|
@ -0,0 +1,45 @@
|
|||
require_relative 'base'
|
||||
require 'tempfile'
|
||||
|
||||
class TestMkmf
|
||||
class TestHaveLibrary < TestMkmf
|
||||
LIBRARY_NAME = 'mkmftest'
|
||||
HEADER_NAME = "#{LIBRARY_NAME}.h"
|
||||
FUNC_NAME = 'ruby_mkmftest_foo'
|
||||
ARPREFIX = config_string('LIBRUBY_A') {|lib| lib[/\A\w+/]}
|
||||
|
||||
def create_library(libname = LIBRARY_NAME)
|
||||
lib = "#{ARPREFIX}#{libname}.#{$LIBEXT}"
|
||||
open(HEADER_NAME, "w") do |hdr|
|
||||
hdr.puts "void #{FUNC_NAME}(void);"
|
||||
hdr.puts "void #{FUNC_NAME}_fake(void);"
|
||||
end
|
||||
create_tmpsrc("#include \"#{HEADER_NAME}\"\n""void #{FUNC_NAME}(void) {}")
|
||||
xsystem(cc_command)
|
||||
xsystem("#{CONFIG['AR']} #{config_string('ARFLAGS') || 'cru '}#{lib} conftest.#{$OBJEXT}")
|
||||
File.unlink("conftest.#{$OBJEXT}")
|
||||
config_string('RANLIB') do |ranlib|
|
||||
xsystem("#{ranlib} #{lib}")
|
||||
end
|
||||
end
|
||||
|
||||
def test_have_library
|
||||
create_library
|
||||
assert_equal(true, have_library(LIBRARY_NAME), MKMFLOG)
|
||||
end
|
||||
|
||||
def test_have_library_with_name
|
||||
create_library
|
||||
assert_equal(true, have_library(LIBRARY_NAME, FUNC_NAME, HEADER_NAME), MKMFLOG)
|
||||
end
|
||||
|
||||
def test_no_have_library
|
||||
assert_equal(false, have_library(LIBRARY_NAME), MKMFLOG)
|
||||
end
|
||||
|
||||
def test_no_have_library_with_name
|
||||
create_library
|
||||
assert_equal(false, have_library(LIBRARY_NAME, "#{FUNC_NAME}_fake", HEADER_NAME), MKMFLOG)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue