aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* ext/coverage/: add the oneshot modemame2018-10-201-0/+192
| | | | | | | | | | | | This patch introduces "oneshot_lines" mode for `Coverage.start`, which checks "whether each line was executed at least once or not", instead of "how many times each line was executed". A hook for each line is fired at most once, and after it is fired, the hook flag was removed; it runs with zero overhead. See [Feature #15022] in detail. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge Pysch-3.1.0.pre2 from ruby/psych.hsbt2018-10-204-9/+29
| | | | | | * Added deprecated warnings for the new interface of keyword argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* complex.c: small optimization of Complex#**nobu2018-10-201-0/+4
| | | | | | | | * complex.c (rb_complex_pow): calculate power of a Fixnum without allocating intermediate Complex objects, and avoid unexpected NaNs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* try to use System Monitor Controlsuke2018-10-201-19/+14
| | | | | | | * test/win32ole/test_win32ole_type_event.rb: try to use System Monitor Control to test. ADO is not available in AppVeyor(Mingw only?) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_win32ole_event.rb: fire message_loop on retryk0kubun2018-10-201-1/+2
| | | | | | | | because it's failing even after sleeping 31s in total. https://ci.appveyor.com/project/ruby/ruby/builds/19642619/job/pkaj5svr8glk8twt https://ci.appveyor.com/project/ruby/ruby/builds/19641381/job/spdvrptpaq1d5778 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit.c: don't let MJIT.pause hang on full active unitsk0kubun2018-10-191-0/+12
| | | | | | | | test/ruby/test_rubyvm_mjit.rb: add reproductive test [Bug #15071] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/lib/jit_support.rb: continue to skip test_jitk0kubun2018-10-194-18/+36
| | | | | | | | for icc since it's not supported yet but running on rubyci. This reverts some part of r65175, r65176 and r65177. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_rubyoptions.rb: don't use obsoleted methodk0kubun2018-10-191-19/+15
| | | | | | It was removed on r65175. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_rubyvm_mjit.rb: don't use obsoleted methodk0kubun2018-10-191-6/+0
| | | | | | It was removed on r65175. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/lib/jit_support.rb: fire test_jit everywherek0kubun2018-10-192-34/+0
| | | | | | | | That was a workaround to make rubyci green for a short term after the MJIT merge. As we've done many portability fixes for MJIT, let's try running test_jit on all rubyci platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: sync with upstream repositoryrhe2018-10-181-4/+10
| | | | | | | | | | | | | | | | Import current master (01b23fa8eee2) of ruby/openssl.git. ---------------------------------------------------------------- Kazuki Yamaguchi (3): x509name: fix OpenSSL::X509::Name#{cmp,<=>} Ruby/OpenSSL 2.0.9 Ruby/OpenSSL 2.1.2 nobu (2): needs openssl/opensslv.h Remove -Wno-parentheses flag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* infect taint flag on Array#pack and String#unpacknagachika2018-10-171-0/+16
| | | | | | | | | | with the directives "B", "b", "H" and "h". * pack.c (pack_pack, pack_unpack_internal): infect taint flag. * test/ruby/test_pack.rb: add test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge rdoc-6.1.0.beta2aycabta2018-10-1711-84/+142
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* regparse.c: Suppress duplicated range warning by mere \Xnobu2018-10-151-0/+2
| | | | | | | | * regparse.c (node_extended_grapheme_cluster): as Unicode 10 has added Grapheme_Cluster_Break properties to some characters, remove duplicated ranges for Unicode 9. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* _mjit_compile_getivar.erb: optimize IC-hit getivark0kubun2018-10-141-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by inlining index (and serial to invalidate that) and simplifying the branch by using JIT cancellation. mjit_compile.inc.erb: use the above file mjit_compile.c: copy USE_IC_FOR_IVAR definition. will move this to another shared file later. common.mk: add new dependency test/ruby/test_jit.rb: cover this case === Optcarrot benchmark === ``` $ benchmark-driver benchmark.yml --rbenv '2.0.0::2.0.0-p648;before::before --disable-gems;before+JIT::before --disable-gems --jit;after::after --disable-gems;after+JIT::after --disable-gems --jit' -v --repeat-count 24 2.0.0: ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-linux] before: ruby 2.6.0dev (2018-10-14 trunk 65072) [x86_64-linux] before+JIT: ruby 2.6.0dev (2018-10-14 trunk 65072) +JIT [x86_64-linux] after: ruby 2.6.0dev (2018-10-14 trunk 65072) [x86_64-linux] last_commit=_mjit_compile_getivar.erb: optimize IC-hit getivar after+JIT: ruby 2.6.0dev (2018-10-14 trunk 65072) +JIT [x86_64-linux] last_commit=_mjit_compile_getivar.erb: optimize IC-hit getivar Calculating ------------------------------------- 2.0.0 before before+JIT after after+JIT Optcarrot Lan_Master.nes 36.065 53.896 71.565 53.856 84.747 fps Comparison: Optcarrot Lan_Master.nes after+JIT: 84.7 fps before+JIT: 71.6 fps - 1.18x slower before: 53.9 fps - 1.57x slower after: 53.9 fps - 1.57x slower 2.0.0: 36.1 fps - 2.35x slower ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tests: support Linux kernels with CONFIG_IPV6=nnormal2018-10-131-3/+7
| | | | | | | Detecting the presence of constants in C headers is insufficient, as a Linux kernel can be built with CONFIG_IPV6=n git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use ADODB.Connection instead of Microsoft Internet Controls.suke2018-10-132-51/+55
| | | | | | | | | | * test/win32ole/test_win32ole_type.rb: remove test using Microsoft Internet Controls. * test/win32ole/test_win32ole_type_event.rb: some test uses ADODB.Connection. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove Microsoft Internet Controlsuke2018-10-132-25/+63
| | | | | | | | * test/win32ole/test_win32ole_param: remove Microsoft Internet Control. * test/win32ole/test_win32ole_param_event: use ADODB instead of Microsoft Internet Control for test_input?, test_output? git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use assert_equal instead of assertsuke2018-10-121-10/+10
| | | | | | | * test/win32ole/test_win32ole_param.rb (test_input?, test_output, test_optional, test_retval?): use assert_equal instead of assert. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove duplicate assertionsuke2018-10-121-3/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/win32ole/test_win32ole_event.rb: wait longerk0kubun2018-10-121-3/+17
| | | | | | | | | | | | | for unstable spec. I added r64963 but it couldn't rescue: https://ci.appveyor.com/project/ruby/ruby/builds/19451743/job/hg0tyoxbacrrlnsr Since #test_on_event is especially unstable, https://ci.appveyor.com/project/ruby/ruby/builds/19337514/job/0wp2oe9dkr9gt1bi https://ci.appveyor.com/project/ruby/ruby/builds/19451743/job/hg0tyoxbacrrlnsr this commit lets it sleep longer as needed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use ADODB.connection instead of Microsoft Internet Controlssuke2018-10-122-13/+49
| | | | | | | | | | * test/win32ole/test_win32ole_method.rb: remove test using Microsoft Internet Controls. * test/win32ole/test_win32ole_method_event.rb: add test using ADODB.connection. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Load as FIXOFF mode if zone is presentnobu2018-10-121-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add tests for another timezonenobu2018-10-091-14/+45
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Time.parse based from non-Time objectnobu2018-10-091-0/+19
| | | | | | | | | | | | * lib/time.rb (Time.make_time): as the document states, the second argument of `Time.parse` may be a non-`Time` object which does not have `getlocal` method, assume it is in the local time in the case. based on the patch by nkmrya (Yasuhiro Nakamura) at [ruby-core:68775]. [ruby-core:68775] [Bug #11037] Co-authored-by: nkmrya (Yasuhiro Nakamura) <yasuhiro6194@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/objspace/objspace_dump.c: print addresses consistentlynobu2018-10-091-0/+56
| | | | | | | | | | | | | The format addresses are printed in are different if you use `ObjectSpace.dump_all(output: :stdout)` vs. `ObjectSpace.dump_all(output: :string)` (or `ObjectSpace.dump`) due to differences in the underlying `vfprintf` implementation. Use `"%#"PRIxVALUE` to format `VALUE`. Co-authored-by: Ashe Connor <ashe@kivikakk.ee> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "ext/objspace/objspace_dump.c: print addresses consistently"naruse2018-10-091-56/+0
| | | | | | | | | | | This reverts commit r64970. Visual C++ 12.0 doesn't have PRIxPTR. Anyway we have our own vfprintf implementation BSD_vfprintf(). If you want to have portable vfprintf, replace it with BSD_vfprintf like vsnprintf or just use BSD_vfprintf. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/objspace/objspace_dump.c: print addresses consistentlytenderlove2018-10-081-0/+56
| | | | | | | | | | | | | The format addresses are printed in are different if you use `ObjectSpace.dump_all(output: :stdout)` vs. `ObjectSpace.dump_all(output: :string)` (or `ObjectSpace.dump`) due to differences in the underlying `vfprintf` implementation. Use %"PRIxPTR" instead to be consistent across both. Co-authored-by: Ashe Connor <ashe@kivikakk.ee> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/ruby.h: import external symbolsk0kubun2018-10-081-16/+0
| | | | | | | | | properly on MinGW MJIT. test_jit.rb: all MJIT tests are now passing on MinGW. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_win32ole_event.rb: sleep longerk0kubun2018-10-081-0/+1
| | | | | | | | to increase the possibility of TestWIN32OLE_EVENT_SWbemSink#test_on_event success. It seems to randomly fail https://ci.appveyor.com/project/ruby/ruby/builds/19337514/job/0wp2oe9dkr9gt1bi git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add test for marshalnobu2018-10-081-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Removed redundant suffix `_with_timezone`nobu2018-10-081-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Timezone at Time#+ and Time#-nobu2018-10-081-0/+6
| | | | | | * time.c (time_add): support for Timezone. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Timezone support by Time [Feature #14850]nobu2018-10-081-0/+60
| | | | | | | | | * strftime.c (rb_strftime): support timezone object by `%z`. * time.c (time_init_1, time_new_timew, time_getlocaltime): accept timezone object as `off`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_jit.rb: skip to test tempdir emptinessk0kubun2018-10-081-2/+14
| | | | | | | | | | on AppVeyor mswin. It's somehow failing and not reproductive on my environment. We're suspecting maybe somebody is still holding module handle, even while FreeLibrary is finished successfully. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: completely separate win32ole testsk0kubun2018-10-071-13/+0
| | | | | | | | | | because r64938 was not enough and another win32ole test file (`test_win32ole_type.rb`) crashed worker. https://ci.appveyor.com/project/ruby/ruby/builds/19321161/job/ue1qrphi5j1xxgu6 Let's run whole win32ole test suite separately. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: clean up all unnecessary files on mswink0kubun2018-10-071-9/+0
| | | | | | | test_jit.rb: passed all MJIT tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: give up running TestThreadQueue#test_queue_with_trapk0kubun2018-10-072-12/+3
| | | | | | | | for mswin. We tried to increase timeout and execute separately but both didn't work. Let me skip this until somebody starts to work on fixing this behavior, since this makes AppVeyor almost impossible to be used as CI. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit.h: introduce MJIT_STATIC for full mswin JIT supportk0kubun2018-10-071-35/+0
| | | | | | | | | | | | | | | | | This change resolves most of major remaining MJIT bugs on mswin. Since Visual Studio doesn't support generating pre-processed code preserving macros, we can't use transform_mjit_header approach for mswin. So we need to transform MJIT header using macro like this. vm.c: use MJIT_STATIC for non-static functions that exist on MJIT header and cause conflict on link. vm_insnhelper.c: ditto test_jit.rb: remove many skips for mswin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: separately execute unstable testsk0kubun2018-10-072-0/+25
| | | | | | | | | | | | | | without -j option. Those 2 tests are too unstable on AppVeyor. test/excludes/TestThreadQueue.rb: The most unstable test ever. That even fails on my machine too. This may be possibly because recent SIGCHLD-related changes. https://ci.appveyor.com/project/ruby/ruby/build/9795/job/l9t4w9ks7arsldb1 test/excludes/TestWin32OLE.rb: I saw that win32ole crashes test-all several times. https://ci.appveyor.com/project/ruby/ruby/build/9811/job/ra5uxf2cg6v7ohag git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_jit.rb: skip some testsk0kubun2018-10-071-3/+15
| | | | | | that don't succeed on MinGW after r64929 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use binread because webrick also uses binreadnaruse2018-10-052-3/+3
| | | | | | Reported-by: MSP-Greg [Bug #15203] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add difference method to Arraynobu2018-10-051-0/+21
| | | | | | | | | | | | | | | | I introduce a `difference` method equivalent to the `-` operator, but which accept more than array as argument. This improved readability, and it is also coherent with the `+` operator, which has a similar `concat` method. The method doesn't modify the original object and return a new object instead. I plan to introduce a `difference!` method as well. Tests and documentation are included. It solves partially https://bugs.ruby-lang.org/issues/14097 From: Ana María Martínez Gómez <ammartinez@suse.de> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Just a shebang is valid codenobu2018-10-021-0/+3
| | | | | | [ruby-core:89240] [Bug #15190] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix Rational of Floatnobu2018-10-021-0/+23
| | | | | | [ruby-core:89239] [Bug #15189] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Removed Windows version conditionnobu2018-10-011-1/+1
| | | | | | Seems all MSVC runtimes fails with EINVAL, regardless Windows version. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rational.c: may be floatnobu2018-09-291-0/+3
| | | | | | | * rational.c (f_muldiv): Integer#** can return Rational with Float right now. [ruby-core:89212] [Bug #15175] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* range.c: Add Range#%mrkn2018-09-281-0/+9
| | | | | | [Feature #14697] [ruby-core:86588] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/lib/win32ole.rb (methods): COM method elements should besuke2018-09-261-1/+1
| | | | | | | | symbol in return value of methods. * test/win32ole/test_win32ole.rb ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r64847, r64846 and r64839k0kubun2018-09-262-0/+18
| | | | | | because r64849 seems to fix issues which we were confused about. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e