1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

325 commits

Author SHA1 Message Date
Takashi Kokubun
eb49aa3119
Fix test_rubyoptions for MinGW ()
* Fix test_rubyoptions for MinGW

follows up a74a2f456a

* Require jit_support

* Fix MinGW platform

* Handle MinGW UCRT

and fix the prefix

* Make it more robust
2021-12-27 22:22:09 -08:00
Takashi Kokubun
1a63468831
Prepare for removing RubyVM::JIT () 2021-12-13 23:07:46 -08:00
Takashi Kokubun
11b8aaa26a
Rename --jit to --mjit ()
* Rename --jit to --mjit

[Feature ]

* Fix a few more --jit references

* Fix MJIT Actions

* More s/jit/mjit/ and re-introduce --disable-jit

* Update NEWS.md

* Fix test_bug_reporter_add
2021-12-13 16:08:01 -08:00
Aaron Patterson
2a59bd7312 Disable YJIT in MJIT tests 2021-10-20 18:19:38 -04:00
Hiroshi SHIBATA
e36da7ba18
Revert an accidentally commits at df86a13cc1 2021-05-17 15:28:47 +09:00
Hiroshi SHIBATA
bcaa6aecea
[ruby/psych] Removed needless platform detection
https://github.com/ruby/psych/commit/57d704fd63
2021-05-17 11:20:45 +09:00
Hiroshi SHIBATA
df86a13cc1
[ruby/psych] Import test assertions from ruby/ruby
https://github.com/ruby/psych/commit/01dda86681
2021-05-17 11:20:45 +09:00
Takashi Kokubun
e1fee7f949
Rename RubyVM::MJIT to RubyVM::JIT
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other, and I want to discourage future
JIT implementation-specific (e.g. MJIT-specific) APIs by this rename.

[Feature ]
2021-01-13 22:46:51 -08:00
Benoit Daloze
b4ec4a41c2 Guard all accesses to RubyVM::MJIT with defined?(RubyVM::MJIT) &&
* Otherwise those tests, etc cannot run on alternative Ruby implementations.
2020-12-04 16:45:54 +01:00
Yusuke Endoh
2e7d886311 test/lib/jit_support.rb: Let JIT tests skip on centos8
It has the same issue as RHEL 8.  k0kubun said he will fix later
2020-05-12 17:48:31 +09:00
Takashi Kokubun
9aa5fe1bf8
Split compile and link for MinGW support
MinGW test_jit fails with no error message. Perhaps linker flags should
not be passed when compilation is happening.

Anyway splitting these stages doesn't matter for performance. So let me
just split it to fix the issue. Probably this helps Solaris's issue too.
2020-05-03 16:41:25 -07:00
Takashi Kokubun
0776198486
Debug Solaris's MJIT failure
using -Winvalid-pch

https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T170004Z.fail.html.gz
2020-05-03 15:49:51 -07:00
Takashi Kokubun
a218cbdf31
Skip pdb corruption on Visual Studio 2015 as well
It turned out that the pdb corruption happens on Visual Studio 2015 as
well.
https://ci.appveyor.com/project/ruby/ruby/builds/32602953/job/3gj43q18wqeiy729
2020-05-03 00:41:28 -07:00
Takashi Kokubun
72c0612c40
Skip Solaris RubyCI TestJIT for now
to be investigated later
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T160004Z.fail.html.gz
2020-05-01 10:40:44 -07:00
Takashi Kokubun
41bbdd7806
Skip MinGW TestJIT* and macOS TestJITDebug failures
caused by 818d6d3336, for now.

