summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2020-03-02Reset Reline.pointKoichi Sasada
TestRelineAsReadline#test_insert_text expects Readline.point == 0 at the beginning of the test, but a test violate this assumption.
2020-03-02skip test if Reline.completion_proc is nil.Koichi Sasada
Some other tests can set Reline.completion_proc, so if it is nil, simply skip this test.
2020-03-02Revert "show debug info."Koichi Sasada
This reverts commit 0bfee2397ba59112902d2b49f08461db3a637b46.
2020-03-02need to restore $stdin.Koichi Sasada
2020-03-02show debug info.Koichi Sasada
https://gist.github.com/ko1/a71f7cbcfbd61ba004bffdfedab9f5f2#file-brlog-trunk-random0-20200302-020213-L2127
2020-03-01Allow trailing comma in hash patternKazuki Tsujimoto
2020-03-01require enc/trans/single_byte in advance.Koichi Sasada
enc/trans/single_byte is needed to run some tests, however it will fail to require because $: is empty.
2020-02-28Prevent unloading methods used in root_fiber while calling another Fiber (#2939)Takashi Kokubun
Fixing SEGVs like: http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744905 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744420 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2741400 Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2020-02-28Avoid infinite loop on --jit-waitTakashi Kokubun
2020-02-29Fix a typo [ci skip]Kazuhiro NISHIYAMA
2020-02-29Set Readline.completion_append_character = nil alwaysaycabta
GNU Readline add a white space when Readline.completion_append_character is not initialized.
2020-02-29restore server[:DocumentRootOptions] setting.Koichi Sasada
Surprisingly (at least for me), `server[:DocumentRootOptions]` on Webrick is global information and it affect the result of test_short_filename. Random order test fails because of global information change. I doubt it is bug, but to fix random order test, I restore the value.
2020-02-28support random order test.Koichi Sasada
test_readline: HISTORY should be empty. test_using_quoting_detection_proc: test_using_quoting_detection_proc_with_multibyte_input: Readline.completer_quote_characters= and Readline.completer_word_break_characters= doesn't accept nil, so skip if previous values are nil.
2020-02-28Moved not-implemented method tests [Bug #16662]Nobuyoshi Nakada
Test not-implemented method with the dedicated methods, instead of platform dependent features.
2020-02-28Omit test_using_quoting_detection_proc_with_multibyte_input temporarily for ↵aycabta
random order test
2020-02-28setup Other class.Koichi Sasada
Some tests need to setup Other class with OtherSetup proc.
2020-02-27Make Module#include affect the iclasses of the moduleJeremy Evans
When calling Module#include, if the receiver is a module, walk the subclasses list and include the argument module in each iclass. This does not affect Module#prepend, as fixing that is significantly more involved. Fixes [Bug #9573] Notes: Merged: https://github.com/ruby/ruby/pull/2936
2020-02-26Fixed for older versionsNobuyoshi Nakada
Fix up 66d1900423e6fb9774c2fe72dba8c2968b54d7ab, `RubyVM::MJIT` is available since ruby 2.6.
2020-02-25Increase timeout for CSV test with --jit-waitTakashi Kokubun
To prevent CI failures like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2739995
2020-02-25Prefer dedicated assertion methodNobuyoshi Nakada
2020-02-25should count only string.Koichi Sasada
This code can generate CC objects so we only need to count existing String objects.
2020-02-24Fixed symbol misused as IDNobuyoshi Nakada
`rb_funcallv_public` and `rb_respond_to` require an `ID`, not a `Symbol`. [Bug #16649]
2020-02-23Warn non-nil `$/` [Feature #14240]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2920
2020-02-23Warn non-nil `$\` [Feature #14240]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2920
2020-02-23Warn non-nil `$,` in `IO#print` tooNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2920
2020-02-22Proc from Symbol needs a receiverNobuyoshi Nakada
So its arity should be -2 instead of -1. [Bug #16640] https://bugs.ruby-lang.org/issues/16640#change-84337
2020-02-22test/readline - allow ENV control of test class creationMSP-Greg
In ruby/ruby, the tests run on both readline & reline by creating four test classes: ``` TestReadline TestReadlineHistory TestRelineAsReadline TestRelineAsReadlineHistory ``` Reline inports the test files and uses them in its CI. Adding the ENV control allows it to only run the `TestRelineAsReadline` classes. Notes: Merged: https://github.com/ruby/ruby/pull/2916
2020-02-22* remove trailing spaces. [ci skip]git
2020-02-22Introduce disposable call-cache.Koichi Sasada
This patch contains several ideas: (1) Disposable inline method cache (IMC) for race-free inline method cache * Making call-cache (CC) as a RVALUE (GC target object) and allocate new CC on cache miss. * This technique allows race-free access from parallel processing elements like RCU. (2) Introduce per-Class method cache (pCMC) * Instead of fixed-size global method cache (GMC), pCMC allows flexible cache size. * Caching CCs reduces CC allocation and allow sharing CC's fast-path between same call-info (CI) call-sites. (3) Invalidate an inline method cache by invalidating corresponding method entries (MEs) * Instead of using class serials, we set "invalidated" flag for method entry itself to represent cache invalidation. * Compare with using class serials, the impact of method modification (add/overwrite/delete) is small. * Updating class serials invalidate all method caches of the class and sub-classes. * Proposed approach only invalidate the method cache of only one ME. See [Feature #16614] for more details. Notes: Merged: https://github.com/ruby/ruby/pull/2888
2020-02-22VALUE size packed callinfo (ci).Koichi Sasada
Now, rb_call_info contains how to call the method with tuple of (mid, orig_argc, flags, kwarg). Most of cases, kwarg == NULL and mid+argc+flags only requires 64bits. So this patch packed rb_call_info to VALUE (1 word) on such cases. If we can not represent it in VALUE, then use imemo_callinfo which contains conventional callinfo (rb_callinfo, renamed from rb_call_info). iseq->body->ci_kw_size is removed because all of callinfo is VALUE size (packed ci or a pointer to imemo_callinfo). To access ci information, we need to use these functions: vm_ci_mid(ci), _flag(ci), _argc(ci), _kwarg(ci). struct rb_call_info_kw_arg is renamed to rb_callinfo_kwarg. rb_funcallv_with_cc() and rb_method_basic_definition_p_with_cc() is temporary removed because cd->ci should be marked. Notes: Merged: https://github.com/ruby/ruby/pull/2888
2020-02-22`Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]Nobuyoshi Nakada
With refinements, too.
2020-02-22`Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]Nobuyoshi Nakada
2020-02-21[ruby/irb] `yield` outside method definition is a syntax errorNobuyoshi Nakada
https://github.com/ruby/irb/commit/dbc7b059c7
2020-02-21Promote net-http to the default gems.Hiroshi SHIBATA
test/net/http/test_https.rb: rename fixture methods to read_fixture because it conflicts with test-unit gem.
2020-02-20[ruby/rdoc] Removed `RDoc::Context::Section#sequence`Nobuyoshi Nakada
It has been deprecated since 2011. https://github.com/ruby/rdoc/commit/5c2aa0f77d
2020-02-20TestTime#test_memsize: skip when on GC_DEBUG卜部昌平
GC_DEBUG=1 makes this test fail because it changes the size of struct RVALUE. I don't think the test is useful then. Let's just skip.
2020-02-18Avoid jumping to a wrong destinationTakashi Kokubun
when the next insn is already compiled by former branches.
2020-02-19support multi-run test for test_readline.rbS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/2914
2020-02-18Pass keyword arguments to IOs properly [Bug #16639]Nobuyoshi Nakada
2020-02-17Partially revert "test/openssl/test_ssl.rb: skip ↵Yusuke Endoh
OpenSSL::TestSSL#test_fallback_scsv" A skip guard for test_fallback_scsv has been added in upstream repository.
2020-02-17[ruby/openssl] test/openssl/test_ssl: skip test_fallback_scsv if necessaryKazuki Yamaguchi
Run the test case only when the OpenSSL supports both TLS 1.1 and TLS 1.2. Note that the fallback SCSV mechanism is for TLS 1.2 or older and not for 1.3. Fixes: https://github.com/ruby/openssl/issues/336 https://github.com/ruby/openssl/commit/6f2e6d7cf7
2020-02-17[ruby/openssl] ts: simplify OpenSSL::Timestamp::Request#algorithmKazuki Yamaguchi
Stop the special treatment of invalid hashAlgorithm of the message imprint. Those invalid values can only appear after the object is instantiated, before the user sets an actual message digest algorithm. OpenSSL::Timestamp::TokenInfo#algorithm already does the same. Also, remove the test case "test_create_request" since it does not make much sense. Those fields are to be set by the user after creation of the object and checking the initial value is pointless. Fixes: https://github.com/ruby/openssl/issues/335 https://github.com/ruby/openssl/commit/890a6476fa
2020-02-17test/openssl/test_ssl.rb: skip OpenSSL::TestSSL#test_fallback_scsvYusuke Endoh
on OpenSSL 1.1.1d or later. https://github.com/ruby/openssl/issues/336
2020-02-16Revert "test/openssl/test_ts.rb: tentatively skip a failing test on CentOS 6.9"Yusuke Endoh
This reverts commit a6d007c70b3aa5b55c9ca774446130356bd36eac. Unfortunately, the test fails on armv7l https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20200216T091708Z.fail.html.gz
2020-02-16test/openssl/test_ts.rb: tentatively skip a failing test on CentOS 6.9Yusuke Endoh
CentOS 6.9 will be EOL at Nov. Ruby 3.0 (or 2.8) release version will not support CentOS 6.9, so I'll remove the environment after it become green.
2020-02-16test/openssl/test_ssl.rb: skip a test on OpenSSL 1.1.d or laterYusuke Endoh
It fails due to "error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small". This is a tentative measurement to avoid the failure. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20200216T093010Z.fail.html.gz test/openssl/fixture/chain/server.key should be longer. It should be documented how to create the files. BTW, it would be a good idea to dynamically create a key during test instead of fixed files.
2020-02-16Make OpenSSL::OSSL#test_memcmp_timing robustYusuke Endoh
The test was too fragile. Actually, it fails on one of our CIs immediately after it was merged to ruby/ruby. https://gist.github.com/ko1/7ea4a5826641f79e2f9e041d83e45dba#file-brlog-trunk_clang_40-20200216-101730-L532-L535 https://gist.github.com/ko1/1c657746092b871359d8bf9e0ad28921#file-brlog-trunk-test4-20200216-104518-L473-L476 * Two measurements, a-b and a-c, must be interative instead of sequential; the execution time will be easily affected by disturbance (say, cron job or some external process invoked during measurement) * The comparison of the two results must be relative instead of absolute; slow machine may take several tens of seconds for each execution, and one delta second is too small. The test cases of a, b, and c are very extreme, so if the target method has a bug, the two execution times would be very different. So I think it is enough to check if the difference is less than 10 times. This change is the same as https://github.com/ruby/openssl/pull/332
2020-02-16Guard for OpenSSL::PKey::EC::Group::Error with unsupported platformsHiroshi SHIBATA
2020-02-16Import openssl-2.2.0 (#2693)Hiroshi SHIBATA
Import the master branch of ruby/openssl for preparing to release openssl-2.2.0 Notes: Merged-By: hsbt <hsbt@ruby-lang.org>
2020-02-15[ruby/irb] fix reserved words and completion for themNobuhiro IMAI
https://github.com/ruby/irb/commit/6184b227ad