Commit graph

5121 commits

Author SHA1 Message Date
tenderlove
3c73f44c7f * ext/psych/parser.c: just get the constant defined in Ruby.
* ext/psych/lib/psych/syntax_error.rb: Psych::SyntaxError now inherits
  from StandardError rather than SyntaxError.  Thanks Eric Hodel!

* test/psych/test_exception.rb: tests for change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:25:02 +00:00
tenderlove
ec3056ae22 * ext/psych/lib/psych/scalar_scanner.rb: Ignore bad timestamps. If
something looks like a timestamp but has an invalid component, treat
  it as a string instead of throwing an ArgumentError.
  Thanks Rhett Sutphin!

* test/psych/test_scalar_scanner.rb: appropriate tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:09:56 +00:00
tenderlove
c05952c6a1 * ext/psych/lib/psych/scalar_scanner.rb: Fix scalar_scanner to
understand strings starting with an underscore and containing only
  digits.  Thanks Kelley Reynolds.

* test/psych/test_scalar_scanner.rb: test for fix

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:06:25 +00:00
ktsj
f1cbd700e8 * test/ruby/test_settracefunc.rb: remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-21 10:16:27 +00:00
nobu
2fe13f62ef vm.c: pass through thrown objects
* vm.c (rb_vm_jump_tag_but_local_jump): pass through thrown objects.
  [ruby-dev:46234] [Bug #7185]
* vm_eval.c (rb_eval_cmd): if state is non-zero, val should be nil and
  rb_vm_jump_tag_but_local_jump() just jump tag.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19 13:22:03 +00:00
eregon
b0e40509c3 set encoding to ASCII for appropriate String#unpack modifiers
* pack.c (pack_unpack): set encoding of the
  'H','h','B' and 'B' modifiers to US-ASCII.
* test/ruby/test_pack.rb: tests for the above.
  [ruby-core:47653][Bug #7050]
* test/test_securerandom.rb: tests for SecureRandom.hex
  from tenderlove. [ruby-core:46792][Bug #6799]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19 13:13:32 +00:00
nobu
676c01bb36 parse.y: fail if yyerror
* parse.y (assignable_gen): fail if yyerror occurred.  fix a bug in
  r36973.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-18 01:30:37 +00:00
nobu
849c4eaaf3 test_syntax.rb: test_unassignable
* test/ruby/test_syntax.rb (TestSyntax#test_unassignable): assert
  keywords are unassignable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-18 01:29:54 +00:00
tenderlove
a34a3c2caa * hash.c (initialize_copy): duping should rehash the hash.
* test/ruby/test_hash.rb: added a test to ensure rehash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-18 00:24:00 +00:00
shugo
bd6bb6c0b2 * lib/net/imap.rb: fix Net::IMAP::ResponseParser to accept
message/delivery-status ([ruby-core:47920] [Bug #7146]),
  message/rfc822 attachments ([ruby-core:47921] [Bug #7147]), and
  (BODY ("MIXED")) ([ruby-core:47951] [Bug #7153]).

* test/net/imap/test_imap_response_parser.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-17 06:18:14 +00:00
usa
38c0b5f0e3 * test/ruby/test_hash.rb (TestHash#test_dup_equality): added a new test
to show the problem of r37232.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-17 02:06:34 +00:00
tenderlove
b3803cc49a * hash.c (initialize_copy): copy the underlying st_table on dup,
rather than copying the hash key by key. [ruby-core:48009]

* test/ruby/test_hash.rb: relevant tests for initialize_copy

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 21:33:59 +00:00
kazu
66141d47d7 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_file): rename from file_assertion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 04:02:04 +00:00
nobu
a583f42062 file.c: ASCII-compatible
* file.c (rb_file_join): check nul-byte only for strings, since
  FilePathStringValue() does it.  [ruby-core:48012] [Bug #7168]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 02:27:07 +00:00
nobu
7b4f0c0d1d file.c: ASCII-compatible
* file.c (rb_file_join): path names must be ASCII-compatible.
  [ruby-core:48012] [Bug #7168]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 01:54:05 +00:00
usa
5ed8ca1452 * test/ruby/test_regexp.rb
(TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): use
  Regexp.new instead of literal to ignore a parser warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 00:40:26 +00:00
usa
4ae5081b7b * test/ruby/test_regexp.rb
(TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): ignoring
  warnings are already set in setup method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 00:31:20 +00:00
nobu
32569104e1 envutil.rb: file_assertion
* test/ruby/envutil.rb (Test::Unit::Assertions#file_assertion):
  rewrite file assertions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-15 13:14:48 +00:00
nobu
9e02550b21 ruby.c: passing block
* ruby.c (rb_f_sub, rb_f_gsub): pass the given block.
  [ruby-core:47967] [Bug #7157]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-14 03:30:50 +00:00
usa
be3a6b8c40 * regparse.c (parse_char_class): should match with a hyphen after a
range in a character class.

* test/ruby/test_regexp.rb (TestRegexp#test_char_class): fixed wrong
  test.

* test/ruby/test_regexp.rb (TestRegexp#check): now can accept the
  error message.

* test/ruby/test_regexp.rb
  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): renamed
  because the previous name was wrong.

* test/ruby/test_regexp.rb
  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): added
  more test pattern.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-13 14:23:40 +00:00
usa
5ea65366f5 * test/ruby/test_regexp.rb
(TestRegexp#test_raw_hyphen_and_type_char_after_range): added new
  test. ref [ruby-core:47115] [Backport #6853]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12 16:38:52 +00:00
naruse
78e3185a20 use tty(1) to check if /dev/tty is usable or not
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12 16:03:41 +00:00
shirosaki
25a79e9f9b test_cgi.rb: skip a test on Windows
* test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): skip a test
  depending on locale on Windows. ENV[] doesn't work properly if
  console code page is not equal to file system encoding.
  [ruby-core:47910] [Bug #7140]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12 13:30:11 +00:00
nobu
7085db45e4 file.c: poisoned NUL
* file.c (rb_get_path_check): path name must not contain NUL bytes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12 09:18:07 +00:00
naruse
84fa14aab1 Fix wrong condition of skipping test_ioctl_linux
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12 08:19:28 +00:00
nobu
104d173752 test_string.rb: missing test
* test/ruby/test_string.rb (test_each_codepoint): missing test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-11 06:50:31 +00:00
nobu
88e326edda test_string.rb: suppress warnings
* test/ruby/test_string.rb (test_match_method): use unique objects in
  TestString and TestString2.

* test/ruby/test_string.rb (test_ascii_incomat_inspect): suppress
  warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-11 06:50:29 +00:00
nobu
eddfa31bda test_string.rb: highlighting
* test/ruby/test_string.rb (test_LSHIFT, test_succ): get rid of
  ruby-mode.el confusion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-11 06:50:26 +00:00
naruse
187ae6d5a7 Rename variabls
* uid always stores uid
* user stores username or nil

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-10 12:38:15 +00:00
naruse
ba7c9b1cf7 Test both username and uid
* system(, uid: ) takes username or uid
* ENV["USER"] may be nil (sudo or jail)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-10 08:08:22 +00:00
usa
7eb1fee9a6 * test/ruby/test_process.rb (TestProcess#test_execopts_gid): skip on
windows because the platform does not have Process.group method.
  patched by Jon Forums in [ruby-core:47878] [Bug #7133].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-10 06:14:48 +00:00
nobu
428ec4ec05 envutil.rb: assert_file and assert_file_not
* test/ruby/envutil.rb (assert_file, assert_file_not): more
  descriptive assertions for File predicates.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-09 14:18:05 +00:00
nobu
e3efce6df1 array.c: use rb_random_ulong_limited
* array.c (rb_ary_sample): use rb_random_ulong_limited, since
  precision of long may be larger than double.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-09 09:01:40 +00:00
nobu
dd83dd6bda process.c: uid gid exec options
* process.c (rb_execarg_addopt, rb_execarg_run_options): add :uid and
  :gid options.  [ruby-core:47414] [Feature #6975]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-09 08:13:29 +00:00
shugo
1bb89a6dea * eval.c (rb_mod_refinements): new method Module#refinements.
* test/ruby/test_refinement.rb: add new tests for the above changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-08 14:56:08 +00:00
nobu
974e3c9c5d * test/openssl/test_config.rb (OpenSSL#test_constants): skip only when
DEFAULT_CONFIG_FILE does not exist.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-06 14:26:29 +00:00
nobu
122de73a19 test_objspace.rb: refine
* test/objspace/test_objspace.rb (test_reachable_objects_from): use
  proper assertions, and show messages than comments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-06 00:48:28 +00:00
tenderlove
5d316e7786 Adding a test for initialize_clone and initialize_dup. From Github:
https://github.com/ruby/ruby/pull/190

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-05 16:22:03 +00:00
ko1
e03d6d9eb8 * ext/objspace/objspace.c: add ObjectSpace#reachable_objects_from.
This method returns an array of objects referenced by given object.
  If given object is special objects such as true/false/nil/Fixnum etc
  then it returns nil. See rdoc for details.
  [ruby-core:39772]
* test/objspace/test_objspace.rb: add a test for this method.
* gc.c: add rb_objspace_reachable_objects_from().
  To make this function, add several member `mark_func_data'
  to rb_objspace_t.  If mark_func_data is not null, then
  gc_mark() calls mark_func_data::mark_func.
* gc.h: export rb_objspace_reachable_objects_from().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-05 08:14:09 +00:00
ko1
b1ad79774d * test/ruby/test_settracefunc.rb (test_tracepoint):
remove unused test case.
  (this test case is redefined by newer tests)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-04 10:00:56 +00:00
xibbar
aeca965681 * lib/cgi/html5.rb: Add html5 tag maker.
* lib/cgi/core.rb: ditto.
      [Feature #6637]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-04 02:20:55 +00:00
nobu
5c677a83ba io.c: improved IO#reopen
* io.c (rb_io_reopen): improvement to accept optional arguments.
  a patch by Glass_saga (Masaki Matsushita) in [ruby-core:47806].
  [Feature #7103]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-03 02:43:19 +00:00
shugo
a1ed68b931 * error.c (exc_to_s, name_err_to_s, name_err_mesg_to_str): do not
taint messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-02 17:25:10 +00:00
nagachika
173aacf9ff * test/ruby/test_enumerator.rb (enum_test, test_inspect): remove unused
variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-30 12:32:04 +00:00
naruse
64989fa5a2 * string.c (rb_str_concat): use memcpy to copy a string which contains
NUL characters. [ruby-core:47751] [Bug #7090]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-30 12:20:09 +00:00
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