I'll take a look at them tomorrow.
2020-05-01 03:08:51 -07:00
Yusuke Endoh
847e25975c Skip JIT tests on riscv64 due to SEGV of cc1 2020-04-20 22:48:10 +09:00
Takashi Kokubun
2832ba80d6
The pdb header error is printed at stdout
https://ci.appveyor.com/project/ruby/ruby/builds/32278754/job/90jmky2jq2k0wjv8
2020-04-18 18:40:01 -07:00
Takashi Kokubun
f8b79ef567
Compilation error does not impact exit status
We failed to ignore
https://ci.appveyor.com/project/ruby/ruby/builds/32245902/job/xcfxw67uexxysvni
2020-04-17 10:11:47 -07:00
Takashi Kokubun
f888626552
Fix logic to detect vs120
MJIT_CC seems not defined
https://ci.appveyor.com/project/ruby/ruby/builds/32161572/job/u5sw8yn4in87heki
2020-04-13 23:48:40 -07:00
Takashi Kokubun
e667750364
Add missing call in 70b7304f03 2020-04-13 23:11:51 -07:00
Takashi Kokubun
70b7304f03
Ignore AppVeyor vs120's pdb corruption
We tried to fix this like https://github.com/ruby/ruby/pull/3029, but it
didn't work. The failure has never been helpful for developing MJIT, and
currently it's not prioritized to be fixed. Until we try to figure out
the root cause on AppVeyor vs120, let's optionally disable testing when
the random corruption happens.
2020-04-13 23:08:25 -07:00
Takashi Kokubun
b736ea63bd
Optimize exivar access on JIT-ed getivar
JIT support of dd723771c1.

$ benchmark-driver -v --rbenv 'before;before --jit;after --jit' benchmark/mjit_exivar.yml --repeat-count=4
before: ruby 2.8.0dev (2020-03-30T12:32:26Z master e5db3da9d3) [x86_64-linux]
before --jit: ruby 2.8.0dev (2020-03-30T12:32:26Z master e5db3da9d3) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-03-31T05:57:24Z mjit-exivar 128625baec) +JIT [x86_64-linux]
Calculating -------------------------------------
                         before  before --jit  after --jit
         mjit_exivar    57.944M       53.579M      54.471M i/s -    200.000M times in 3.451588s 3.732772s 3.671687s

Comparison:
                      mjit_exivar
              before:  57944345.1 i/s
         after --jit:  54470876.7 i/s - 1.06x  slower
        before --jit:  53579483.4 i/s - 1.08x  slower
2020-03-30 23:16:35 -07:00
Takashi Kokubun
9745e90197
Propagate JIT skip to all tests 2020-03-06 20:19:56 -08:00
Yusuke Endoh
16415fefc1 test/lib/jit_support.rb: The path to icc was changed 2020-03-04 12:31:55 +09:00
Yusuke Endoh
6477d98e49 test/lib/jit_support.rb: Update the regexp for icc
MJIT_CC is always an absolute path.
2019-12-05 23:46:42 +09:00
Takashi Kokubun
5fbb4555b4
Prefer using MJIT_CC for JIT support check
because Solaris might have CC=cc and we'd like to check full path
MJIT_CC=/opt/developerstudio12.5/bin/cc instead.
2019-12-04 22:16:08 -08:00
Takashi Kokubun
b3ea0980db
Check MJIT support in one place
to fix test failure on trunk-no-mjit
https://gist.github.com/ko1/32ab982ffd7555988818773c08f97123
2019-12-01 10:53:59 -08:00
Takashi Kokubun
4ccb49bad3
Enforce --jit-debug test by another way 2019-10-15 22:47:20 -07:00
Takashi Kokubun
5d8f112505
RubyVM::MJIT.pause(wait: true) should wait
for all compilations and compaction.

Prior to this commit, the last-compiled code has not been used because
MJIT worker is stopped before setting the code, and compaction has also
been skipped.

But it was not intentional and `wait: true` pause should wait until
those two things by its feature.
2019-09-26 16:28:34 +09:00
Takashi Kokubun
cda5745c1b
Automatically detect missing symbols
which are usually optimized away by -O3.

This CI can detect missing exports like
ea84a68075 which was needed for
761346a960.
2019-09-01 16:31:15 +09:00
Hiroshi SHIBATA
9f275f7971
Restore support library for only test files that are digest and csv. 2019-07-09 21:16:49 +09:00
Hiroshi SHIBATA
f9a2440866
Restore support library for only test files. 2019-07-09 21:04:07 +09:00
Hiroshi SHIBATA
c3c0e3f5c9 Move to tool/lib from test/lib. 2019-07-02 07:59:54 +09:00
Nobuyoshi Nakada
f13fb814e0
Return the result of the block given to assert_warning/assert_no_warning 2019-07-01 00:22:39 +09:00
Nobuyoshi Nakada
41012f2e2b
Add parentheses to suppress warnings 2019-06-30 11:41:10 +09:00
Nobuyoshi Nakada
f5e2904471
Use EXEEXT
* test/lib/minitest/unit.rb (MiniTest::Assertions.diff): use
  `EXEEXT` configured value instead of switching by hard coded
  `host_os`.
