mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Move test_extlibs.rb because it's not the test of ruby itself
* test/test_extlibs.rb: moved from test/ruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
edd063ab1a
commit
abbabbf8c8
1 changed files with 0 additions and 0 deletions
85
test/test_extlibs.rb
Normal file
85
test/test_extlibs.rb
Normal file
|
@ -0,0 +1,85 @@
|
|||
# frozen_string_literal: false
|
||||
require "envutil"
|
||||
require "shellwords"
|
||||
|
||||
class TestExtLibs < Test::Unit::TestCase
|
||||
@extdir = $".grep(/\/rbconfig\.rb\z/) {break "#$`/ext"}
|
||||
|
||||
def self.check_existence(ext, add_msg = nil)
|
||||
return if @excluded.any? {|i| File.fnmatch?(i, ext, File::FNM_CASEFOLD)}
|
||||
add_msg = ". #{add_msg}" if add_msg
|
||||
log = "#{@extdir}/#{ext}/mkmf.log"
|
||||
define_method("test_existence_of_#{ext}") do
|
||||
assert_separately([], <<-"end;", ignore_stderr: true) # do
|
||||
log = #{log.dump}
|
||||
msg = proc {
|
||||
"extension library `#{ext}' is not found#{add_msg}\n" <<
|
||||
(File.exist?(log) ? File.binread(log) : "\#{log} not found")
|
||||
}
|
||||
assert_nothing_raised(msg) do
|
||||
require "#{ext}"
|
||||
end
|
||||
end;
|
||||
end
|
||||
end
|
||||
|
||||
def windows?
|
||||
/mswin|mingw/ =~ RUBY_PLATFORM
|
||||
end
|
||||
|
||||
excluded = [RbConfig::CONFIG, ENV].map do |conf|
|
||||
if args = conf['configure_args']
|
||||
args.shellsplit.grep(/\A--without-ext=/) {$'.split(/,/)}
|
||||
end
|
||||
end.flatten.compact
|
||||
excluded << '+' if excluded.empty?
|
||||
if windows?
|
||||
excluded.map! {|i| i == '+' ? ['pty', 'syslog'] : i}
|
||||
excluded.flatten!
|
||||
else
|
||||
excluded.map! {|i| i == '+' ? '*win32*' : i}
|
||||
end
|
||||
@excluded = excluded
|
||||
|
||||
check_existence "bigdecimal"
|
||||
check_existence "continuation"
|
||||
check_existence "coverage"
|
||||
check_existence "date"
|
||||
#check_existence "dbm" # depend on libdbm
|
||||
check_existence "digest"
|
||||
check_existence "digest/bubblebabble"
|
||||
check_existence "digest/md5"
|
||||
check_existence "digest/rmd160"
|
||||
check_existence "digest/sha1"
|
||||
check_existence "digest/sha2"
|
||||
check_existence "etc"
|
||||
check_existence "fcntl"
|
||||
check_existence "fiber"
|
||||
check_existence "fiddle"
|
||||
#check_existence "gdbm" # depend on libgdbm
|
||||
check_existence "io/console"
|
||||
check_existence "io/nonblock"
|
||||
check_existence "io/wait"
|
||||
check_existence "json"
|
||||
check_existence "mathn/complex"
|
||||
check_existence "mathn/rational"
|
||||
check_existence "nkf"
|
||||
check_existence "objspace"
|
||||
check_existence "openssl", "this may be false positive, but should assert because rubygems requires this"
|
||||
check_existence "pathname"
|
||||
check_existence "psych"
|
||||
check_existence "pty"
|
||||
check_existence "racc/cparse"
|
||||
check_existence "rbconfig/sizeof"
|
||||
#check_existence "readline" # depend on libreadline
|
||||
check_existence "ripper"
|
||||
check_existence "sdbm"
|
||||
check_existence "socket"
|
||||
check_existence "stringio"
|
||||
check_existence "strscan"
|
||||
check_existence "syslog"
|
||||
check_existence "thread"
|
||||
check_existence "Win32API"
|
||||
check_existence "win32ole"
|
||||
check_existence "zlib", "this may be false positive, but should assert because rubygems requires this"
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue