Commit graph

5576 commits

Author SHA1 Message Date
shirosaki
4d4800a5a7 envutil.rb: kill child process when timeout
* test/ruby/envutil.rb (EnvUtil#invoke_ruby): kill child process
  before Timeout::Error is raised. rmdir of mktmpdir fails with
  EACCES if child process is alive on Windows.

* test/thread/test_queue.rb (TestQueue): increase timeout.
  This test takes long time on Windows XP.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-29 11:19:11 +00:00
shirosaki
e453cc71a8 test_http.rb: clear environment variables
* test/net/http/test_http.rb (TestNetHTTP#test_proxy_address):
  clear environment variables. If http_proxy environment variable was
  set, the test failed.

* test/net/http/test_http.rb (TestNetHTTP#test_proxy_port): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-29 11:19:06 +00:00
shirosaki
d0df0547c6 drbtest.rb: use :KILL on Windows
* test/drb/drbtest.rb (DRbCore#teardown):
  Use Process.kill :KILL on Windows because Process.kill :INT silently
  fails on Windows 7 and raises EINVAL on Windows XP for spawned
  process with new_pgroup: false.

* test/drb/drbtest.rb (DRbAry#teardown): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-29 11:19:02 +00:00
shirosaki
6d1220b013 test_unicode_escape.rb: set script encoding
* test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic):
  set script encoding to work with LANG=C. It would work on both
  Windows and Unix. Refix of r37051.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-29 11:18:57 +00:00
shugo
0954607864 * vm_insnhelper.c (rb_vm_using_modules): use using_modules before
klass to fix method lookup order, and use klass even if klass is
  not a module to make refinements in class_eval invoked on classes
  work.

* eval.c (rb_using_module): accept a class as the second argument.

* eval.c (rb_mod_using, f_using): raise a TypeError if the argument
  is not a module.

* test/ruby/test_refinement.rb: add new tests for the above changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-29 02:21:27 +00:00
shirosaki
93731ef211 * test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic):
Use ruby only on Windows since the test fails on Unix with LANG=C.
  [ruby-core:47709] [Bug #7076]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-28 17:32:06 +00:00
shirosaki
b5de8fcd81 test_unicode_escape.rb: fix test for Windows
* test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic):
  echo command doesn't work properly against non-ascii character on
  Windows with chcp 437. Instead we use ruby.
  [ruby-core:47709] [Bug #7076]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-28 13:43:06 +00:00
shugo
de14055d62 * vm_method.c (search_method): copy refinement iclasses to search
superclasses correctly.

* test/ruby/test_refinement.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-28 06:48:20 +00:00
nobu
4a3c049cd1 io.c: IO#reopen int mode
* io.c (rb_io_reopen): accept File::Constants as well as mode string.
  based on the patch by Glass_saga (Masaki Matsushita) in
  [ruby-core:47694].  [Feature #7067]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-28 01:40:56 +00:00
shugo
8940e37210 * eval.c (rb_overlay_module, rb_mod_refine): accept a module as the
argument of Module#refine.

* vm_method.c (search_method): if klass is an iclass, lookup the
  original module of the iclass in omod in order to allow
  refinements of modules.

* test/ruby/test_refinement.rb: add tests for the above changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-27 09:53:24 +00:00
knu
e0bff65092 * ext/syslog/lib/syslog/logger.rb: add a formatter to the
Syslog::Logger object. [Bug #7065]
* test/syslog/test_syslog_logger.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-27 09:20:58 +00:00
ko1
1bebb22ce1 * insns.def: add new instruction opt_empty_p' for optimize empty?'
method.  Apply a patch proposed at [ruby-dev:46120]
  [ruby-trunk - Feature #6972] by Glass_saga (Masaki Matsushita).
* compile.c (iseq_specialized_instruction), vm.c, vm_insnhelper.h:
  ditto.
* id.c, template/id.h.tmpl: ditto.
* test/ruby/test_optimization.rb: test for this changes.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-26 09:34:46 +00:00
naruse
24793ac32d Revert "Darwin 12 (OS X Mountain Lion) also has Bug #6692"
This reverts commit r37033.
darwin12 seems to use an address started with fe80.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-26 04:03:26 +00:00
naruse
6fc41b0291 Darwin 12 (OS X Mountain Lion) also has Bug #6692
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-26 01:26:09 +00:00
nobu
2301f983d2 test_gem_installer.rb: restore ARGV
* test/rubygems/test_gem_installer.rb
  (TestGemInstaller#test_install_creates_binstub_that_dont_trust_encoding):
  restore ARGV properly, non-ascii strings in different encodings are
  not equal.  [ruby-core:45975] [Bug #6673]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-25 02:14:18 +00:00
nobu
26df05b2f8 test_super.rb: super from BEGIN
* test/ruby/test_super.rb (TestSuper#test_super_in_BEGIN):
  for BEGIN.  [ruby-core:47680] [Bug #7064]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-25 01:10:32 +00:00
nobu
1e56548995 insns.def: super from at_exit
* insns.def (invokesuper): klass in cfp is not valid in at_exit and
  END blocks.  [ruby-core:47680] [Bug #7064]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-25 00:59:29 +00:00
naruse
2eadff346a * iseq.c (rb_iseq_defined_string): the index of defined_strings must
be the value of type - 1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-24 23:17:59 +00:00
naruse
418bbce88a use assert_predicate for unary operator
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-24 12:10:51 +00:00
nobu
2314b80d4c Feature #7035
* compile.c (defined_expr), insns.def (defined): share single frozen
  strings.  [EXPERIMENTAL] [ruby-core:47558][Feature #7035]
* iseq.c (rb_iseq_defined_string): make expression strings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-24 08:36:53 +00:00
naruse
025a2479ae * lib/drb/ssl.rb (DRb::DRbSSLSocket::SSLConfig::DEFAULT): add
SSLTmpDhCallback for configuration option.

* lib/drb/ssl.rb (setup_ssl_context): copy the value of tmp_dh_callback.

* test/drb/ut_array_drbssl.rb: set tmp_dh_callback to suppress warning.

* test/drb/ut_drb_drbssl.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-20 08:05:08 +00:00
naruse
796700aca7 check @there if it is nil to prevent infinite loop
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-20 08:05:05 +00:00
usa
a9fefe7555 * test/drb/ut_drb.rb: revert a part of r36987, and get rid of a warning
with another method.  if the substitution is removed, the ExtSrv
  object will be GC'ed and some tests will be blocked.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-20 01:59:52 +00:00
nobu
abeedb0875 array.c, enum.c: TypeError in zip
* array.c (take_items), enum.c (enum_zip): raise TypeError at
  non-enumerable objects, not NoMethodError.  [ruby-dev:46145]
  [Bug #7038]
* vm_eval.c (rb_check_block_call): check_funcall variant with block
  function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-19 15:42:26 +00:00
naruse
181815422b suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-19 14:49:19 +00:00
nobu
59383b1f9c io.c: io_set_read_length
* io.c (io_set_read_length): if the read length equals to the buffer
  string size then nothing to do.  or ensure the string modifiable
  before setting the length only when the former is shorter.  based on
  the patch in [ruby-core:47541] by Hiroshi Shirosaki.
  [ruby-core:46586] [Bug #6764]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-16 02:39:18 +00:00
nobu
356c085709 test_parse.rb: eval locations
* test/ruby/test_parse.rb: set eval locations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-15 09:26:21 +00:00
kosaki
7198053a49 * lib/thread.rb (Queue#pop): Fixed double registration issue when
mutex.sleep is interrupted. [Bug #5258] [ruby-dev:44448]
* lib/thread.rb (SizedQueue#push): ditto.

* test/thread/test_queue.rb (test_sized_queue_and_wakeup,
test_queue_pop_interrupt, test_sized_queue_pop_interrupt,
test_sized_queue_push_interrupt): new tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-09 12:32:33 +00:00
kosaki
2248a8ce64 * lib/sync.rb (Sync_m#sync_lock): Fixed wakeup/raise unsafe code.
Patched by Masaki Matsushita. [Bug #5355] [ruby-dev:44521]

* test/thread/test_sync.rb (test_sync_lock_and_wakeup,
  test_sync_upgrade_and_wakeup, test_sync_lock_and_raise):
  new test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-09 11:34:47 +00:00
kosaki
fde6de9fc7 * test/ruby/test_io.rb (test_advise_pipe): new test to check
io.advise() against anonymous io object don't make crash.
  made by Eric Wong. [Bug #6081] [ruby-core:42880]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-09 09:24:35 +00:00
nobu
68e47b6122 test_gem_specification.rb: skip meaningless tests
* test/rubygems/test_gem_specification.rb (have_syck): skip tests
  which are meaningless if syck is never possible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-08 07:54:27 +00:00
nobu
d0d68df7d0 mkmf.rb: fix splitting options with an argument
* ext/extmk.rb (extmake), lib/mkmf.rb (have_framework): fix splitting
  options with an argument, not using NUL as special character.
  [ruby-core:47447] [Bug #6987]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-06 16:21:57 +00:00
ryan
a3980eb2b6 Imported minitest 3.4.0 (r7762)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-05 23:24:58 +00:00
naruse
d4e2cb1564 Suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-05 06:23:13 +00:00
nobu
83185f9181 dir.c: fix recursion
* dir.c (glob_make_pattern): names under recursive need to be single
  basenames to match for each name.  [ruby-core:47418] [Bug #6977]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-05 04:30:10 +00:00
nobu
f1df537a83 test_dir_m17n.rb: test_glob_incompatible
* test/ruby/test_dir_m17n.rb (TestDir_M17N#test_glob_incompatible):
  move from test_dir.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-05 03:03:24 +00:00
shirosaki
0dc94b8b3e test_pstore.rb: fix for timeout
* test/ruby/envutil.rb (EnvUtil#invoke_ruby): show Timeout::Error
  instead of IOError if the timeout has expired.

* test/test_pstore.rb
  (PStoreTest#test_pstore_files_are_accessed_as_binary_files):
  increase timeout because this test is slow on Windows.
  [ruby-core:47402] [Bug #6965]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-04 12:45:31 +00:00
emboss
4bb125f91a * test/openssl/test_asn1_rb:
test/openssl/test_ssl_session.rb:
  test/openssl/test_x509name.rb:
  test/openssl/test_buffering.rb:
  test/openssl/test_x509cert.rb:
  test/openssl/test_ssl.rb: Refactor code that leads to warnings on
  Ruby CI.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-03 22:54:12 +00:00
emboss
78755b8d52 * test/openssl/utils.rb: Use DSS1 as DSA signature digest for all
OpenSSL versions < 1.0.0.
  [ruby-core:47405]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-03 22:09:33 +00:00
nobu
7c2230bd8c matrix.rb: complex vector
* lib/matrix.rb (Vector#magnitude): accumulate squares of absolute
  values to fix for complex vector.  [ruby-dev:46100] [Bug #6966]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-03 05:49:06 +00:00
nobu
a4ce3ab4fd remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-03 03:22:22 +00:00
emboss
e29819df6e * ext/openssl/extconf.rb: Detect OpenSSL_FIPS macro
ext/openssl/ossl.c: Expose OpenSSL::OPENSSL_FIPS constant to
  indicate whether OpenSSL runs in FIPS mode.
  test/openssl/test_pkey_dh.rb: Generate 256 bit keys for
  non-FIPS installations to improve test performance (e.g. for
  rubyci).
  test/openssl/utils.rb: Replace DSS1 as certificate signature
  digest with SHA1 for FIPS installations when using DSA by
  introducing TestUtils::DSA_SIGNATURE_DIGEST.
  test/openssl/test_x509cert.rb: 
  test/openssl/test_x509crl.rb:
  test/openssl/test_x509req.rb: Use DSA_SIGNATURE_DIGEST
  NEWS: Introduce OpenSSL::OPENSSL_FIPS
  
  These changes allow running the OpenSSL tests in FIPS mode
  while keeping a high performance for non-FIPS installations.
  Introduction of OpenSSL::OPENSSL_FIPS allows for applications
  to react to special requirements when using OpenSSL in FIPS mode.
  [Feature #6946] [ruby-core:47345]
- Diese und die folgenden Zeilen werden ignoriert --

M    ext/openssl/extconf.rb
M    ext/openssl/ossl.c
M    NEWS
M    ChangeLog
M    test/openssl/utils.rb
M    test/openssl/test_x509crl.rb
M    test/openssl/test_x509req.rb
M    test/openssl/test_x509cert.rb
M    test/openssl/test_pkey_dh.rb


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-03 01:14:26 +00:00
emboss
5aa3caaa5d * test/openssl/utils.rb: Use a cached DH key instead of generating a
new one each time.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-02 12:50:02 +00:00
naruse
8e9bbfd513 * lib/webrick/ssl.rb (WEBrick::Config::SSL): add new key
SSLTmpDhCallback to set SSLContext#tmp_dh_calback.

* lib/webrick/ssl.rb (WEBrick::GenericServer#setup_ssl_context):
  follow above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-01 20:46:31 +00:00
naruse
b238b5be91 Use 0 as port like #6766 [Bug #6959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-01 20:46:27 +00:00
emboss
25e6db3e3c * ext/openssl/extconf.rb: Check existence of OPENSSL_NPN_NEGOTIATED.
ext/ossl_ssl.c: Support Next Protocol Negotiation. Protocols to be
  advertised by the server can be set in the SSLContext by using
  SSLContext#npn_protocols=, protocol selection on the client is
  supported by providing a selection callback with
  SSLContext#npn_select_cb. The protocol that was finally negotiated
  is available through SSL#npn_protocol.
  test/openssl/test_ssl.rb: Add tests for Next Protocol Negotiation.
  NEWS: add news about NPN support.
  [Feature #6503] [ruby-core:45272]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-31 09:47:36 +00:00
usa
15293df7d7 * test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_to_f): added
for previous commit.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-31 05:52:10 +00:00
nobu
d7ca01a73a bigdecimal.c: check underflow
* ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): check underflow since
  strtod() sets errno to ERANGE at underflow too.  [ruby-core:47342]
  [Bug #6944]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-30 07:17:56 +00:00
naruse
37cc18d54b * lib/uri/ftp.rb (URI::FTP#initialize): raise InvalidURIError if "//"
is not present [ruby-core:47344] [Bug #6945]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-30 00:22:11 +00:00
luislavena
608a1f4476 test/ruby/test_file_exhaustive.rb: fix test for HOME-less envs
* test/ruby/test_file_exhaustive.rb: fix test introduced in r36811 for
  posix environments where HOME is not defined.  [ruby-core:47322]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-29 22:45:24 +00:00