Commit graph

20692 commits

Author SHA1 Message Date
Kevin Newton
ca5b458044 [PRISM] Match CRuby line semantics for evstr 2024-05-20 11:28:53 -04:00
Kevin Newton
785fba3b16 [PRISM] Enable TestSyntax#test_warn_balanced 2024-05-20 10:49:41 -04:00
Kevin Newton
e90e8f8bd3 [ruby/prism] Implement ambiguous binary operator warning
6258c3695f
2024-05-20 14:01:05 +00:00
Jean Boussier
0b38403328 Fix incorrect assertion in TestThreadInstrumentation
The test meant to assert the thread is suspended at least once,
but was actually asserting to it to be suspected at least twice.
2024-05-20 14:59:59 +09:00
Yusuke Endoh
eb410c9fde [ruby/error_highlight] Load "did_you_mean" explicitly in test
I'm not sure how it works, but I seem to get an error
`undefined method 'formatter' for module DidYouMean` in parallel mode of
`make test-all`.

https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest%2Ferror_highlight%2Ftest_error_highlight.rb%23class%3DErrorHighlightTest%23testcase%3Dtest_explicit_raise_name_error?organizationId=ruby&workspaceId=ruby&testPathId=file%3Dtest%2Ferror_highlight%2Ftest_error_highlight.rb%23class%3DErrorHighlightTest%23testcase%3Dtest_explicit_raise_name_error&testSessionStatus=flake

f931b42430
2024-05-20 03:47:22 +00:00
Nobuyoshi Nakada
a10a483af9 [rubygems/rubygems] Should rescue vendored net-http exception
7d2c4cf364
2024-05-20 01:35:58 +00:00
Kevin Newton
cce7c25a42 [PRISM] Enable TestRequire 2024-05-17 16:42:14 -04:00
Kevin Newton
e61d24d77e [PRISM] Enable passing IRB test 2024-05-17 11:29:00 -04:00
Kevin Newton
4ba0579da6 [PRISM] Enable TestSyntax#test_error_message_encoding 2024-05-17 10:33:42 -04:00
Kevin Newton
761b907024 [PRISM] Enable TestParse#test_truncated_source_line 2024-05-16 22:13:10 -04:00
Kevin Newton
854cbbd5a9 [PRISM] Enable TestParse#test_string 2024-05-16 15:35:22 -04:00
Kevin Newton
92af705498 [ruby/prism] Truncate source lines in errors messages when too long
72518f5716
2024-05-16 19:35:10 +00:00
Kevin Newton
98e1e610f6 [ruby/prism] Update more escape error messages to match CRuby
ab43b3ab66
2024-05-16 18:40:20 +00:00
Kevin Newton
012a80d768 [PRISM] Enable TestISeq#test_syntax_error_message 2024-05-16 14:21:47 -04:00
Kevin Newton
0b4cf461e0 [PRISM] Enable TestM17N#test_string_mixed_unicode 2024-05-16 14:12:09 -04:00
Kevin Newton
07241dfac8 [PRISM] Enable TestParse#test_question 2024-05-16 12:28:51 -04:00
Kevin Newton
7eb45a40fd [PRISM] Enable TestParse#test_invalid_char 2024-05-16 12:28:51 -04:00
Kevin Newton
58f993c500 [PRISM] Enable TestParse#test_percent 2024-05-16 12:28:51 -04:00
Kevin Newton
52401a32e5 [PRISM] Enable TestSyntax#test_syntax_error_at_newline 2024-05-16 12:28:51 -04:00
Kevin Newton
14debd1321 [PRISM] Enable TestSyntax#test__END___cr 2024-05-16 12:28:51 -04:00
Kevin Newton
910bb49230 [ruby/prism] Update error message for invalid % at EOF
178d4f66fd
2024-05-16 14:52:34 +00:00
Kevin Newton
7a4b9d1614 [ruby/prism] Match CRuby error message for unknown % string
863197629c
2024-05-16 14:23:36 +00:00
Kevin Newton
011668883c [ruby/prism] Always go to string lex mode even if EOF
57d5c9be2c
2024-05-16 14:16:32 +00:00
David Rodriguez
c55c11d7d5 [rubygems/rubygems] Fix binstubs sometimes not getting regenerated when --destdir is given
This was only working for gems also installed in the default gem home.

47df02dbd9
2024-05-16 13:34:33 +00:00
David Rodriguez
5111b3d479 [rubygems/rubygems] Fix gem uninstall --user-install for symlinked HOME's
7f0706a897
2024-05-16 11:55:53 +00:00
David Rodriguez
b19693f0ae [rubygems/rubygems] Improve uninstaller tests
Tests have two copies of b-2 installed, one in default home and another
in user home. But only the one in default home was visible because of
not reloading paths. The user install test was working by chance.

