summaryrefslogtreecommitdiff
path: root/test/ruby
AgeCommit message (Collapse)Author
2017-09-21load.c: real path to loadnobu
* load.c (rb_construct_expanded_load_path): expand load paths to real paths to get rid of duplicate loading from symbolic-linked directories. [Feature #10222] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-20process: block/unblock signals around forknormal
As with forking for execve(2) in `spawn', we must block signals to ensure they are handled correctly in a freshly `fork'-ed child. * process.c (retry_fork_ruby): block/unblock signals around fork (rb_fork_ruby): re-enable signals in forked child * test/ruby/test_process.rb (test_forked_child_signal): new test [ruby-core:82883] [Bug #13916] Thanks to Russell Davis for the bug report and test case. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-20ruby.c: paragraph mode by -00nobu
* ruby.c (proc_options): set to paragraph mode, if -00 is given, as well as perl and -R0 option in 0.49. [ruby-core:81987] [Bug #13736] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-19thread.c: report then abortnobu
* thread.c (thread_start_func_2): report then abort on exception, if both are set. [ruby-core:79280] [Bug #13163] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-19parse.y: lex by lvarnobu
* parse.y (parse_ident): disable tLPAREN_ARG state by local variable. [ruby-list:50578] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-18vm.c: fix `cfp consistency error' which occursktsj
when raising exception in bmethod call event * vm.c (invoke_bmethod): set FINISH flag just before calling vm_exec. [ruby-dev:50162] [Bug #13705] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-18error.c: KeyError#receiver and KeyError#keynobu
* error.c: new method KeyError#receiver and KeyError#key. [Feature #12063] * hash.c: make KeyError object with receiver and key. * sprintf.c: ditto. Author: ksss <co000ri@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-18refinements in string interpolationnobu
* compile.c (iseq_compile_each0): insert to_s method call, so that refinements activated at the caller should take place. [Feature #13812] * insns.def (tostring): fix up converted object to a string, infect and fallback. * insns.def (branchiftype): new instruction for conversion. branches if TOS is an instance of the given type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-17literal symbol by internnobu
* compile.c (iseq_compile_each0): literal symbol should not be affected by redefinition of String#intern method. * vm_insnhelper.c (rb_vm_str_intern): intern a string into a symbol directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15Remove needless splat arraykazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15object.c: fix conversion failure messagenobu
* object.c (convert_type_with_id): fix failure message for explicit conversion. rb_convert_type_with_id and rb_check_convert_type_with_id are not only for implicit conversions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-14Measure branch and method coverage for `make test-all`mame
To measure coverage of C code: `./configure --enable-gcov && make && make exam && make lcov` To measure coverage of Ruby code: `./configure && make && make exam COVERAGE=true && make lcov` To measure coverage of both languages at a time: `./configure --enable-gcov && make && make exam COVERAGE=true && make lcov` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-14added workaround for APFS file format.hsbt
* TestFileExhaustive#test_atime: It fails with nano-sec precise. I changed to use unixtime for this assertion for APFS. * TestFileExhaustive#test_expand_path: skip assertion when given invalid charactor on APFS. [Bug #13816][ruby-core:82383] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-13test_rubyoptions.rb: keep paths if necessarynobu
* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_search): PATH must keep library loading paths on a platform where it is used for that purpose, for extra libraries. [ruby-core:81178] [Bug #13569] [Fix GH-1616] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-08fiber: fix machine stack marking when FIBER_USE_NATIVE is 0normal
* cont.c (cont_mark): mark Fiber machine stack correctly when FIBER_USE_NATIVE is 0 * test/ruby/test_fiber.rb (test_mark_fiber): new test [Bug #13875] [ruby-core:82681] This bug appears to be introduced with r59557. ("refactoring Fiber status") git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-06string.c: fix false coderangenobu
* string.c (rb_enc_str_scrub): enc can differ from the actual encoding of the string, the cached coderange is useless then. [ruby-core:82674] [Bug #13874] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-04string.c: grapheme clusters on frozen stringnobu
* string.c (rb_str_enumerate_grapheme_clusters): enumerate on shared frozen string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-03string.c: enumerator_wantarraynobu
* string.c (enumerator_wantarray): show warnings at method functions for proper method names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-03string.c: fix for non-Unicode encodingsnobu
* string.c (rb_str_enumerate_grapheme_clusters): should enumerate chars for non-Unicode encodings. [Feature #13780] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-03test_io.rb: suppress a warningnobu
* test/ruby/test_io.rb (test_single_exception_on_close): suppress ambiguous first argument warning with RUBYOPT=-w. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-02cont.c: fix root fiber to_snobu
* cont.c (fiber_to_s): fix Fiber#to_s on root fibers which have no procs. [ruby-core:82629] [Bug #13859] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-01skip unless PLATFORM is darwin.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-01Fix C level backtrace on Darwinnaruse
SEGV caused by invalid instruction call. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-01compile.c: ensure after toplevel returnnobu
* compile.c (iseq_compile_each0): toplevel returns should fire ensures. [ruby-core:82492] [Bug #13844] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-31Skip test_open_tempfile_path on EINVALsorah
Looks like File::Constants::TMPFILE could be defined even when not supported on system. Just skip the test when we get EINVAL on open(2). * test/ruby/test_file.rb(test_open_tempfile_path): Skip when EINVAL occured on File.open. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-31File#path: Raise IOError when a file is O_TMPFILEsorah
File#path for a file opened with O_TMPFILE has no meaning. A filepath returned by this method isn't guarranteed about its accuracy, but files opened with O_TMPFILE are known its recorded path has no meaning. So let them not to return any pathname. After a discussion in ruby-core, just returning Qnil makes guessing the root cause difficult. Instead, this patch makes the method to raise an error. Other consideration is calling fnctl(2) on rb_file_path, but it adds a overhead, and it's difficult to determine O_TMPFILE status after fd has been closed. [Feature #13568] * io.c(rb_file_open_generic): Set Qnil to fptr->pathv when opening a file using O_TMPFILE * file.c(rb_file_path): Raise IOError when fptr->pathv is Qnil * file.c(rb_file_path): [DOC] Update for the new behavior git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-31test_syntax.rb: suppress warningsnobu
* test/ruby/test_syntax.rb (TestSyntax#test_return_toplevel): suppress unreachable statement warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-31String#each_grapheme_cluster and String#grapheme_clustersnaruse
added to enumerate grapheme clusters [Feature #13780] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-31test_syntax.rb: assert outputnobu
* test/ruby/test_syntax.rb (TestSyntax#test_return_toplevel): assert expected output if given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-30array.c: integer calculationsnobu
* array.c (rb_ary_cycle_size, descending_factorial): use rb_int_mul instead of rb_funcallv. * array.c (binomial_coefficient): use rb_int_idiv instead of rb_funcallv. * array.c (rb_ary_repeated_permutation_size): use rb_int_positive_pow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-29array.c: join encodingnobu
* array.c (ary_join_1): copy the encoding of the converted string of the first element by to_str too, as an initial encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-29test/ruby: tweaked heredocsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-23gc.c: restore cfp at finalizernobu
* gc.c (run_finalizer): restore cfp for the case an exception raised in a finalizer. [ruby-core:82432] [Bug #13832] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-23skip unless finalizers runnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-23gc.c: run all finalizersnobu
* gc.c (run_finalizer): revert r59155 partially. finalizing loop should continue even after an exception is rescued. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22parse.y: primary should not be 0nobu
* parse.y (primary): should not be 0, since it can be a receiver. [ruby-core:82447] [Bug #13836] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-17vm_method.c: alias warning at refined methodnobu
* vm_method.c (rb_method_entry_make): suppress a warning at refined method which will not be redefined. [ruby-core:82385] [Bug #13817] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-17parse.y: unexpected tINTEGER messagenobu
* parse.y (parser_number_literal_suffix): keep token after numeric suffix to show the value in an error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-15High Sierra's APFS cannot use invalid filenames [Bug #13816]naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-13parse.y: set used flag in gettablenobu
* parse.y (dvar_defined_ref, dvar_defined): rename macros. only gettable uses the former. assignable should not set LVAR_USED flag. * parse.y (gettable_gen): set used flag on local/dynamic variables instead of setting in lexer. [ruby-core:82368] [Bug #13809] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-12Suppress warning: shadowing outer local variable - klassnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-11re.c: options for sub-regexpnobu
* re.c (rb_reg_to_s): needs embedded options to check syntax of sub-regexp. [ruby-core:82328] [Bug #13798] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-10ruby.c: ignore non-option in shebang linenobu
* ruby.c (moreswitches): process all words as options only in an environment variable, but not in a shebang line. [ruby-core:82267] [Bug #13786] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-10Fiber#to_s (#inspect) return richer information.ko1
* cont.c (fiber_to_s): return with block and status information. * proc.c (proc_to_s_): removed and introduce rb_block_to_s() function to return block information string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-10compile.c: fix KW_SPLAT flag conditionnobu
* compile.c (compile_array_keyword_arg): fix the condition of KW_SPLAT flag. splat is value node only without key node, simple assoc argument is not. [ruby-core:82291] [Bug #13793] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-10vm_args.c: prefer optarg to keyword splatnobu
* vm_args.c (setup_parameters_complex): prefer optional argument to splat keyword arguments for backward compatibility. [ruby-core:82280] [Bug #13791] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-06add some more assertions to test_ill_formed_utf_8_replace duerst
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-05splat keyword hashnobu
* compile.c (compile_array_keyword_arg): set keyword splat flag if explicitly splatted. [ruby-core:68124] [Bug #10856] * vm_args.c (setup_parameters_complex): try keyword hash splat if given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-03Use the same variable name as in dir.ckazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-03dir.c: relative path Dir basenobu
* dir.c (glob_helper): fix globbing based on a relative path Dir. [Feature #13056] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e