1474 Commits

Author SHA1 Message Date
Nobuyoshi Nakada
e802587433
Add printf attribute to functions call va_list format functions 2021-09-12 14:05:52 +09:00
卜部昌平
f752382688 spec/ruby/optional/capi/ext: must support GCC 5
What a silly bug.
2021-09-10 20:00:06 +09:00
卜部昌平
b0f0120267 spec/ruby/optional/capi/ext: support ruby < 3
RBIMPL_WARNING_PUSH is a 3.0 feature.  Rubyspec OTOH has to support 2.x.
2021-09-10 20:00:06 +09:00
卜部昌平
b563b9c48f spec/ruby/optional/capi/ext: suppress warnings
These warnings are okay here.
2021-09-10 20:00:06 +09:00
Benoit Daloze
258661409e Update to ruby/spec@b1e93a2 2021-09-07 19:01:07 +02:00
Benoit Daloze
a375640ea5 Update to ruby/mspec@e768949 2021-09-07 19:01:03 +02:00
David Rodríguez
4bc87cb1fb [rubygems/rubygems] Remove syck traces from bundler
Same reason as in the previous commit.

https://github.com/rubygems/rubygems/commit/f00a6c8516
2021-08-31 19:06:14 +09:00
David Rodríguez
c119dd2b5a [rubygems/rubygems] Fix bundle plugin install misdetection of installed versions
https://github.com/rubygems/rubygems/commit/9c88db949d
2021-08-31 19:06:14 +09:00
David Rodríguez
71b937d3d7 [rubygems/rubygems] Normalize setting GEM_PATH
https://github.com/rubygems/rubygems/commit/4188ebd568
2021-08-31 19:06:14 +09:00
David Rodríguez
f934096638 [rubygems/rubygems] Make plugin installation idempotent
The error had not be caught be specs because `bundle install` was
returning a zero exit code when plugin installation errors happened. So
I fixed that issue too.

https://github.com/rubygems/rubygems/commit/90cde87856
2021-08-31 19:06:14 +09:00
Matt Larraz
2aed061384 [rubygems/rubygems] Correctly redact credentials when using x-oauth-basic
https://github.com/rubygems/rubygems/commit/290b6ab078
2021-08-31 19:06:14 +09:00
David Rodríguez
f6803d2411 [rubygems/rubygems] Fix bundle check showing duplicated gems
If the lockfile contains multiple platforms, `bundle check` would show
duplicated missing gems.

https://github.com/rubygems/rubygems/commit/6ac5931783
2021-08-31 19:06:14 +09:00
David Rodríguez
3683781f53 [rubygems/rubygems] Restore working bundle check behaviour
As part of a recent bug fix where bundler was accidentally hitting the
network when not supposed to, I made some refactoring, and the commit I'm
reverting here
(d74830d00b)
was some cleanup that those refactorings allowed according to "past me".

That was completely wrong, `bundle check` should never consider cached
gems, only installed gems, so the code that was removed was necessary.

https://github.com/rubygems/rubygems/commit/5483e98305
2021-08-31 19:06:14 +09:00
Jun Aruga
71f6711351 [rubygems/rubygems] Fix some failing Bundler tests with old Git.
Use the `git branch --list` rather than the `git branch -l` for better
compatibility. Because the `git branch -l` is used to create a new branch in
Git version < 2.20.0.

https://github.com/rubygems/rubygems/commit/eac5be7d06
2021-08-31 19:06:14 +09:00
David Rodríguez
21db5876ca [rubygems/rubygems] Respect BUNDLE_USER_HOME for global config location
https://github.com/rubygems/rubygems/commit/58fc31442f
2021-08-31 19:06:14 +09:00
David Rodríguez
ea16a0df80 [rubygems/rubygems] Disable RUBYGEMS_GEMDEPS for bundler spec run
Running `bundler` specs using `bundler` is not supported.

https://github.com/rubygems/rubygems/commit/cc97b6773d
2021-08-31 19:06:14 +09:00
David Rodríguez
5aee962fe3 [rubygems/rubygems] Remove RUBYGEMS_GEMDEPS warning
When setting the `RUBYGEMS_GEMDEPS` environment variable to allow
skipping `bundle exec`, `bundler` will print a warning about potential
incompatibility.

Initially the `RUBYGEMS_GEMDEPS` variable used a completely different
(re)implementation of `bundler` functionality. That implementation was
not battle tested and could potentially differ in behaviour from what
`bundler` does. That's why print a warning.

However, these days, all `rubygems` does when `RUBYGEMS_GEMDEPS` is set
is to require `bundler/setup`, so there's no risk of any
incompatibility, since that's just plain `bundler`.

