Commit graph

5576 commits

Author SHA1 Message Date
emboss
9871dd5783 * test/openssl/utils.rb
test/openssl/test_pair.rb
  test/openssl/test_pkey_dh.rb: Use 1024 bit DH parameters to satisfy
  OpenSSL FIPS requirements. Patch by Vit Ondruch.
  [Bug #6938] [ruby-core:47326]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-28 20:03:32 +00:00
tenderlove
2caa432c6a adding test coverage for invalid attribute names
Fixes #171 on github

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-27 17:57:32 +00:00
shirosaki
a5849245c6 test_etc.rb: fix for non unique GID
* test/etc/test_etc.rb (TestEtc#test_getgrgid): fix for non unique GID.
  No unixen systems guarantee that GID is unique. Etc.getgrgid would
  not return the first entry in the order of Etc.group for shared GID.
  [ruby-core:47312] [Bug #6935]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-27 11:57:43 +00:00
naruse
9ae270bf88 Fix r36805.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-24 06:57:20 +00:00
luislavena
86df08dac6 Improve require/File.expand_path performance on Windows
* configure.in (mingw): add shlwapi to the list of dependency
  libs for Windows.
* win32/Makefile.sub (EXTSOLIBS): ditto.

* internal.h: declare internal functions rb_w32_init_file,
  rb_file_expand_path_internal and rb_file_expand_path_fast.

* file.c (Init_File): invoke Windows initialization rb_w32_init_file

* win32/file.c (rb_file_load_path_internal): new function.
  Windows-specific implementation that replaces file_expand_path.
  [Bug #6836][ruby-core:46996]

* win32/file.c (rb_w32_init_file): new function. Initialize codepage
  cache for faster conversion encodings lookup.

* file.c (file_expand_path): rename to rb_file_expand_path_internal.
  Conditionally exclude from Windows.

* file.c (rb_file_expand_path_fast): new function. delegates to
  rb_file_expand_path_internal without performing a hit to the
  filesystem.

* file.c (file_expand_path_1): use rb_file_expand_path_internal without
  path expansion (used by require).
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.

* load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast.
* load.c (rb_feature_provided): ditto.

* file.c (rb_file_expand_path): use rb_file_expand_path_internal with
  path expansion.
* file.c (rb_file_absolute_path): ditto.

* test/ruby/test_file_exhaustive.rb: new tests to exercise
  rb_file_expand_path_internal implementation and compliance with
  existing behaviors.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-24 03:44:56 +00:00
tenderlove
d3e0fe6b2f Added a test for CoW strings.
by John Shahid <jvshahid@gmail.com>
https://github.com/ruby/ruby/pull/148

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 21:14:31 +00:00
naruse
180a2fbf9d Test for r36803's singleton_class_of.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 11:58:39 +00:00
usa
1e73d66f6b * test/ruby/test_fixnum.rb (TestFixnum#test_singleton_method): new test.
* test/ruby/test_bignum.rb (TestBignum#test_singleton_method): ditto.

* test/ruby/test_float.rb (TestFloat#test_singleton_method): ditto.

* test/ruby/test_symbol.rb (TestSymbol#test_singleton_method): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 11:51:30 +00:00
nobu
c68d29960b load.c: keep encoding of feature name
* file.c (rb_find_file_ext_safe, rb_find_file_safe): default to
  US-ASCII for encdb and transdb.
* load.c (search_required): keep encoding of feature name.  set
  loading path to filesystem encoding.  [Bug #6377][ruby-core:44750]
* ruby.c (add_modules, require_libraries): assume default external
  encoding as well as ARGV.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 07:46:12 +00:00
shugo
55cf24d378 * insns.def (invokesuper): reverted r36640 partially to make super
in a thread work correctly. [ruby-core:47284] [Bug #6907]

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 04:00:25 +00:00
usa
a394604412 * test/open-uri/test_open-uri.rb (TestOpenURI#test_read_timeout): this
test expects that the server thread will be killed in sleep, but 0.01
  sec is too short to reach there.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 02:35:01 +00:00
tenderlove
5571c7315e * ext/syck: removed. Fixes [ruby-core:43360]
* test/syck: removed.

* lib/yaml.rb: only require psych, show a warning if people try to set
  the engine to syck.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 17:43:16 +00:00
tenderlove
51a41dd056 * insns.def: search up the cf stack for an object that is an instance
of the recipient class.  Fixes [ruby-core:47186]

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 16:51:08 +00:00
tadf
280681f40c * ext/date/date_core.c: [ruby-core:47226].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 10:42:15 +00:00
ko1
d28e07d57b * vm_trace.c: support TracePoint. [ruby-trunk - Feature #6895]
* test/ruby/test_settracefunc.rb: add tests for above.
* proc.c (rb_binding_new_with_cfp): add an internal function.
* vm.c (rb_vm_control_frame_id_and_class): add an internal function.
* vm_trace.c: add rb_add_event_hook2() and rb_thread_add_event_hook2().
  Give us the good name for them!



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 05:12:31 +00:00
shugo
bf797ed9b0 * vm_insnhelper.c (vm_setup_method): should not enable tail call
optimization for frames with VM_FRAME_FLAG_FINISH.
  [ruby-dev:46065] [Bug #6901]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 02:25:16 +00:00
naruse
7a69af7461 * lib/rubygems/test_case.rb: run test with psych if exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 02:22:03 +00:00
naruse
bbb6b5e84e * lib/cgi/util.rb (CGI.escapeHTML): use &#39;
[ruby-core:47221] [Bug #6861]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 22:30:47 +00:00
naruse
b0837c440e Suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 22:30:43 +00:00
eregon
d4c84d175e make FileUtils tests safe when interrupting in setup
* test/fileutils/test_fileutils.rb (TestFileUtils#teardown):
  do not assume cwd is TMPROOT and never remove current directory.
  [ruby-core:47224][Bug #6884]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 11:32:18 +00:00
nobu
d059d718b5 remove trainling spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 04:50:18 +00:00
ko1
dc78d90ad1 * test_continuation.rb (tracing_with_thread_set_trace_func):
fix to use Thread#set_trace_func(nil), not set_trace_func(nil).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 01:41:07 +00:00
ryan
17dde49326 Imported minitest 3.3.0 (r7676)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 00:39:57 +00:00
usa
ba661182a4 * test/testunit/tests_for_parallel/ptest_forth.rb: added a test case
which causes an error.

* test/testunit/test_parallel.rb: follow above change.
  see [Bug #6882]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 00:07:32 +00:00
jeg2
3c3e659196 * lib/csv.rb: Fixes #161 on github
* lib/csv.rb:  You can now specify a pattern for :skip_lines.
  Matching lines will not be passed to the CSV parser.
* lib/csv.rb:  Patch by Christian Schwartz.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-20 20:52:36 +00:00
nobu
ceece4650a vm_insnhelper.c: iclass as klass in cfp
* vm_insnhelper.c (vm_call_method): follow iclasses as klass in cfp
  but not included modules.  [ruby-core:47241] [Bug #6891]
* vm_insnhelper.c (vm_call_bmethod): pass defined_class to follow
  proper ancestors.  [ruby-core:47241] [Bug #6891]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-20 11:36:34 +00:00
nobu
de83cb9b20 test_module.rb: workaround for ruby-mode.el
* test/ruby/test_module.rb (TestModule#test_undef): get rid of
  confusing ruby-mode.el by mixing special characters in //.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-20 07:31:48 +00:00
nobu
b421bd0e12 object.c: preserve encodings
* object.c (rb_any_to_s, rb_obj_inspect): preserve encodings of class
  name and instance variable names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 14:29:00 +00:00
ko1
4a4a702e61 * vm_trace.c, vm_core.h: simplify tracing mechanism.
(1) add rb_hook_list_t data structure which includes
  hooks, events (flag) and `need_clean' flag.
  If the last flag is true, then clean the hooks list.
  In other words, deleted hooks are contained by `hooks'.
  Cleanup process should run before traversing the list.
  (2) Change check mechanism
  See EXEC_EVENT_HOOK() in vm_core.h.
  (3) Add `raw' hooks APIs
  Normal hooks are guarded from exception by rb_protect().
  However, this protection is overhead for too simple
  functions which never cause exceptions.  `raw' hooks
  are executed without protection and faster.
  Now, we only provide registration APIs.  All `raw'
  hooks are kicked under protection (same as normal hooks).
* include/ruby/ruby.h: remove internal data definition and
  macros.
* internal.h (ruby_suppress_tracing), vm_trace.c: rename
  ruby_suppress_tracing() to rb_suppress_tracing()
  and remove unused function parameter.
* parse.y: fix to use renamed rb_suppress_tracing().
* thread.c (thread_create_core): no need to set RUBY_VM_VM.
* vm.c (mark_event_hooks): move definition to vm_trace.c.
* vm.c (ruby_vm_event_flags): add a global variable.
  This global variable represents all of Threads and VM's
  event masks (T1#events | T2#events | ... | VM#events).
  You can check the possibility kick trace func or not
  with ruby_vm_event_flags.
  ruby_vm_event_flags is maintained by vm_trace.c.
* cont.c (fiber_switch, rb_cont_call): restore tracing status.
  [Feature #4347]
* test/ruby/test_continuation.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 11:41:24 +00:00
nobu
9528358120 object.c: forbid uninitialized class
* object.c (rb_class_initialize): forbid inheriting uninitialized
  class.  another class tree not based on BasicObject cannot exist.
  [ruby-core:47148][Bug #6863]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 10:15:28 +00:00
nobu
f230b1ec98 test_printf.rb: need to be infected
* test/-ext-/test_printf.rb (Test_SPrintf#test_{taint,untrust}): use
  plain object so that the results of to_s and inspect are infected.
  [ruby-dev:46053] [Bug #6881]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 02:52:09 +00:00
eregon
fd7dc23d28 Kernel#inspect: improve consistency and do not call #to_s.
* object.c (rb_obj_inspect): Kernel#inspect: do not call #to_s. A class
  can now benefit from the nice default #inspect even if it defines #to_s.
  Also, there is no more unexpected change in #inspect result.
* NEWS: Add note about the change.
* bignum.c, io.c, numeric.c, object.c, proc.c, vm.c (Init_*):
  Adapt internal structures (by aliasing #inspect to #to_s) so they
  don't rely on the removed behavior (#inspect calling overridden #to_s).
* test/ruby/test_object.rb (test_inspect): add tests for Kernel#inspect.
* lib/pp.rb (class PP): do not call #to_s anymore, as #inspect
  no more does (mame).
* test/test_pp.rb (class PPInspectTest): remove related assertion (mame).
  [ruby-core:43238][Feature #6130]
* test/drb/drbtest.rb (DRbCore#teardown, DRbAry#teardown):
  adapt DRb tests with the new change (shirosaki).
  [ruby-core:47182][Bug #6866]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 11:50:01 +00:00
nobu
665b06ec5b sprintf.c: infect
* sprintf.c (ruby__sfvextra): the result should be infected by the
  given strings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 07:26:55 +00:00
nobu
bb545e2131 sprintf.c: coderange fix
* sprintf.c (ruby__sfvwrite): set buffer length and exclude
  uninitialized garbage to get correct coderange.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 07:23:38 +00:00
naruse
780e7d0951 Revert r36699 and r36700. [Feature #6130]
Revert "Kernel#inspect: improve consistency and do not call #to_s."
Revert "update PP with recent Kernel#inspect change. Patch by Yusuke Endoh."

r36699 cause test-all failure on test/drb/test_drb.rb and
test/drb/test_drbssl.rb. Run test-all before commit.

Moreover its ChangeLog formst is wrong: see CommitterHowto
https://bugs.ruby-lang.org/projects/ruby/wiki/CommitterHowto#ChangeLog

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 01:09:10 +00:00
eregon
e1aa72d441 update PP with recent Kernel#inspect change. Patch by Yusuke Endoh.
* lib/pp.rb (class PP): do not call #to_s anymore, as #inspect no more does.
* test/test_pp.rb (class PPInspectTest): remove related assertion.
  [ruby-core:43238][Feature #6130]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 10:21:04 +00:00
eregon
795c29dcda Kernel#inspect: improve consistency and do not call #to_s.
A class can now benefit from the nice default #inspect even if it
defines #to_s. Also, there is no more unexpected change in #inspect
result. Internal structures have been adapted so they don't rely
on the removed behavior (#inspect calling overridden #to_s).

* object.c (rb_obj_inspect): Kernel#inspect: do not call #to_s.
* test/ruby/test_object.rb (test_inspect): add tests for Kernel#inspect.
* bignum.c, io.c, numeric.c, object.c, proc.c, vm.c (Init_*):
  alias #inspect to #to_s where it was expected.
  [ruby-core:43238][Feature #6130]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 10:20:44 +00:00
shugo
f42a7c0951 * test/erb/test_erb.rb (test_html_escape): add assertions for the
cases where the argument is not a String.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 07:28:43 +00:00
usa
104b5c7810 * test/ruby/test_file_exhaustive.rb
(TestFileExhaustive#test_stat_dotted_prefix): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 07:03:18 +00:00
naruse
b3a4461df2 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 06:52:41 +00:00
usa
9933a6019f * test/ruby/test_file_exhaustive.rb
(TestFileExhaustive#test_stat_drive_root): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 06:39:46 +00:00
xibbar
745ada8649 Tue Aug 14 11:55:37 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
* lib/cgi/util.rb (CGI::escapeHTML): &apos; is not recommended. [Bug #6850]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 03:03:42 +00:00
shugo
4e75451a16 * test/erb/test_erb.rb (test_html_escape): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-13 06:39:40 +00:00
shugo
4093598bf6 * lib/erb.rb (ERB::Util.html_escape): use CGI.escape to escape
single quotes. [ruby-core:47138] [Bug #6861]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-13 04:17:00 +00:00
ktsj
9564e9bd23 * vm.c (invoke_block_from_c): fix unintentional block passing.
[ruby-dev:45071] [Bug #5832]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-12 03:04:42 +00:00
naruse
ccf911a02d Refix r36678: switch with zlib and check content-encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-10 10:53:18 +00:00
naruse
89c88eb5a9 Suppress warnings: Net::HTTPResponse#header is obsolete
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-10 05:25:08 +00:00
naruse
7391ae231a Run automatic deflate decoding only if it has zlib.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-10 05:25:04 +00:00
shirosaki
dcd7f09be2 Optimize winnt_stat
* test/ruby/test_file_exhaustive.rb
  (TestFileExhaustive#test_stat_special_file): add a test.
  GetFileAttributesExW fails to get attributes of special files
  such as pagefile.sys.

* win32/win32.c (check_valid_dir): for performance, check the path
  by FindFirstFileW only if the path containts "..."

* win32/win32.c (winnt_stat): use GetFileAttributesExW instead of
  FindFirstFileW since GetFileAttributesExW is faster.
  Based on the patch by Dusan D. Majkic.
  [ruby-core:47083] [Feature #6845]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 11:34:48 +00:00
kosaki
f207f7793d * test/openssl/test_config.rb (OpenSSL#test_constants): skip this
test if platform is Mac OS X or Windows. [Bug #6830]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 03:42:00 +00:00