From abbabbf8c8187f704cfa6a76789d496250658dbf Mon Sep 17 00:00:00 2001 From: usa Date: Thu, 20 Apr 2017 01:36:11 +0000 Subject: 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 --- test/ruby/test_extlibs.rb | 85 ----------------------------------------------- test/test_extlibs.rb | 85 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 85 deletions(-) delete mode 100644 test/ruby/test_extlibs.rb create mode 100644 test/test_extlibs.rb (limited to 'test') diff --git a/test/ruby/test_extlibs.rb b/test/ruby/test_extlibs.rb deleted file mode 100644 index 9b82b4f8cd..0000000000 --- a/test/ruby/test_extlibs.rb +++ /dev/null @@ -1,85 +0,0 @@ -# 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 diff --git a/test/test_extlibs.rb b/test/test_extlibs.rb new file mode 100644 index 0000000000..9b82b4f8cd --- /dev/null +++ b/test/test_extlibs.rb @@ -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 -- cgit v1.2.3