https://github.com/rubygems/rubygems/commit/bbddc27016
2021-08-31 19:06:14 +09:00
David Rodríguez
ab1edc75f8 [rubygems/rubygems] Expect the right permissions on Windows
Given Windows doesn't have executable bit.

https://github.com/rubygems/rubygems/commit/35dc3fa845
2021-08-31 19:06:14 +09:00
David Rodríguez
8adc606271 [rubygems/rubygems] Fix git repo initialization on a path with spaces
https://github.com/rubygems/rubygems/commit/a2d6e10192
2021-08-31 19:06:14 +09:00
David Rodríguez
199083dd15 [rubygems/rubygems] Simplify overkill usage of shared examples
https://github.com/rubygems/rubygems/commit/36a00144b9
2021-08-31 19:06:14 +09:00
David Rodríguez
10dcd0eb5b [rubygems/rubygems] Deprecate bundle exec --no-keep-file-descriptors
https://github.com/rubygems/rubygems/commit/591466d512
2021-08-31 19:06:14 +09:00
Nobuyoshi Nakada
9fc16a31d9 [rubygems/rubygems] Exclude gemspec file itself from gem
The processed YML data is included as metadata, the source gemspec
file is unused and just confusing.

https://github.com/rubygems/rubygems/commit/f444478eac
2021-08-31 19:06:14 +09:00
Tim Sutton
d7c734a27e [rubygems/rubygems] typos in UI messages: fix a couple missing spaces between sentence breaks
https://github.com/rubygems/rubygems/commit/5cdda53382
2021-08-31 19:06:14 +09:00
David Rodríguez
0e01ad881a [rubygems/rubygems] The --local flag to bundle install shouldn't hit the network
If the cache was missing, `bundler` would try to re-fetch it. With the
`--local` flag, it should just look at installed gems.

https://github.com/rubygems/rubygems/commit/630d29c69e
2021-08-31 19:06:14 +09:00
David Rodríguez
7116ec6199 [rubygems/rubygems] Requiring bundler/setup shouldn't try to hit the network
https://github.com/rubygems/rubygems/commit/06f5efce02
2021-08-31 19:06:14 +09:00
David Rodríguez
0b4dbe2e6a [rubygems/rubygems] Improve "gem not found in source" errors
When printing sources inside these error messages, it's useful to only
consider the current state of the source. For example, when requiring
`bundler/setup`, the source shouldn't be configured to be able to hit
the network, so the error message should only mention "locally installed
gems" to make that more clear.

https://github.com/rubygems/rubygems/commit/30eb14f853
2021-08-31 19:06:14 +09:00
David Rodríguez
b17cdad2f8 [rubygems/rubygems] Remove redundant part of error message
It doesn't really add much, in my opinion. We want to be helpful, but
also concise when possible.

https://github.com/rubygems/rubygems/commit/9d56009cf7
2021-08-31 19:06:14 +09:00
David Rodríguez
f1c0729128 [rubygems/rubygems] Fix standalone generated script to deal with path sources
In the case of path sources, the path the source is pointing to should
be added directly to the `$LOAD_PATH` without any modifications.

https://github.com/rubygems/rubygems/commit/d3bba936f0

Co-authored-by: Daniel Niknam <mhmd.niknam@gmail.com>
2021-08-31 19:06:14 +09:00
David Rodríguez
7465b94f8a [rubygems/rubygems] Remove unnecessary ruby_version local variable
Under some case, this variable might not end up being used, in which
case running the script would print unused variable warnings.

https://github.com/rubygems/rubygems/commit/bf96030362
2021-08-31 19:06:14 +09:00
David Rodríguez
3aa087d533 [rubygems/rubygems] Remove unnecessary ruby_engine local variable
Under some case, this variable might not end up being used, in which
case running the script would print unused variable warnings.

https://github.com/rubygems/rubygems/commit/a2d6392ada
2021-08-31 19:06:14 +09:00
David Rodríguez
1d6551a02d [rubygems/rubygems] Remove unnecessary path local variable
We can use `__dir__` directly.

https://github.com/rubygems/rubygems/commit/0e6083ca94
2021-08-31 19:06:14 +09:00
David Rodríguez
0ab160e2e0 [rubygems/rubygems] Respect BUNDLE_USER_CONFIG if set
https://github.com/rubygems/rubygems/commit/f28ab141af
2021-08-31 19:06:14 +09:00
David Rodríguez
c2f376bcc0 [rubygems/rubygems] Fix standalone install of default gems
Rubygems source replacement was broken.

