summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2019-05-29Skip a reline test hanging on Wercker since 3b7862c8e8Takashi Kokubun
like https://app.wercker.com/ruby/ruby/runs/mjit-test1/5cedad11105780001c4e7001?step=5cedaf6b48fad200076fe77b
2019-05-29Remove extra items because Reline::HISTORY is a sized queueaycabta
2019-05-29Use existing instances for LineEditor and Configaycabta
2019-05-29parse.y: warn escaped whitespaceNobuyoshi Nakada
* parse.y (warn_space_char_code): warn whitespace characters escaped with meta/control prefix.
2019-05-28Update the certificate files to make the test pass on Debian 10Yusuke Endoh
The old certificate files (for example, test/rubygems/ca_cert.pem) were signed by SHA1. This message digest is considered too weak and rejected by OpenSSL 1.1.1 or later. Because of this, the test suite does not pass on Debian 10. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20190527T123003Z.fail.html.gz#test%2Frubygems This change regenerates the files. A shell script for the regeneration (util/create_certs.sh) is also added.
2019-05-28parse.y: numbered parameter symbolNobuyoshi Nakada
* parse.y (parse_atmark): numbered parameter name is not allowed as a symbol regardless the context.
2019-05-28Use Reline.completer_quote_characters to completeaycabta
2019-05-27Colorize error partNobuyoshi Nakada
2019-05-27Do not make an incomplete escape a valid charNobuyoshi Nakada
2019-05-27Ripper#tokenNobuyoshi Nakada
* parse.y (ripper_token): added Ripper#token which returns the current token string. [EXPERIMENTAL]
2019-05-27open-uri: Regenerate server certificates for testsYusuke Endoh
OpenSSL 1.1.1 requires 2048 bits or more. This change will fix: https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20190527T003004Z.fail.html.gz#test%2Fopen-uri
2019-05-27context.rb: hide wrapping linesNobuyoshi Nakada
* lib/irb/context.rb (IRB::Context#evaluate): separate the code from wrapping lines to propagate the given exception, not to show the wrapping lines when SyntaxError.
2019-05-26Highlight global variable on IRBTakashi Kokubun
2019-05-26Add FrozenError#receiverJeremy Evans
Similar to NameError#receiver, this returns the object on which the modification was attempted. This is useful as it can pinpoint exactly what is frozen. In many cases when a FrozenError is raised, you cannot determine from the context which object is frozen that you attempted to modify. Users of the current rb_error_frozen C function will have to switch to using rb_error_frozen_object or the new rb_frozen_error_raise in order to set the receiver of the FrozenError. To allow the receiver to be set from Ruby, support an optional second argument to FrozenError#initialize. Implements [Feature #15751]
2019-05-26Refactor IRB color dispatchTakashi Kokubun
The reason why we were checking lexer state in addition to token was that we do not want to colorize local variable, method call, etc., while they share the :on_ident token with a name of method definition which should be colored as blue. It means that we're concerned about the lexer state only for :on_ident. Thus we can skip checking lexer state for non-:on_ident tokens. This refactoring is based on that idea. Also, now we manage Ripper's lexer state as Integer (use `|` if you need to check multiple states). It should be faster than using Array of Integer because #any? block call is not needed.
2019-05-27Support :@@cvar and : on colorizeaycabta
2019-05-26Make the imaginary color on IRB close to pryTakashi Kokubun
and sorted the token names alphabetically.
2019-05-27parse.y: broke the terminator condition downNobuyoshi Nakada
* parse.y (here_document): broke the terminator condition down into each piece, the positional condition, resetting the dedented here-document indentation, and matching identifier. suppress a false warning by icc.
2019-05-26Colorize imaginary and rational literalsNobuyoshi Nakada
2019-05-26parse.y: adjust error indicatorNobuyoshi Nakada
* parse.y (parser_yylex): adjust the error indicator of unexpected fraction part. before: ~~~ 1.2.3 ^~~ ~~~ after: ~~~ 1.2.3 ^~ ~~~
2019-05-26test/ruby/test_notimp.rb: Use EnvUtil.timeout for timeout scale factorNobuyoshi Nakada
2019-05-26test/ruby/test_process.rb: Use EnvUtil.timeout for timeout scale factorYusuke Endoh
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11s-sunc/ruby-master/log/20190526T052508Z.fail.html.gz
2019-05-26test/lib/envutil.rb (EnvUtil.timeout): added.Yusuke Endoh
It is a wrapper for Timeout.timeout with the scale factor applied.
2019-05-26Fix scanner event at invalid syntaxNobuyoshi Nakada
* parse.y (parser_yyerror, parser_compile_error): revert r67224 (e5d10cda07b23682e5e4e64d1324e4d3247d4785) "Flush erred token".
2019-05-26test/rubygems/test_gem_stream_ui.rb (test_ask): extend the timeoutYusuke Endoh
for Solaris. https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10s/ruby-master/log/20190525T211908Z.fail.html.gz
2019-05-25Handle keyword symbol in IRB::Color::SymbolStateTakashi Kokubun
2019-05-25Deal with more syntax highlight edge casesTakashi Kokubun
Please refer to the tests again.
2019-05-25Fix more unintended syntax highlightsTakashi Kokubun
See tests for what kind of things are fixed.
2019-05-25Always color Symbol as Yellow on IRB::ColorTakashi Kokubun
Symbol color was made blue as a workaround because it was hard to distinguish `foo`s in `:foo` and `def foo; end` (both are :on_ident). But I wanted to make it yellow like pry. `:Struct` had the same problem in :on_const. Because the :on_const was also blue (but underlined and bold), it was not a big issue. While they're not so problematic since we got a workaround, we also had a more serious issue for highlighting a symbol like `:"a#{b}c"`. The first half was considered as Symbol and the last half was considered as String, because the colorizer did not have a state like a parser. To approach the last issue, I introduced `IRB::Color::SymbolState` which is a thin state manager knowing only "the token is Symbol or not". Having this module magically solves the first two problems as well. So now we can highlight Symbol as yellow in the perfect manner.
2019-05-26test/ruby/test_rubyoptions.rb (test_script_from_stdin): scale timeoutYusuke Endoh
for Solaris. https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10s/ruby-master/log/20190525T131909Z.fail.html.gz
2019-05-25Colorize empty embexpr more on IRB::ColorTakashi Kokubun
2019-05-25Support some unhandled syntax highlightTakashi Kokubun
Heredoc, %i, :Foo, { 'a': ... }, ... :'a' is still half-broken.
2019-05-25Clear IRB::Color escape sequence before newlineTakashi Kokubun
because otherwise prompt and other things could be polluted.
2019-05-25Add and use Reline::Unicode.escape_for_printTakashi Kokubun
2019-05-24Incremental syntax highlight for IRB source linesTakashi Kokubun
Closes: https://github.com/ruby/ruby/pull/2202
2019-05-25Avoid to show warning message with unused variable.Hiroshi SHIBATA
2019-05-24Support Meta key in Relineaycabta
2019-05-24Mixed encoding error can continue to parseNobuyoshi Nakada
2019-05-24test/ruby/test_gc.rb (test_gc_stress_at_startup): extend time timeoutYusuke Endoh
It fails on some CI environments. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian8/ruby-trunk/log/20190524T003006Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20190523T002505Z.fail.html.gz
2019-05-23Test GC.compact with MJIT againTakashi Kokubun
2019-05-23Add `Time#ceil`.manga_osyo
Closes: https://github.com/ruby/ruby/pull/2133
2019-05-23Test GC.compact on MJIT againTakashi Kokubun
2019-05-23Adding Enumerable#filter_mapAlfonso Jiménez
[Feature #15323] Closes: https://github.com/ruby/ruby/pull/2017
2019-05-22Fix mixed encoding in heredocJeremy Evans
Heredocs are parsed line-by-line, so we need to keep track of the temporary encoding of the string. Previously, a heredoc would only detect mixed encoding errors if they were on the same line, this changes things so they will be caught on different lines. Fixes [Bug #15839]
2019-05-22Skip assertion in readline test if Readline version is 4.3Jeremy Evans
Previously, the entire method was not run for Readline 4.3, probably because it was known to fail. Commit c754e979d3eeca51f1b13778f19f347df3da656e removed the check for Readline 4.3. Other than this one assertion, which also doesn't work when using Reline, the method runs correctly when using Readline 4.3. Fixes [Bug #15853].
2019-05-23Do not kick finalizers on rb_gc().Koichi Sasada
rb_gc() kicks gc_finalize_deferred(), which invokes finalizers. This means that any Ruby program can be run this point and it may be thread switching points and so on. However, it is difficult to think it invokes any Ruby programs. For example, `GC.compact` use `rb_gc()` to implement it, howver, any Ruby program must not be run on this timing. For this reason (it is difficult to image it run any Ruby program), I removed `gc_finalize_deferred()` line in rb_gc(). This patch solves GC.compact issue. [Bug #15809] and re-enable GC.compact test.
2019-05-23range.c (inspect_range): omit beginless "nil"Yusuke Endoh
except the special case `(nil..nil)`. ``` (1..).inspect #=> "1.." (..5).inspect #=> "..5" (nil..nil).inspect #=> "nil..nil" ``` [Bug #15745]
2019-05-23hash.c (rb_hash_s_create): Reject `Hash[[nil]]`Yusuke Endoh
The behavior of `Hash[[nil]] #=> {}` was a bug until 1.9.3, but had been remained with a warning because some programs depended upon it. Now, six years passed. We can remove the compatibility behavior. [Bug #7300]
2019-05-22Use Reline.test_mode in Reline's test tooaycabta
2019-05-21Copy config to make IRB::Context#use_colorize? functionalTakashi Kokubun
on initialize This fixes https://github.com/ruby/ruby/pull/2188