667537a08f
2024-05-16 11:55:53 +00:00
Nobuyoshi Nakada
2dd46bb82f
[Bug #20468] Fix safe navigation in for variable 2024-05-16 16:22:17 +09:00
Nobuyoshi Nakada
9d69619623 [rubygems/rubygems] Clean up generated and copied files
> leaving the files after gem rebuild was intentional, for local
> inspection, but the test suite should be made to clean up after
> itself independently of that.
https://github.com/rubygems/rubygems/pull/4913#issuecomment-2081710691

185a2091fb
2024-05-16 04:54:44 +00:00
Kevin Newton
2aed14d65b [PRISM] Enable TestParse#test_global_variable 2024-05-15 12:49:45 -04:00
Kevin Newton
cd8b28f0e7 [PRISM] Enable test_location_of_invalid_token 2024-05-15 12:49:45 -04:00
Kevin Newton
be239cc7bc [PRISM] Enable TestParse#test_unexpected_eof 2024-05-15 12:49:45 -04:00
Kevin Newton
cabc0e093c [PRISM] Enable TestParse#test_unexpected_token_after_numeric 2024-05-15 12:49:45 -04:00
Kevin Newton
901f4c3fb7
[PRISM] Temporarily exclude IRB test 2024-05-15 12:49:03 -04:00
Kevin Newton
c4a5866798 [ruby/prism] Replace end of file with end-of-input
dd532ded95
2024-05-15 15:44:16 +00:00
Nobuyoshi Nakada
e73f6618d5 [rubygems/rubygems] Do not override @orig_env
It is saved in `setup` and restored in `teardown`.

880c5de667
2024-05-15 09:11:55 +00:00
Samuel Giddins
e33336cb37 [ruby/zlib] Avoid allocating intermediary strings when read/readpartial are passed an outbuf
This accounts for a significant number of string allocations when reading rubygems, but we can avoid that in many places by only copying into the outbuf when present

d25ef406c1
2024-05-14 21:44:34 +00:00
David Rodriguez
965cb3ab4c [rubygems/rubygems] Fix issue when cleaning up plugin stubs
When `gem uninstall <gem> --install-dir <dir>` is run, if the version
removed had a plugin, and that same version happened to also be
installed globally, then the plugin stub would fail to be removed.

4e2fa0be77
2024-05-14 16:08:03 +00:00
David Rodriguez
bd84236169 [rubygems/rubygems] Extract a Gem::SpecificationRecord class
This class handles all logic to handle the list of specifications, given
a set of GEM_PATH directories. Makes `Gem::Specification` has less
responsibilities and will help with fixing some bugs next.

df280dbbed
2024-05-14 16:08:03 +00:00
David Rodriguez
6454238072 [rubygems/rubygems] Make Gem.clear_paths test less implementation dependent
b545daa95d
2024-05-14 16:08:01 +00:00
David Rodriguez
8d28e63566 [rubygems/rubygems] Simplify test teardown
If we move test directory removal to the very end, I think we should not
leak anything.

fb3d8944b5
2024-05-14 16:08:00 +00:00
Andrew Konchin
b60f09442a Fix TestPatternMatching#test_deconstruct_keys test
Before the change `C.keys` returned keys captured in some previous test case that by chance captured `nil` value what made this test passed successfully. Now it returns keys captured in this test case.
2024-05-14 15:43:28 +09:00
Mari Imaizumi
9d01f657b3 [ruby/reline] Implement the undo command
(https://github.com/ruby/reline/pull/701)

* Refactor send

* Implement the undo command

* Fix @past_lines initialization

* Improve assertion

* Hide to save buffer in insert_pasted_text

* Replace @using_delete_command with @undoing

* Refactor `@past_lines`

4ab72f9cbd
2024-05-14 01:58:31 +00:00
Samuel Giddins
02c8e6583b [rubygems/rubygems] Use a constant empty tar header to avoid extra allocations
716666f65f
2024-05-13 13:01:44 +00:00
Vít Ondruch
5880103450 [rubygems/rubygems] Use spec.base_dir to remove plugins
The plugin loader from `@gem_home` was removed during uninstallation.
However, this could leave behind the plugins for `--user-install`
installed gems.

Use `Gem::Specifictaions#base_dir` instead. This ensures that the plugin
loader for associated .gemspec is uninstalled.

6047f78210
2024-05-13 10:35:57 +00:00
David Rodriguez
a86ad47c94 [rubygems/rubygems] Improve plugin removal test
Instead of unit testing the `remove_plugins` method, test the whole
removal process.

bfdc60af98
2024-05-13 10:35:57 +00:00
Nobuyoshi Nakada
5695c5df95
ripper: Fix opassign when assignment to backref variables 2024-05-12 15:38:22 +09:00
Nobuyoshi Nakada
a1fb6cc978
ripper: Use $& instead of quoting charaters in tests 2024-05-12 15:36:42 +09:00
Nobuyoshi Nakada
8b9b150512
[Bug #20481] Check for unmarshaling ivar
Prohibit setting instance variables of existing classes and modules
via link.
2024-05-12 13:57:15 +09:00
Nobuyoshi Nakada
d9e6e6fb60
[Bug #7759] Fix instance variable names to be checked 2024-05-12 13:55:56 +09:00
Nobuyoshi Nakada
4edd9b072c [ruby/irb] Clean up tmpdir
7d60349499
2024-05-12 04:53:51 +00:00