1
0
Fork 0
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:
nobu 2012-12-05 03:59:39 +00:00
parent f1841f43eb
commit 1dd7e5690c

View 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