https://github.com/rubygems/rubygems/commit/3549c122f6
2021-08-31 19:06:14 +09:00
David Rodríguez
9e7249da4e [rubygems/rubygems] This spec can pass now on ruby 3
TSort was released as a library so we can install it, and also other
gems that are loaded by the spec. Also, Ruby on Windows apparently loads
fiddle 1.0.6, so we need to also install that to make that not fail.

https://github.com/rubygems/rubygems/commit/2b8dcab99e
2021-08-31 19:06:14 +09:00
David Rodríguez
579dbe6ecb [rubygems/rubygems] Remove unnecessary test repository
These gems are built and installed to system directly as default gems.
There's no need to also build a remote repo.

https://github.com/rubygems/rubygems/commit/ad9dad4c22
2021-08-31 19:06:14 +09:00
David Rodríguez
570167eaa9 [rubygems/rubygems] Give a bundle install hint when bundle list fails
https://github.com/rubygems/rubygems/commit/98f5087e34
2021-08-31 19:06:14 +09:00
David Rodríguez
81c0643762 [rubygems/rubygems] Remove unnecessary escape sequences
Bundler formatters already take care of this.

https://github.com/rubygems/rubygems/commit/c24415fdd5
2021-08-31 19:06:14 +09:00
David Rodríguez
9a25a98c6b [rubygems/rubygems] Show all missing gems when using a bundle before installing it
Not only the first one that's missing.

This also allows us to simplify things.

https://github.com/rubygems/rubygems/commit/69718a9509
2021-08-31 19:06:14 +09:00
Nobuyoshi Nakada
be9cc6c758
Fix rubyspec_capiext dependency and flags
- The file needed to link may be the import library.
- Remove duplicate flags.
2021-08-30 12:03:44 +09:00
Nobuyoshi Nakada
9f9ea28375
Fix dllimport attribute 2021-08-30 00:52:16 +09:00
Nobuyoshi Nakada
d574b84182
Fix failures on non-UTF-8 environment [Bug #18077]
Call `IOSpecs.io_fixture` with the default encoding explicitly.
`IOSpecs.closed_io` calls the method without optional `mode` which
is set to UTF-8 by default, while the default external encoding
depends on the locale environment variables.
2021-08-22 12:11:45 +09:00
Lars Kanis
6594623f62 Fix Marshal.dump(closed_io) to raise TypeError and allow encoding on closed IO
Mashalling a closed IO object raised "closed stream (IOError)" before instead of TypeError.
This changes IO#(in|ex)ternal_encoding to still return the encoding even if the underlying FD is closed.

Fixes bug #18077
2021-08-22 10:33:22 +09:00
Jeremy Evans
48c8df9e0e
Allow tracing of optimized methods
This updates the trace instructions to directly dispatch to
opt_send_without_block.  So this should cause no slowdown in
non-trace mode.

To enable the tracing of the optimized methods, RUBY_EVENT_C_CALL
and RUBY_EVENT_C_RETURN are added as events to the specialized
instructions.

Fixes [Bug #14870]

Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2021-08-21 10:15:01 -07:00
Kazuki Tsujimoto
f96c199449
Fix test failure on spec/ruby/language/pattern_matching_spec.rb
https://github.com/ruby/ruby/runs/3369486308
2021-08-19 17:28:30 +09:00
Kazuki Tsujimoto
ecb6d6a4ef
Allow omission of parentheses in one line pattern matching [Feature #16182] 2021-08-19 17:07:58 +09:00
Benoit Daloze
73085c8d8e Update to ruby/spec@330c641 2021-08-13 18:09:14 +02:00
S.H
9b3fcfbbb9
Suppress unused-result warnings
* Hide read function warning in string_spec_RSTRING_PTR_read function

* The type of `read` may be `ssize_t`

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2021-08-07 12:50:55 +09:00
Benoit Daloze
ff6c176028 Tweak rb_str_modify_expand() + read() spec to try to find out why it fails on some platforms
* Use a longer string as <= 23 characters it's embedded on CRuby and
  the value of rb_str_capacity() is implementation-specific.
2021-07-30 11:36:20 +02:00
Jeremy Evans
64ac984129 Make RubyVM::AbstractSyntaxTree.of raise for method/proc created in eval
This changes Thread::Location::Backtrace#absolute_path to return
nil for methods/procs defined in eval.  If the realpath of an iseq
is nil, that indicates it was defined in eval, in which case you
cannot use RubyVM::AbstractSyntaxTree.of.

Fixes [Bug #16983]

Co-authored-by: Koichi Sasada <ko1@atdot.net>
2021-07-29 13:51:03 -07:00
Benoit Daloze
6998d75824 Update to ruby/spec@b65d01f 2021-07-29 22:11:21 +02:00