Takashi Kokubun
eb49aa3119
Fix test_rubyoptions for MinGW ( #5363 )
...
* 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 ( #5262 )
2021-12-13 23:07:46 -08:00
Takashi Kokubun
11b8aaa26a
Rename --jit to --mjit ( #5248 )
...
* Rename --jit to --mjit
[Feature #18349 ]
* 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 #17490 ]
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