summaryrefslogtreecommitdiff
path: root/tool
AgeCommit message (Collapse)Author
2017-12-08support gperf 3.1nobu
* tool/gperf.sed: extracted sed commands to a script. ANSI-C code produced by gperf 3.1 declares length arguments as `size_t`. it causes conflict with existing declarations, and needs casts for a local variable and return statements. [Feature #13883] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-06vcs.rb: fix r61054nobu
* tool/vcs.rb (VCS::SVN.get_revisions): cmd_readd_at expects the whole arguments for IO.popen as the second argument, that is an array of command and mode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-06file2lastrev.rb: suppress_not_foundnobu
* tool/file2lastrev.rb: exit successfully when command not found, and if --suppress_not_found is given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-06vcs.rb: raise NotFoundError when command not foundnobu
* tool/vcs.rb (cmd_pipe_at, cmd_read_at, system): moved from GIT to VCS, and now raise VCS::NotFoundError when command not found. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-05Revamp method coverage to support define_methodmame
Traditionally, method coverage measurement was implemented by inserting `trace2` instruction to the head of method iseq. So, it just measured methods defined by `def` keyword. This commit drastically changes the measuring mechanism of method coverage; at `RUBY_EVENT_CALL`, it keeps a hash from rb_method_entry_t* to runs (i.e., it counts the runs per method entry), and at `Coverage.result`, it creates the result hash by enumerating all `rb_method_entry_t*` objects (by `ObjectSpace.each_object`). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-03Set binmode to handle non ASCII commit messagenaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-02fix for emoji-data.txtnobu
* common.mk: download emoji-data.txt. As emoji data files are located in a separate directory in Unicode.org site, reearranged Unicode data files directories same as the site. * tool/enc-unicode.rb (get_file): search emoji data files in the second argument path. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-02enc-unicode.rb: for gperf 3.1nobu
* tool/enc-unicode.rb: support for gperf 3.1, which defines length arguments as `size_t` but a local variable as `unsigned int`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-01Update to Onigmo 6.1.3-669ac9997619954c298da971fcfacccf36909d05.naruse
[Bug #13892] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-27Ignored obsoleted `bundle_ruby` command from upstream.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-14remove `trace` instruction. [Feature #14104]ko1
* tool/instruction.rb: create `trace_` prefix instructions. * compile.c (ADD_TRACE): do not add `trace` instructions but add TRACE link elements. TRACE elements will be unified with a next instruction as instruction information. * vm_trace.c (update_global_event_hook): modify all ISeqs when hooks are enabled. * iseq.c (rb_iseq_trace_set): added to toggle `trace_` instructions. * vm_insnhelper.c (vm_trace): added. This function is a body of `trace_` prefix instructions. * vm_insnhelper.h (JUMP): save PC to a control frame. * insns.def (trace): removed. * vm_exec.h (INSN_ENTRY_SIG): add debug output (disabled). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-09mk_call_iseq_optimized.rb: add mode string [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-07tool/runruby.rb: fix RUNRUBY_USE_GDB casenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-05runruby.rb: add -C/--chdir optionnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-05runruby.rb: support run.gdb by --debugger optionnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-30rbinstall.rb: show categories of default gemsnobu
* tool/rbinstall.rb (#install_default_gem): show categories of default gems, pure ruby libraries and libraries with extensions. [ruby-core:83600] [Bug #14065] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-27`vm_call_handler` and related functions accept `ec` instead of `th`.ko1
* vm_core.h (vm_call_handler): fix to accept `ec` instead of `th`. * vm_args.c: the following functions accept `ec` instead of `th`. * raise_argument_error * argument_arity_error * argument_kw_error * setup_parameters_complex * vm_eval.c: ditto. * vm_call0 * vm_call0_cfunc_with_frame * vm_call0_cfunc * vm_call0_body * vm_insnhelper.c: ditto * vm_call_iseq_setup_tailcall_0start * vm_call_iseq_setup_normal_0start * vm_callee_setup_arg * vm_call_iseq_setup * vm_call_iseq_setup_2 * vm_call_iseq_setup_normal * vm_call_iseq_setup_tailcall * vm_cfp_consistent_p * vm_call_cfunc_with_frame * vm_call_cfunc * vm_call_ivar * vm_call_attrset * vm_call_bmethod_body * vm_call_bmethod * vm_call_opt_send * vm_call_opt_call * vm_call_method_missing * vm_call_zsuper * current_method_entry * vm_call_method_each_type * vm_call_method_nome * vm_call_method * vm_call_general * vm_call_super_method * tool/mk_call_iseq_optimized.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-25test-bundled-gems-fetchnobu
* tool/fetch-bundled_gems.rb: get rid of tool/git-refresh which requries Bourne shell. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-25Fixed conflicted variables. v is already used another condition.hsbt
[Misc #14050][ruby-core:83553] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21fix up r60243nobu
* tool/vcs.rb (VCS::GIT.get_revisions): use last revision also as changed revision when the head does not have svn ID. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21Rename spec/rspec to .bundle.hsbt
It used without rspec installation for test-* task. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21[EXPERIMENTAL] Added test-bundled-gems task.hsbt
`test-bundled-gems` invoke test suite of bundled gems with build environment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21add RUNRUBY_USE_GDB envvar for runruby.rb.ko1
* tool/runruby.rb: add RUNRUBY_USE_GDB environment variable. If RUNRUBY_USE_GDB=true then use 'gdb --args'. If there is 'run.gdb' file (made by 'make run.gdb') on current directory, run gdb with this file ('gdb -x run.gdb --args'). This envval is useful when you want to run test-all (and so on) with gdb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21vcs.rb: try to extract revision number from tagsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-14distinguish pass and fail by highlight [ci skip]nobu
* tool/colorize.rb: remove highlight attribute from "pass" to make distinguishable from "fail" by other than red-green colors. * tool/ifchange: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-13rbinstall.rb: fix for --cmd-type=cmdnobu
* tool/rbinstall.rb (PROLOG_SCRIPT): fix wrapper code for cmd script. [Bug#13997] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-12rbinstall.rb: shell code as commentsnobu
* tool/rbinstall.rb (PROLOG_SCRIPT): wrap shell code by =begin/=end as comments. [ruby-core:83202] [Bug#13997] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-05Fixed broken `bundle gem` command.hsbt
This patch is provided by @gyugyu (Yusuke Yagyu) * Remove README* entry from no_install that there is no README* files except README.md.tt * Rename .travis.yml.tt to travis.yml.tt like gitignore.tt [Bug #13975][ruby-dev:50278][fix GH-1710] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-01generic_erb.rb: -i optionnobu
* tool/generic_erb.rb: -i option to merge multiple template files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-29configure.acnobu
* configure.ac: renamed configure.in. [Feature #13946] * Makefile.in, common.mk, ext/rbconfig/sizeof/depend: use configure.ac. * README.ja.md, README.md: update document for configure.ac. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-26run-lcov.rb: support overwritten tmpdir pathmame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-26tool/run-lcov.rb: Filter tmp files outmame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-25tool/run-lcov.rb: Filter test files outmame
And refactoring. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-24Removed ubygems.rb. rubygems.rb is always loaded now.hsbt
* tool/sync_default_gems.rb: removed ubygems.rb from sync target. * test/rubygems/test_gem.rb: only enable "-rubygems" option when running under the Ruby 1.9. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-23Added sections of pysch library to LEGAL.hsbt
* ext/psych/yaml/LICENSE: Integrate libyaml license to LEGAL and removed this file from repository. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-23Integrate LICENSE file of rubygems to LEGAL.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-20Adapt tools to follow spec/rubyspec => spec/ruby renameeregon
* [Misc #13792] [ruby-core:82287] * Prefer test-spec over test-rubyspec in spec/README. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-17make-snapshot: after-updatenobu
* tool/make-snapshot (package): fix missing after-update for libffi and so on. [ruby-dev:50244] [Bug #13897] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-17run-lcov.rb: wrongly used unique ID as linenomame
The second value of key of branch/method coverage is unique ID, not lineno. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-17Rename bin/ruby as exe/rubynobu
* common.mk, configure.in: rename the bin directory to run build executable as exe, to get rid of overwriting true files at the installation. [ruby-dev:50250] [Bug #13911] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15rename ruby-runner as bin/rubynobu
* Makefile.in, configure.in, tool/runruby.rb: rename ruby-runner executable file as $(RUBY_INSTALL_NAME) under bin, to mimic dirty `#!/usr/bin/env` hack. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59927 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-12Fixed copy option for bundler synchsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-11Fixed unterminated backquote for bundler sync task.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-10merger.rb: separate logsnobu
* tool/merger.rb: separate each commit logs by an empty line. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-09runruby.rb: set envvars for bundlernobu
* tool/runruby.rb: set gem and bundler environment variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-09Support LCOV visualization for both C and Ruby codemame
`./configure --enable-gcov && make exam && make lcov` will create `lcov-c-out/index.html` for coverage of C code of the interpreter. `make exam COVERAGE=true && make lcov` will create `lcov-rb-out/index.html` for coverage of Ruby stdlib code. Using both `--enable-gcov` and `COVERAGE=true` will create `lcov-out/index.html` for total coverage. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-08Merge bundler to standard libraries.hsbt
rubygems 2.7.x depends bundler-1.15.x. This is preparation for rubygems and bundler migration. * lib/bundler.rb, lib/bundler/*: files of bundler-1.15.4 * spec/bundler/*: rspec examples of bundler-1.15.4. I applied patches. * https://github.com/bundler/bundler/pull/6007 * Exclude not working examples on ruby repository. * Fake ruby interpriter instead of installed ruby. * Makefile.in: Added test task named `test-bundler`. This task is only working macOS/linux yet. I'm going to support Windows environment later. * tool/sync_default_gems.rb: Added sync task for bundler. [Feature #12733][ruby-core:77172] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-08fix a label for bundled gems.hsbt
"bundle gems" is a wrong name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-07Measure the test coverage without SimpleCovmame
Now `make test-all COVERAGE=true` measures the test coverage by using `coverage.so` directly, and visualize the result by simplecov-html. There has been some problems in coverage measurement with SimpleCov. (They are not SimpleCov's fault, though.) (1) It is difficult to extract the measured data as a machine-readable format, such as Marshal. I want to visualize the coverage data with other coverage tools, such as LCOV and Cobertura. (I know we can use SimpleCov's formatter mechanism, but I don't want to depend upon SimpleCov so much.) (2) SimpleCov seems to miss some coverage data. For example, `lib/cgi.rb` and `lib/ostruct.rb` are dropped. I don't know why. (3) I have a plan to enhance `coverage.so` with branch coverage. It would be difficult to continue to only use SimpleCov as is. This is the most important reason. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e