2019-06-22 23:48:21 +09:00
Nobuyoshi Nakada
bad66f3e36
Show timed out threads
* test/lib/test/unit/assertions.rb (assert_join_threads): kill and
  show timed out threads.
2019-06-22 18:39:06 +09:00
Nobuyoshi Nakada
4d650bc257
Fix over-expansion
* test/lib/minitest/unit.rb (MiniTest::Assertions#mu_pp_for_diff):
  do not expand escaped backslash followed by 'n'.
2019-06-22 09:29:33 +09:00
Nobuyoshi Nakada
50bb8b6052
Use Exception#full_message for traceback 2019-06-14 08:46:22 +09:00
Yusuke Endoh
e75c278183 test/lib/test/unit/assertions.rb (assert_cpu_usage_low): tweak the wait
It still fails randomly.

https://rubyci.org/logs/rubyci.s3.amazonaws.com/amazon2/ruby-master/log/20190613T093003Z.fail.html.gz
https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20190613T051547Z.fail.html.gz
2019-06-13 22:44:01 +09:00
Nobuyoshi Nakada
c4cbaef216
assert_cpu_usage_low with timeout scale
* test/lib/test/unit/assertions.rb (assert_cpu_usage_low): apply
  the timeout scale to measuring period.  this assertion is very
  runtime environment dependent.
2019-06-11 23:15:46 +09:00
Nobuyoshi Nakada
42f0a8fd6f
MIN_HZ and MIN_MEASURABLE constants
* test/lib/test/unit/assertions.rb (Test::Unit::Assertions):
  promoted MIN_HZ and MIN_MEASURABLE as constants, which should be
  constant through the process.
2019-06-11 23:15:46 +09:00
Nobuyoshi Nakada
eb016d8353
Generalize timeout_scale
* test/lib/test/unit.rb (Test::Unit::TimeoutOption): renamed
  SubprocessOption.

* test/lib/test/unit.rb (Test::Unit::TimeoutOption#setup_options):
  prefer `--timeout-scale` option.

* test/lib/test/unit.rb (Test::Unit::TimeoutOption#non_options):
  prefer `ENV["RUBY_TEST_TIMEOUT_SCALE"]`.
2019-06-11 23:15:46 +09:00
Yusuke Endoh
4adc6f07ef test/lib/test/unit/assertions.rb (assert_cpu_usage_low): Relax the limit
CPU usage 1% causes occesional test failure.  Try to use 5%.

https://rubyci.org/logs/rubyci.s3.amazonaws.com/gentoo/ruby-master/log/20190604T153002Z.fail.html.gz
https://rubyci.org/logs/rubyci.s3.amazonaws.com/gentoo/ruby-master/log/20190610T153002Z.fail.html.gz
2019-06-11 07:17:59 +09:00
Nobuyoshi Nakada
ffaefcadd8
Report a sudden death of workers 2019-06-07 23:49:13 +09:00
Nobuyoshi Nakada
51d27d25d7
test/lib/test/unit.rb: use colorize.rb 2019-06-04 18:51:49 +09:00
Yusuke Endoh
4668a3a9da test/lib/envutil.rb (EnvUtil.timeout): added.
It is a wrapper for Timeout.timeout with the scale factor applied.
2019-05-26 17:23:14 +09:00
Nobuyoshi Nakada
23375c8b81
Make only mesg can be assigned with default fname 2019-04-29 13:42:50 +09:00
nobu
3ee0648dc7 io.c: warn non-nil $,
* array.c (rb_ary_join_m): warn use of non-nil $,.

* io.c (rb_output_fs_setter): warn when set to non-nil value.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-18 21:56:55 +00:00
nobu
15f8fb34fa Show the code in syntax assertions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-30 11:58:07 +00:00