Commit graph

20692 commits

Author SHA1 Message Date
Hiroshi SHIBATA
0930231361 [rubygems/rubygems] Allow to use String keys some of configuration
ee0bef2786
2024-04-04 11:30:02 +09:00
Yusuke Endoh
41e9d6641b Extend timeout of TestRequire#test_require_with_public_method_missing
Launchable reported that this was the most "flaky" test. Perhaps the
default timeout (10 seconds) is too tight for a test that uses
`GC.stress = true`. I try to relax the limit.
2024-04-04 10:30:29 +09:00
Kevin Newton
7e28d3c1e3 [PRISM] Enable passing tests for invalid block exits 2024-04-03 17:34:12 -04:00
Kevin Newton
198d197aeb [ruby/prism] Allow block exits in defined? and fix modifier while/until
2752f0b8df
2024-04-03 17:34:12 -04:00
Kevin Newton
664a5082cb [ruby/prism] Check for syntax errors using RubyVM
9e200dd1c1
2024-04-03 17:34:12 -04:00
Kevin Newton
1153bcde6b [ruby/prism] Fix up errors test
5f86742537
2024-04-03 17:34:12 -04:00
Kevin Newton
8a18a600d6 [ruby/prism] Fix up location tests
eeef9eb09e
2024-04-03 17:34:12 -04:00
Kevin Newton
e454cf2202 [ruby/prism] Update fixtures to be all valid Ruby
a0b978d25b
2024-04-03 17:34:12 -04:00
Kevin Newton
447d3cca01 [ruby/prism] Update unparser tests
b70f760b28
2024-04-03 17:34:12 -04:00
Kevin Newton
79c1725096 [ruby/prism] Update seattlerb/ruby_parser tests
cd823d5026
2024-04-03 17:34:12 -04:00
Kevin Newton
6cd3521519 [ruby/prism] Update whitequark/parser tests
b1492ec87c
2024-04-03 17:34:12 -04:00
Kevin Newton
3147404d64 [ruby/prism] Match circular parameter error message
c0381b10e4
2024-04-03 17:34:12 -04:00
Kevin Newton
f24bf2f9ae Do not rely on ripper for magic comment test 2024-04-03 18:06:20 +00:00
Kevin Newton
94f7098d1c [PRISM] Fix ISEQ load 2024-04-02 11:11:53 -04:00
Kevin Newton
85e5a99e36
[PRISM] Document more reasons for failures 2024-04-02 10:28:40 -04:00
Kevin Newton
6ba7378394 [PRISM] Enable more passing parsing tests 2024-04-02 08:21:10 -04:00
Yuta Saito
8b55aaa85c [Feature #20345] Add --target-rbconfig option to mkmf
Introduce a new mkmf option `--target-rbconfig` to specify the RbConfig
file for the deployment target platform. This option is useful for
cross-compiling Ruby extensions without faking the global top-level
`RbConfig` constant.
2024-04-02 14:24:54 +09:00
yui-knk
799e854897 [Feature #20331] Simplify parser warnings for hash keys duplication and when clause duplication
This commit simplifies warnings for hash keys duplication and when clause duplication,
based on the discussion of https://bugs.ruby-lang.org/issues/20331.
Warnings are reported only when strings are same to ohters.
2024-04-02 08:26:58 +09:00
Kevin Newton
b7597dac93 [ruby/prism] Match more error messages
0cc3a9d63a
2024-04-01 19:28:06 +00:00
Kevin Newton
cc6668c656 [PRISM] Enable passing pattern matching tests 2024-04-01 15:08:50 -04:00
Kevin Newton
a9658b6409 [ruby/prism] Do not track locals starting with _
0d5a6d936a
2024-04-01 18:13:45 +00:00
Kevin Newton
ec879e7eac [ruby/prism] Use RubyVM::InstructionSequence instead of Ripper for validity check
ddec1c163d
2024-04-01 18:13:45 +00:00
Kevin Newton
c2735c48a1 [ruby/prism] Track duplicate hash keys for pattern matching
71ea82f299
2024-04-01 18:13:45 +00:00
Kevin Newton
f1e385aad9 [ruby/prism] Track captures in pattern matching for duplicates
aa2182f064
2024-04-01 18:13:44 +00:00
tomoya ishida
a531cac335 [ruby/reline] Refactor completion
(https://github.com/ruby/reline/pull/647)

* Refactor completion: split autocompletion and tabcompletion logic and state

* Move completion candidate listup logic from dialog proc to LineEditor

c3c09ac9c2
2024-04-01 18:12:27 +00:00
tomoya ishida
508bddc865 [ruby/reline] Align completion menu items
(https://github.com/ruby/reline/pull/613)

a622704f62
2024-04-01 16:25:26 +00:00
Nobuyoshi Nakada
b50c4dc30a
Rename the variable
It is not an empty gzipped data, a gzipped empty dump data.
2024-04-01 16:51:28 +09:00
Nobuyoshi Nakada
70645a5acd
Write gzipped data as binary
Be careful when writing binary data on Windows.

```
$ ruby -e 's = Gem::Util.gzip("\x04\x08[\x05".b); p s.index("\n"); puts IO::Buffer.for(s).hexdump'
6
0x00000000  1f 8b 08 00 6c 3d 0a 66 00 03 63 e1 88 66 05 00 ....l=.f..c..f..
0x00000010  e3 69 10 89 04 00 00 00                         .i......
```
2024-04-01 16:03:57 +09:00
Hiroshi SHIBATA
acfef7c4f0 Use dummy data generated by RubyGems 2024-04-01 15:32:31 +09:00
KJ Tsanaktsidis
80bda107c8 [ruby/resolv] Add an explicit with_udp_and_tcp helper to test_dns.rb
This helper tries to bind UDP and TCP sockets to the same port, by
retrying the bind if the randomly-assinged UDP port is already taken in
TCP. This fixes a flaky test.

[Bug #20403]

3d135f99d9
2024-03-31 23:57:00 +00:00
Kevin Newton
cdb8d208c9 [PRISM] Fix error message for duplicate parameter name 2024-03-29 19:32:23 -04:00
Kevin Newton
f57c7fef6b [PRISM] Have RubyVM::InstructionSequence.compile respect --parser=prism 2024-03-29 12:28:54 -04:00
Ellen Marie Dash
e5def27fbf [rubygems/rubygems] Add "gem rebuild" command.
6d661573f0
2024-03-29 08:03:37 +00:00
Kevin Newton
817eecf685
[PRISM] Enable passing regexp test 2024-03-28 17:35:54 -04:00
Kevin Newton
a8ec347ca2 [ruby/prism] Allow writing to keywords with named captures if they are already locals
418318e1c8
2024-03-28 20:39:03 +00:00
Kevin Newton
8780059c38 [ruby/prism] Reject invalid capture groups (keywords)
bb78d83e88
2024-03-28 19:30:38 +00:00
Kevin Newton
d583616f32 [ruby/prism] Ensure deserialization works with errors+warnings>256
f540e830b5
2024-03-28 12:04:35 -04:00
Kevin Newton
fcc06fa82a [ruby/prism] CLI -x flag
2068e3c30a
2024-03-28 12:04:35 -04:00
Hiroshi SHIBATA
7630a89a4b Use www.rfc-editor.org for RFC text.
We use the following site for that now:

* https://tools.ietf.org/ or http
* https://datatracker.ietf.org or http

Today, IETF said the official site of RFC is www.rfc-editor.org.

FYI: https://authors.ietf.org/en/references-in-rfcxml

I replaced them to www.rfc-editor.org.
2024-03-28 11:44:45 +09:00
KJ Tsanaktsidis
7bdd742c02 Set ASAN_OPTIONS=disable_coredump=0 for test_execopts_rlimit test
By default, ASAN sets RLIMIT_CORE to zero, "to avoid dumping a 16T+ core
file" on 64 bit systems. These tests are just asserting on the expected
value of RLIMIT_CORE, not actually dumping core files, so it's fine to
disable that behaviour of ASAN for this test.
2024-03-28 09:48:37 +11:00
KJ Tsanaktsidis
8c7b9bd0eb Disable ASAN handle_segv in test_rubyoptions.rb
ASAN registers a sigsegv handler and causes extra output to be emitted
that these tests are not expecting.
2024-03-28 09:48:16 +11:00
Kevin Newton
7e12b03c5a [PRISM] Set path on syntax error 2024-03-27 17:19:24 -04:00
Kevin Newton
010286c767
[PRISM] Enable passing test for hash duplicated keys 2024-03-27 14:59:03 -04:00
Kevin Newton
9b97f1f3e8 [ruby/prism] Compare duplicates keys/whens for __FILE__
85263ade63
2024-03-27 18:57:35 +00:00
Kevin Newton
9f9c0425c3
[PRISM] Turn on passing test 2024-03-27 14:31:11 -04:00
Kevin Newton
39606f36e3 [PRISM] Implicitly change encoding when a UTF-8 BOM is found 2024-03-27 14:19:58 -04:00
Kevin Newton
ab2ee308aa [PRISM] Match style for invalid encoding error 2024-03-27 14:19:58 -04:00
Étienne Barrié
0f5ab4ad52 [ruby/stringio] Eagerly defrost chilled strings
[Feature #20390]

17ee957f34

Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
2024-03-28 02:27:19 +09:00
Jeremy Evans
e4d6479730 Add array/hash implicit allocation tests
These are designed to prevent allocation regressions (commits that
increase the number of implicitly allocated arrays and hashes). We
have already had three commits in the last couple weeks to fix
allocation regressions:

* 15dc3aaa31
* aceee71c35
* c388784943

This test suite should hopefully allow us to find such regressions
in CI before commit, to avoid committing future allocation regressions.

This uses assert_separately around each set of tests.  Doing it for
each individual check was too slow.  Failures are gathered and
reported at the end of the the suite as a single assertion, with
the message describing all failures.
2024-03-27 07:12:35 -07:00
Peter Zhu
19916bac96 Revert "skip test_gc_stress_at_startup"
This reverts commit 3680981c7b.
2024-03-27 09:39:23 -04:00