Commit graph

383 commits

Author SHA1 Message Date
Jeremy Evans
c5c05460ac Warn on access/modify of $SAFE, and remove effects of modifying $SAFE
This removes the security features added by $SAFE = 1, and warns for access
or modification of $SAFE from Ruby-level, as well as warning when calling
all public C functions related to $SAFE.

This modifies some internal functions that took a safe level argument
to no longer take the argument.

rb_require_safe now warns, rb_require_string has been added as a
version that takes a VALUE and does not warn.

One public C function that still takes a safe level argument and that
this doesn't warn for is rb_eval_cmd.  We may want to consider
adding an alternative method that does not take a safe level argument,
and warn for rb_eval_cmd.
2019-11-18 01:00:25 +02:00
Yusuke Endoh
c02de30efb tool/lib/leakchecker.rb: show the code location that allocated leaked fd
by using ObjectSpace.trace_object_allocations.

`make test-all LEAK_CHECKER_TRACE_OBJECT_ALLOCATION=true` will print not
only leaked fds but also where it was created.
2019-11-12 01:47:18 +09:00
Kazuhiro NISHIYAMA
50bc7e7e9f
Add debug print
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2380788
```
test_all             #<Thread:0x000055b6c8e9fca8@/tmp/ruby/v2/src/trunk-mjit/tool/lib/test/unit/parallel.rb:42 run> terminated with exception (report_on_exception is true):
<internal:pack>:134:in `pack': no implicit conversion of false into String (TypeError)
	from /tmp/ruby/v2/src/trunk-mjit/tool/lib/test/unit/parallel.rb:160:in `_report'
	from /tmp/ruby/v2/src/trunk-mjit/tool/lib/test/unit/parallel.rb:45:in `block in _run_suite'
```
2019-11-09 15:20:52 +09:00
Hiroshi SHIBATA
1c03026ea3 Try to run assert_output_unchanged with racc tests 2019-10-31 08:39:48 +09:00
Yusuke Endoh
1820aeeeb2 tool/lib/minitest/unit.rb: add "omit" as an alias to "skip"
According to rdoc, test-unit provides omit instead of skip.
This is a compatibility layer to make it work with both test-unit and
tool/lib/minitest.
2019-10-29 13:15:09 +09:00
Nobuyoshi Nakada
601f1fb456
Catch syntax error even if fatal 2019-10-23 02:05:28 +09:00
Nobuyoshi Nakada
ed3333f873
make-snapshot: Regexp#match raises on nil now 2019-10-22 21:05:52 +09:00
Nobuyoshi Nakada
f8fb51c976
Revert "alias assert_raise_message for compatibility with test-unit"
This reverts commit 43015275b9.

`assert_raise_message` in test-unit is different from
`assert_raise_with_message`.  It checks the exception message
only, but not the exception class,
2019-10-16 21:00:36 +09:00
Nobuyoshi Nakada
43015275b9
alias assert_raise_message for compatibility with test-unit 2019-10-16 17:44:51 +09:00
Nobuyoshi Nakada
b7ae26e2ee
vcs.rb: fix to export git-svn version
* Use the given branch name instead of implicit 'HEAD".
* Format like as git-svn when `from` or `to` is SVN revision
  number.
2019-10-03 19:07:48 +09:00
Hiroshi SHIBATA
c14755e9ca
[ruby/fileutils] improve the compatibility of minitest
f16f5a0dd6
2019-10-03 18:32:21 +09:00
卜部昌平
84fc1de512 use bind_call for test-all --gc-stress
This one allocation of Method object is worth avoiding.  We don't
want to test UnboundMethod#bind right here.  GC need not run.
2019-10-03 15:24:09 +09:00
Koichi Sasada
84cbce3d88 Enable checkers on parallel test.
parallel test (`make test-all TESTS=-j8`) runs tests on specified
number of processes. However, some test checkers written in
`runner.rb` are not loaded. This fix enable these checkers on
parallel tests.

See also: https://github.com/ruby/ruby/pull/2508
2019-10-02 16:23:00 +09:00
Hiroshi SHIBATA
15606963de expose assert_raise and assert_join_threads 2019-10-01 22:19:18 +09:00
Koichi Sasada
945560008f Revert "introduce debug check."
This reverts commit c3b84f2de8.
Backtrace shows it is before running tests and debug check was
nonsense.
2019-09-30 17:59:10 +09:00
Koichi Sasada
c3b84f2de8 introduce debug check.
There are random failures:

> lib/rubygems/core_ext/kernel_require.rb:61:in `require':
> wrong number of arguments (given 1, expected 0) (ArgumentError)
http://ci.rvm.jp/results/trunk-jemalloc@silicon-docker/2275159

