Commit graph

10514 commits

Author SHA1 Message Date
duerst
96d375540f test/test-unicode_normalize.rb: added test_us_ascii.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-25 11:19:22 +00:00
svn
6e9ff5a892 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-25 11:01:07 +00:00
duerst
bdea9273ca test/test-unicode_normalize.rb: added test_raise_exception_for_non_unicode_encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-25 11:01:05 +00:00
duerst
b3494924b6 test/test-unicode_normalize.rb: removed unused function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-25 10:30:36 +00:00
nobu
26143970c1 rake/cpu_counter.rb: use Etc.nprocessors
* lib/rake/cpu_counter.rb (count): prefer Etc.nprocessors, which
  is hundreds times faster.

* test/rake/test_rake_cpu_counter.rb: add tests for features, and
  remove useless tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-25 03:52:46 +00:00
nobu
5940b1f6fc parse.y: fix fluent interface identifier
* parse.y (parser_yylex): dispatch newline and space at fluent
  interface, so that the following identifier does not include the
  space.  [ruby-dev:48684] [Bug #10411]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-24 13:49:44 +00:00
nobu
b5f3b4cb09 test_object.rb: for r48118
* test/ruby/test_object.rb: assertion for r48118.  defined method
  should be called.  [Bug #10421]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 16:23:46 +00:00
nobu
d4c22161f3 test/-ext-/hash/test_delete.rb: assert deleted values
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 14:18:32 +00:00
nobu
ca7835bec6 hash.c: rb_hash_delete does not call the block
* hash.c (rb_hash_delete): now does not call the block given to
  the current method.  [ruby-core:65861] [Bug #10413]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 12:42:57 +00:00
nobu
d8918fa6b5 test_unicode_normalize.rb: show error messages
* test/test_unicode_normalize.rb (generate_test_normalize): defer
  building explicit error messages until assertion failed.  this
  is 3% slower than @@debug = false.

  (generate_test_check_true): ditto.
  (generate_test_check_false): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 12:36:25 +00:00
nobu
3d86412335 test_object.rb: avoid confusing ruby-mode.el
* test/ruby/test_object.rb: get rid of confusing ruby-mode.el
  string highlight.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 10:16:24 +00:00
nobu
8dc89b34c1 vm_method.c: no redefinition warnings for undefined methods
* vm_method.c (rb_method_entry_make): warn redefinition only for
  already defined methods, but not for undefined methods.
  [ruby-dev:48691] [Bug #10421]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 10:13:29 +00:00
kou
93647e81a6 * lib/rexml/source.rb (REXML::IOSource#encoding_updated): Fix a
bug that can't parse XML correctly when
  Encoding.default_internal is different with XML
  encoding. REXML::Source converts XML encoding on read. So IO
  should not convert XML encoding.
  Based on patch by NAKAMURA Usaku.
  [ruby-dev:48686] [Bug #10418]

* test/rexml/test_encoding.rb
  (REXMLTests::EncodingTester#test_parse_utf16_with_utf8_default_internal):
  Add the for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 08:23:10 +00:00
kou
f6c56982ab * test/rexml/test_encoding.rb
(REXMLTests::EncodingTester#test_parse_utf16): Use meaningful
  test name. "ticket" in the old test name means the ticket in
  REXML's issue tracker. The REXML's issue tracker was gone. So
  "ticket" is meaningless.

* test/rexml/data/ticket_110_utf16.xml: Rename to ...
* test/rexml/data/utf16.xml: ... this.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 07:31:31 +00:00
kou
7a608ada8f * test/rexml/test_encoding.rb
(REXMLTests::EncodingTester#test_ticket_110): Fix expected and
  actual order.
  Patch by NAKAMURA Usaku. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 07:26:39 +00:00
normal
a8ed25ea12 test/ruby/test_process.rb: use io/wait instead of timeout
Occasionally I get timeout errors during this test on an
overloaded system, so we may need to increase timeouts anyways.
For now, avoid the overhead of thread creation for every read we
do.

* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
  use IO#wait_readable instead of timeout

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 01:37:04 +00:00
normal
000e2b816d test/ruby/test_process.rb: ensure exit! on fork failure
* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
  ensure exit! on fork failure

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 01:36:55 +00:00
nobu
67121b5060 class.c: delete expected keywords directly
* class.c (unknown_keyword_error): delete expected keywords
  directly from raw table, so that the given block is not called.
  [ruby-core:65837] [Bug #10413]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 18:41:54 +00:00
usa
86f5f02677 * test/test_unicode_normalize.rb: set encoding when reading.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 11:03:23 +00:00
nobu
8491998165 test/test_unicode_normalize.rb: don't set default encodings globally
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 10:55:13 +00:00
usa
6dd2a4810e * test/test-unicode_normalize.rb: as often said, ruby is sometimes built
at non-srcdir.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 09:14:24 +00:00
duerst
84f9fa8773 test/test-unicode_normalize.rb: Adjusted path for test data file (now ../enc/unicode/data/NormalizationTest.txt).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 09:12:14 +00:00
duerst
30b837b47c test/test-unicode_normalize.rb: Removed explicit require, changed method names, adjusted copyright.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 09:06:49 +00:00
duerst
15bfe2793a test/test-unicode_normalize.rb: Importing from
https://github.com/duerst/eprun/blob/master/test/test_normalize.rb.
(removing trailing whitespace, fixing EOLs and adding EOL property)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 09:00:04 +00:00
nobu
3136025cd1 test_module.rb: test with UTF-8
* test/ruby/test_module.rb (test_uninitialized_instance_variable):
  test with UTF-8 default external encoding for non-locale
  environments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 07:38:53 +00:00
nobu
bd2d094aab vm_insnhelper.c: preserve encoding
* vm_insnhelper.c (vm_getivar): preserve variable name encoding in
  warning message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 05:20:39 +00:00
ktsj
231f45ad36 * vm_core.h, vm.c, proc.c: fix GC mark miss on bindings.
[ruby-dev:48616] [Bug #10368]

* test/ruby/test_eval.rb: add a test code.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-18 11:46:31 +00:00
akr
108627d911 * pack.c (pack_unpack): Add casts for char references for 'u'.
Fix line ending recognition algorithm.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-17 14:28:34 +00:00
akr
0d4185f30e * Avoid undefined behaviors found by gcc -fsanitize=undefined.
gcc (Debian 4.9.1-16) 4.9.1

* string.c (rb_str_sum): Avoid undefined behavior.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-17 09:49:28 +00:00
nobu
a2797a454c re.c: mak eregexps with binary escapes ASCII-8BIT
* re.c (unescape_nonascii): make dynamically compiled US-ASCII
  regexps ASCII-8BIT encoding if binary (hexadecimal, control,
  meta) escapes are contained, as well as literal regexps.
  [ruby-dev:48626] [Bug #10382]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-17 06:06:43 +00:00
normal
585e1594c9 Revert r47971, r47972 [ruby-core:65764]
The current implementation currently delivers signals to self
immediately and synchronously, so we do not need explicit,
potentially-confusing sleeps to wait for signal delivery.

* test/-ext-/bug_reporter/test_bug_reporter.rb
  (test_bug_reporter_add): revert r47972
* test/ruby/test_rubyoptions.rb (test_segv_test): revert r47971
  [ruby-core:65764]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-16 18:11:49 +00:00
akr
6338a3a4a4 Set an encoding for SEGV message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-16 13:18:44 +00:00
akr
4c02456b3d Set ASCII-8BIT encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-16 12:27:43 +00:00
akr
53da7250ed * test/ruby/envutil.rb (assert_pattern_list): Show number of matched
patterns and characters.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-16 11:18:06 +00:00
nobu
04e5c65ff7 parse.y: do not use disposed string
* parse.y (parser_here_document): do not append already appended
  and disposed code fragment.  [ruby-dev:48647] [Bug #10392]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-16 06:05:03 +00:00
normal
eec651a05e test/-ext-/bug_reporter/test_bug_reporter.rb: fix race
Signal delivery is not immediate, so wait for signal delivery.

* test/-ext-/bug_reporter/test_bug_reporter.rb
  (test_bug_reporter_add): fix race

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-16 02:01:51 +00:00
normal
720ef2546d test/ruby/test_rubyoptions.rb: fix race
Signal delivery is not guaranteed to be immediate, a process may
exit before receiving signal it sent itself.

* test/ruby/test_rubyoptions.rb (test_segv_test): fix race

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-16 01:10:53 +00:00
normal
e03546fd4c test/ruby/test_process.rb: avoid killing wrong parent
We must capture intended target PID before forking, since
Process.ppid may change if parent dies (e.g. due to timeout)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-16 00:06:09 +00:00
akr
1451377e75 Simplify multiline condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15 11:28:52 +00:00
akr
e67b307e55 Simplify a regexp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15 10:57:17 +00:00
akr
ac7190349c Unused variable removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15 09:57:17 +00:00
akr
e1ba2d418a * test/ruby/envutil.rb (assert_pattern_list) Renamed from
assert_regexp_list.
  Show multiline string in multi lines.

* test/-ext-/bug_reporter/test_bug_reporter.rb: Use
  assert_pattern_list.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15 08:59:46 +00:00
nobu
723cee93c4 enum.c: nil if no iteration
* enum.c (enum_inject): return nil if no iteration, instead of
  Qundef.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15 06:27:30 +00:00
nobu
e02c5f346f test_rubyoptions.rb: split regexps
* test/ruby/test_rubyoptions.rb (SEGVTest::ExpectedStderrList):
  split backtrace information regexps.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15 05:59:11 +00:00
akr
2386407223 * test/ruby/envutil.rb (assert_regexp_list): New assertion method.
* test/ruby/test_rubyoptions.rb: Use assert_regexp_list.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15 03:27:37 +00:00
akr
7643c2b37d Extract assert_segv and split the big regexp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15 00:04:50 +00:00
normal
d63a88c0b5 test/ruby/test_optimization.rb (test_string_size): new test
String#size may be overridden, so test for it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-14 22:01:54 +00:00
normal
a1ad7b51f5 test/ruby/test_optimization.rb: redefinition tests for String
* test/ruby/test_optimization.rb (test_string_eq_neq): new test
  (test_string_ltlt): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-14 21:52:56 +00:00
normal
5733a57455 test/ruby/test_optimization.rb (test_hash_aset_with): assert assignment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-14 21:52:45 +00:00
normal
18828191d4 test new optimizations for redefines
* test/ruby/test_optimization.rb (test_string_freeze): new test
  (test_hash_aref_with): ditto
  (test_hash_aset_with): ditto

Our new (in 2.2) optimizations must not trigger when redefined.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-14 01:21:48 +00:00