summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2022-10-01[rubygems/rubygems] Fix matching of linux platforms with eabi modifiersDavid Rodríguez
https://github.com/rubygems/rubygems/commit/89362c18ef Co-authored-by: Mike Dalessio <mike.dalessio@gmail.com>
2022-10-01[ruby/irb] Fix ripper_lex_without_warning duplicated heredoc tokentompng
https://github.com/ruby/irb/commit/45b539af39
2022-09-30Add Data class implementation: Simple immutable value objectVictor Shepelev
Notes: Merged: https://github.com/ruby/ruby/pull/6353 Merged-By: nobu <nobu@ruby-lang.org>
2022-09-30[rubygems/rubygems] Prevent a "warning: assigned but unused variable - data"Yusuke Endoh
https://github.com/rubygems/rubygems/commit/ec3fd55d40
2022-09-29Reduce diff to proc.c @ b0b9f7201acab05c2a3ad92c3043a1f01df3e17fBenoit Daloze
* So it's easy to review https://github.com/ruby/ruby/pull/6242 + https://github.com/ruby/ruby/pull/6467 and there are less changes overall.
2022-09-29Extend tests for a zsuper method of which the method it resolved to has been ↵Benoit Daloze
removed Notes: Merged: https://github.com/ruby/ruby/pull/6467
2022-09-29Resolve zsuper method during lookup but preserve owner separatelyBenoit Daloze
* See https://bugs.ruby-lang.org/issues/18729#note-34 * See [Bug #18729] Notes: Merged: https://github.com/ruby/ruby/pull/6467
2022-09-29[rubygems/rubygems] Refine error message to check the push URL instead of ↵Jenny Shen
just the host https://github.com/rubygems/rubygems/commit/46990f3292
2022-09-29[rubygems/rubygems] Refactor tests to use Net::HTTPResponse instances for ↵Jenny Shen
fetcher.data[:path] https://github.com/rubygems/rubygems/commit/4d91cacb1f Co-authored-by: Jacques Chester <jacques.chester@shopify.com>
2022-09-29[rubygems/rubygems] Surface entire redirect uri in permanent redirectionsJenny Shen
https://github.com/rubygems/rubygems/commit/da7837630b
2022-09-29[rubygems/rubygems] Add error message when api response is a permanent redirectJenny Shen
https://github.com/rubygems/rubygems/commit/ccca30c77a Co-authored-by: Nick Schwaderer <nick.schwaderer@shopify.com>
2022-09-29[ruby/date] The shrunk words to be copied is limitedNobuyoshi Nakada
Th buffer size is small enough and no need to allocate dynamically. https://github.com/ruby/date/commit/f62bf0a01d
2022-09-29[ruby/date] Narrow ALLOCV region for shrunk wordsNobuyoshi Nakada
https://github.com/ruby/date/commit/f51b038074
2022-09-29Add `Coverage.supported?` to detect what modes are supported.Samuel Williams
2022-09-29Add `eval: true/false` flag to `Coverage.setup`.Samuel Williams
2022-09-29[rubygems/rubygems] Put bundler gemspec stub at the right placeDavid Rodríguez
So that it's found when needed, rather than dynamically modifying loaded stubs and thus messing with RubyGems internals. https://github.com/rubygems/rubygems/commit/cd3e7cb9e5
2022-09-29[rubygems/rubygems] Only activate bundler when neededDavid Rodríguez
Loading Bundler beforehand was actually replacing ENV with a backup of the pre-Bundler environment through `Bundler::EnvironmentPreserver`. I think that was making a bug in `ENV.replace` not bite our tests, because Bundler includes proper patches to workaround that issue. So this commit also includes these patches in RubyGems tests. https://github.com/rubygems/rubygems/commit/8e079149b9
2022-09-29[rubygems/rubygems] Test a pure RubyGems methodDavid Rodríguez
`Gem::Specification#load_paths` is actually a Bundler thing. https://github.com/rubygems/rubygems/commit/d20b4d1950
2022-09-29[rubygems/rubygems] Little refactor to keep things consistentDavid Rodríguez
https://github.com/rubygems/rubygems/commit/3934deb4e4
2022-09-29[rubygems/rubygems] Remove unnecessary `ensure`David Rodríguez
https://github.com/rubygems/rubygems/commit/6c0c02c533
2022-09-29[rubygems/rubygems] Require bundler consistentlyDavid Rodríguez
The `$LOAD_PATH` should be properly setup so that the local version is used. https://github.com/rubygems/rubygems/commit/03c0ab4082
2022-09-29[rubygems/rubygems] Remove unnecessary constantDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4bd77488ad
2022-09-29[rubygems/rubygems] Cleaup unnecessary codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/2e05dadbc5
2022-09-29[rubygems/rubygems] Unskip stuff that now works on JRubyDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d86a5ae2eb
2022-09-28This commit implements the Object Shapes technique in CRuby.Jemma Issroff
Object Shapes is used for accessing instance variables and representing the "frozenness" of objects. Object instances have a "shape" and the shape represents some attributes of the object (currently which instance variables are set and the "frozenness"). Shapes form a tree data structure, and when a new instance variable is set on an object, that object "transitions" to a new shape in the shape tree. Each shape has an ID that is used for caching. The shape structure is independent of class, so objects of different types can have the same shape. For example: ```ruby class Foo def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end class Bar def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end foo = Foo.new # `foo` has shape id 2 bar = Bar.new # `bar` has shape id 2 ``` Both `foo` and `bar` instances have the same shape because they both set instance variables of the same name in the same order. This technique can help to improve inline cache hits as well as generate more efficient machine code in JIT compilers. This commit also adds some methods for debugging shapes on objects. See `RubyVM::Shape` for more details. For more context on Object Shapes, see [Feature: #18776] Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Co-Authored-By: Eileen M. Uchitelle <eileencodes@gmail.com> Co-Authored-By: John Hawthorn <john@hawthorn.email>
2022-09-28[rubygems/rubygems] Force "master" to be used regardless of ↵David Rodríguez
`init.defaultBranch` config Otherwise, if you have `init.defaultBranch main` configured, like I do, a bunch of tests fail with things like: ``` ============================================================================================================================================================================================================ Error: test_checkout_submodules(TestGemSourceGit): Gem::Exception: unable to find reference master in /Users/deivid/Code/rubygems/rubygems/tmp/test_rubygems_20220928-13878-xog1je/git/a /Users/deivid/Code/rubygems/rubygems/lib/rubygems/source/git.rb:188:in `rev_parse' /Users/deivid/Code/rubygems/rubygems/lib/rubygems/source/git.rb:143:in `dir_shortref' /Users/deivid/Code/rubygems/rubygems/lib/rubygems/source/git.rb:158:in `install_dir' /Users/deivid/Code/rubygems/rubygems/lib/rubygems/source/git.rb:94:in `checkout' /Users/deivid/Code/rubygems/rubygems/test/rubygems/test_gem_source_git.rb:78:in `test_checkout_submodules' 75: system @git, "commit", "--quiet", "-m", "add submodule b" 76: end 77: => 78: source.checkout 79: 80: assert_path_exist File.join source.install_dir, "a.gemspec" 81: assert_path_exist File.join source.install_dir, "b/b.gemspec" ============================================================================================================================================================================================================ fatal: ambiguous argument 'master': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' fatal: ambiguous argument 'master': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' E ``` In the future, I'd like to change things to use `main`, but the straighforward fix now is to keep "master" and make the running environment's git configuration not get in the middle. https://github.com/rubygems/rubygems/commit/b09b1416f1
2022-09-28[ruby/date] Check time zone offset elementsNobuyoshi Nakada
Too big parts of fractional hour time zone offset can cause assertion failures. https://github.com/ruby/date/commit/06bcfb2729
2022-09-28[ruby/net-http] Remove ENVIRONMENT_VARIABLE_IS_MULTIUSER_SAFEJeremy Evans
This list is out of date. At least OpenBSD since 2013 does not allow one user to read the environment variables of a process run by another user. While we could try to keep the list updated, I think it's a bad idea to not use the user/password from the environment, even if another user on the system could read it. If http_proxy exists in the environment, and other users can read it, it doesn't make it more secure for Ruby to ignore it. You could argue that it encourages poor security practices, but net/http should provide mechanism, not policy. Fixes [Bug #18908] https://github.com/ruby/net-http/commit/1e4585153d
2022-09-28dbm and gdbm have been extracted gems.Hiroshi SHIBATA
2022-09-28[rubygems/rubygems] fix: Gem::Platform.match handles String argument properlyMike Dalessio
Previously 9eead86 introduced non-commutativity of platforms, and later commit 1b9f7f50 changed the behavior of `Gem::Platform.match` to ensure the callee of `#=~` was the gem platform. However, when the platform argument is a String, then the callee and argument of `#=~` are flipped (see docs for `String#=~`), which works against the fix from 1b9f7f50. Closes #5938 https://github.com/rubygems/rubygems/commit/3b1fb562e8
2022-09-28[ruby/timeout] Explicit add the timeout thread to default ThreadGroupLars Kanis
Otherwise the timeout thread would be added to the ThreadGroup of the thread that makes the first call to Timeout.timeout . Fixes bug 19020: https://bugs.ruby-lang.org/issues/19020 Add a test case to make sure the common thread doesn't leak to another ThreadGroup https://github.com/ruby/timeout/commit/c4f1385c9a
2022-09-26Revert this until we can figure out WB issues or remove shapes from GCAaron Patterson
Revert "* expand tabs. [ci skip]" This reverts commit 830b5b5c351c5c6efa5ad461ae4ec5085e5f0275. Revert "This commit implements the Object Shapes technique in CRuby." This reverts commit 9ddfd2ca004d1952be79cf1b84c52c79a55978f4.
2022-09-27Rename method name in keyword test from y to yoJeremy Evans
Kernel#y is defined by psych/yaml, which causes occasional nondeterministic problems with this test when doing parallel testing. Notes: Merged: https://github.com/ruby/ruby/pull/6449
2022-09-26This commit implements the Object Shapes technique in CRuby.Jemma Issroff
Object Shapes is used for accessing instance variables and representing the "frozenness" of objects. Object instances have a "shape" and the shape represents some attributes of the object (currently which instance variables are set and the "frozenness"). Shapes form a tree data structure, and when a new instance variable is set on an object, that object "transitions" to a new shape in the shape tree. Each shape has an ID that is used for caching. The shape structure is independent of class, so objects of different types can have the same shape. For example: ```ruby class Foo def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end class Bar def initialize # Starts with shape id 0 @a = 1 # transitions to shape id 1 @b = 1 # transitions to shape id 2 end end foo = Foo.new # `foo` has shape id 2 bar = Bar.new # `bar` has shape id 2 ``` Both `foo` and `bar` instances have the same shape because they both set instance variables of the same name in the same order. This technique can help to improve inline cache hits as well as generate more efficient machine code in JIT compilers. This commit also adds some methods for debugging shapes on objects. See `RubyVM::Shape` for more details. For more context on Object Shapes, see [Feature: #18776] Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Co-Authored-By: Eileen M. Uchitelle <eileencodes@gmail.com> Co-Authored-By: John Hawthorn <john@hawthorn.email> Notes: Merged: https://github.com/ruby/ruby/pull/6386
2022-09-26Add several new methods for getting and setting buffer contents. (#6434)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-09-25[Bug #19021] Fix safe call w/ conditional assignJohn Hawthorn
As of fbaac837cfba23a9d34dc7ee144d7940248222a2, when we were performing a safe call (`o&.x=`) with a conditional assign (`||= 1`) and discarding the result the stack would end up in a bad state due to a missing pop. This commit fixes that by adjusting the target label of the branchnil to be before a pop in that case (as was previously done in the non-conditional assignment case). Notes: Merged: https://github.com/ruby/ruby/pull/6437
2022-09-26[ruby/rdoc] Fix ruby script in "test_parse_method_bracket" ↵Yuichiro Kaneko
(https://github.com/ruby/rdoc/pull/927) Because it's syntax error. https://github.com/ruby/rdoc/commit/993f2532ff
2022-09-23Revert "Revert "error.c: Let Exception#inspect inspect its message""Yusuke Endoh
This reverts commit b9f030954a8a1572032f3548b39c5b8ac35792ce. [Bug #18170]
2022-09-22[ruby/reline] use assert_nothing_raisedOtávio Schwanck dos Santos
https://github.com/ruby/reline/commit/f08be5da09
2022-09-22[ruby/reline] PR changesOtávio Schwanck dos Santos
https://github.com/ruby/reline/commit/e8e8d81f47
2022-09-22Enable coverage for eval.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/6396
2022-09-22[ruby/irb] Update expected colorize result that were uncolored beforetompng
https://github.com/ruby/irb/commit/52446eb77f
2022-09-22[ruby/irb] Scan every single characters in IRB::Color.scantompng
https://github.com/ruby/irb/commit/d14e56a65d
2022-09-21[ruby/irb] Fix completion testsStan Lo
https://github.com/ruby/irb/commit/eb1691f636
2022-09-21[ruby/irb] Handle non-String $LOAD_PATH values more carefullyst0012
In addition to String values, $LOAD_PATH can also take objects that respond_to the `to_path` method, like Pathname objects. So `irb` should be able to handle those objects too. And if $LOAD_PATH contains objects that can't be converted into String, `irb` should simply ignore it. https://github.com/ruby/irb/commit/b2f562176b
2022-09-21backup IRBRC environmental variable. It's used by test methods when it's ↵Hiroshi SHIBATA
defined. Notes: Merged: https://github.com/ruby/ruby/pull/6411
2022-09-21Fix the missing locale errorHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/6411
2022-09-20Ignore EPERM which means already being process-leaderNobuyoshi Nakada
2022-09-19Add another test for `Process.daemon`Nobuyoshi Nakada
Check for that the daemon process is detached, that means it is not a child and not waitable. Notes: Merged: https://github.com/ruby/ruby/pull/6402
2022-09-17Skip test_wait on MinGW CITakashi Kokubun
This test has been unstable, and it seems like we're not interested in fixing that for MinGW. https://github.com/ruby/ruby/actions/runs/3073317191/jobs/4965373284