To check this failure, I added a small check code.
2019-09-30 17:23:36 +09:00
Koichi Sasada
bf8d7d9c1d show RUBY_ISEQ_DUMP_DEBUG envval if given. 2019-09-30 15:35:22 +09:00
Nobuyoshi Nakada
03284fb911
assert_in_out_err should use FailDesc too 2019-09-27 21:07:53 +09:00
Nobuyoshi Nakada
6cad064424
Try to fetch commits notes to the source tree automatically
[Bug #16167]
2019-09-15 16:23:33 +09:00
Nobuyoshi Nakada
585b15d75d
make-snapshot: no merge commits in ChangeLog
Parents commit hashs in logs of merge commits are abbreviated to
necessary length depending on the repositories.  Exclude merge
commits from ChangeLog to make it stable.
2019-09-15 11:22:32 +09:00
Nobuyoshi Nakada
df4a4bd88c
make-snapshot: export ChangeLog from srcdir 2019-09-15 11:22:32 +09:00
Nobuyoshi Nakada
e9c7fc7ca9
Continue to export even if no notes/commits
Just exporting may not imply exporting ChangeLog which needs
notes/commits.  [Bug #16167]
2019-09-14 23:50:45 +09:00
Nobuyoshi Nakada
5a6954ba74
Suppress detached head warning 2019-09-08 00:22:24 +09:00
Nobuyoshi Nakada
3fafc549ba
Fix error when checking file modified with git-svn 2019-09-07 11:38:39 +09:00
Nobuyoshi Nakada
5118aa2d58
Use git describe --contains for tags 2019-09-07 11:38:38 +09:00
Nobuyoshi Nakada
3890c9eeee
Added more debug outputs from VCS::GIT 2019-09-07 11:38:38 +09:00
Nobuyoshi Nakada
799de9122e
Separated VCS.define_options for common VCS options 2019-09-07 11:38:38 +09:00
Nobuyoshi Nakada
055b441093
VCS::GIT no longer accepts remote repository 2019-09-06 22:15:36 +09:00
Yusuke Endoh
41b7c335d3 Revert "Add a temporal stack dumper for debugging on trunk-mjit"
This reverts commit 433c9c00d9.

Successfully captured some traces, and
3b60e5e6bc seems to fix the issue.
2019-09-06 13:04:36 +09:00
Yusuke Endoh
433c9c00d9 Add a temporal stack dumper for debugging on trunk-mjit
This must be definitely removed after we collect the stack traces :-)
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2245710
2019-09-05 22:16:21 +09:00
Nobuyoshi Nakada
9f59d30daa
Separate VCS::DEBUG_OUT 2019-09-05 00:33:49 +09:00
Nobuyoshi Nakada
542a1ade80
--date=iso-local does not work with old git 2019-09-03 11:33:29 +09:00
Nobuyoshi Nakada
d83ade1db5
Use -z option for git-log 2019-09-03 00:33:02 +09:00
Nobuyoshi Nakada
6a9c5ef186
Extract git commit log as raw format like git-svn for ChangeLog 2019-09-02 23:28:21 +09:00
Nobuyoshi Nakada
fd4aad6d41
Support packaging different branch/tag 2019-09-01 23:22:50 +09:00
Nobuyoshi Nakada
d8260bc872
Fetch commit notes 2019-09-01 23:22:49 +09:00
Nobuyoshi Nakada
ff7c95dfd9
Support git tags 2019-09-01 23:22:49 +09:00
Nobuyoshi Nakada
d7aa1260b6
Remove files/directories for git/github which are committed [ci skip] 2019-08-31 14:45:57 +09:00
Nobuyoshi Nakada
e593d5b31a
Suppress uninitialized instance variable warnings [ci skip] 2019-08-30 11:23:21 +09:00
Nobuyoshi Nakada
55f496c89b
Support revision in git-svn log 2019-08-30 11:23:21 +09:00
Nobuyoshi Nakada
1191049436
Updated comment of VCS#get_revisions [ci skip] 2019-08-30 11:23:21 +09:00
Nobuyoshi Nakada
c9dc569a94
Ensure the last and changed revisions as Integers 2019-08-28 12:32:43 +09:00
Nobuyoshi Nakada
2cd68a38d9
Short revision of SVN should be an Integer 2019-08-27 23:43:41 +09:00
Nobuyoshi Nakada
48f1a38f23
Limit ChangeLog entries
Since the previous release date, when the starting message is not
found.
2019-08-26 18:27:17 +09:00
Nobuyoshi Nakada
c775ab5e28
local_path? is a class method [ci skip] 2019-08-25 18:27:57 +09:00
Yusuke Endoh
cc6fe15241 tool/lib/vcs.rb: explicitly fail when notes/commits is not available 2019-08-25 16:59:45 +09:00
Kazuhiro NISHIYAMA
1b03d2d76b
Revert workaround 2019-08-25 13:58:30 +09:00
Nobuyoshi Nakada
b341e98b04
Simplified f13a00f5b4 [ci skip] 2019-08-25 11:38:15 +09:00
Nobuyoshi Nakada
f13a00f5b4
Export all commits as ChangeLog when no starting commit is found [ci skip] 2019-08-25 11:24:53 +09:00
Kazuhiro NISHIYAMA
03ee12a3b8
Add workaround (2nd try)
20190824T153002Z.fail.html.gz
```
/home/gentoo/chkbuild/tmp/build/20190824T153002Z/ruby/tool/lib/vcs.rb:577:in `export_changelog': cannot find the beginning revision of the branch (RuntimeError)
    from ./tool/make-snapshot:353:in `block in package'
    from ./tool/make-snapshot:351:in `chdir'
    from ./tool/make-snapshot:351:in `package'
    from ./tool/make-snapshot:523:in `block in <main>'
    from ./tool/make-snapshot:523:in `collect'
    from ./tool/make-snapshot:523:in `<main>'
```
2019-08-25 00:50:34 +09:00