Граф коммитов

1217 Коммитов

Автор SHA1 Сообщение Дата
Benoit Daloze 241244739f Fix arity of Hash#to_proc [Bug #12671] 2020-07-29 18:09:53 +02:00
Kazuhiro NISHIYAMA 946cd6c534
Use https instead of http 2020-07-28 19:51:54 +09:00
Nobuyoshi Nakada f44114b502
Do not assume all compilers accept same flags as gcc 2020-07-28 16:43:38 +09:00
Benoit Daloze 126fd5f15c Update to ruby/spec@07164da 2020-07-27 21:41:08 +02:00
Benoit Daloze 7429841ab6 Update to ruby/mspec@9cffee9 2020-07-27 21:41:03 +02:00
Jeremy Evans d47e124857 Switch reserved for numbered parameter warning to SyntaxError 2020-07-22 08:34:51 -07:00
Nobuyoshi Nakada 840115bf46 Make StringIO encoding fixed
Get rid of affects by default external encoding.
2020-07-20 14:59:19 +09:00
David Rodríguez 5783d0dbfc Import remaining changes
The "sync with commits" scripts failed to properly import these for some
reason.
2020-07-15 16:05:12 +09:00
Utkarsh Gupta fd709382b6 [rubygems/rubygems] Tag the specs with :readline
The newly added specs needs to be tagged as
:readline, otherwise they fail on Windows with
the backtrace: `ZeroDivisionError: divided by 0`.

Such issues are already being skipped on Windows.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/391f860af4
2020-07-15 16:05:12 +09:00
Utkarsh Gupta c44c7019b5 [rubygems/rubygems] Add tests with different flag combinations
Since this PR was made because we missed checking
RuboCop offenses with different flags, therefore
adding tests so that all flag combinations are
tested.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/d08250efc2
2020-07-15 16:05:12 +09:00
David Rodríguez 4f9c673cab [rubygems/rubygems] Allow setting a tag prefix to be used by gem release tasks
https://github.com/rubygems/rubygems/commit/679008f23a
2020-07-15 16:05:12 +09:00
Utkarsh Gupta ca133c0366 [rubygems/rubygems] Fix line spacing to make Layout/EmptyLines happy
The Gemfile wasn't properly put in the last commit.
As a result, Layout/EmptyLines inspected an offense
in the Gemfile.

This also fixes the spec w.r.t change in the task
default.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/d1418fddd3
2020-07-15 16:05:12 +09:00
David Rodríguez 2fafc08aa3 [rubygems/rubygems] Remove unneeded trailing conditions on exitstatus
https://github.com/rubygems/rubygems/commit/27e0e4ecb6
2020-07-15 16:05:12 +09:00
David Rodríguez 547ba6608e [rubygems/rubygems] Easier way to find path to ruby binary
https://github.com/rubygems/rubygems/commit/cdc201f5c4
2020-07-15 16:05:12 +09:00
David Rodríguez 16823d4a05 [rubygems/rubygems] Remove unnecessary assertions on exitstatus
Since our helpers now raise by default if the subcommand fails, these
will never actually fail and are not necessary.

https://github.com/rubygems/rubygems/commit/6153b9321e
2020-07-15 16:05:12 +09:00
David Rodríguez 17b92d221f [rubygems/rubygems] No need to update remotes
Everything is already fetched locally.

https://github.com/rubygems/rubygems/commit/9c304639b1
2020-07-15 16:05:12 +09:00
David Rodríguez d189d31ce9 [rubygems/rubygems] Git clone already takes care of this
https://github.com/rubygems/rubygems/commit/6e0c28d3ab
2020-07-15 16:05:12 +09:00
David Rodríguez a73ea2126f [rubygems/rubygems] Clone rubygems from the local repo
It simplifies things and should avoid issues like the one we had where
the master branch had a bad `.gitattributes` file and changing it on a
PR would be disregarded.

In order for this to work, we need to make sure to fetch all tags from
the repository, so that they can properly be checked out later. This
does not apply to the case of testing against `RGV=..`, since no extra
cloning is needed there.

https://github.com/rubygems/rubygems/commit/d088d936b8
2020-07-15 16:05:12 +09:00
Utkarsh Gupta 5ebca6d709 [rubygems/rubygems] Skip this spec on ruby_core workflow
ruby_core has an 'ast.rb' file that gets in the
middle and breaks this spec, so it's better we skip
this test on this workflow for now.

Also, slightly change the spec name from "run" to
"runs" and change the last assertion, it's cleaner
to check empty error.
Thanks to David Rodríguez for this!

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/ba8eaa70c3
2020-07-15 16:05:12 +09:00
Utkarsh Gupta d0810fdee4 [rubygems/rubygems] Use latest version of rubocop for RUBY_VERSION > 2.4
With older versions of rubocop, the dependency on
`jaro_winkler` seems to be a pain.
However, in the later versions of rubocop, this
dependency was dropped. So we only need to use
the older version for ruby2.3.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/9cd87eaee3
2020-07-15 16:05:12 +09:00
Utkarsh Gupta 077dcacb08 [rubygems/rubygems] Use `--config .rubocop.yml` instead
because rubocop configuration inheritance is
messed up and when using `--ignore-parent-exclusion`,
even though the exit status is 0, the example
still fails because of the configuration issue.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/3e20b2738c
2020-07-15 16:05:12 +09:00
Utkarsh Gupta ecb87b55d8 [rubygems/rubygems] Lock rubocop version to 0.80.1
The later RuboCop versions don't work with ruby2.3
so we should lock the version to what works with
ruby2.3 as we haven't dropped the support yet.

And since we're using the older version of rubocop,
also fix `Max` value of `LineLength` to 120, which
is the current standard. Without this, rubocop
will throw the line length offenses.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/46d0a800a2
2020-07-15 16:05:12 +09:00
Utkarsh Gupta 215f7c3165 [rubygems/rubygems] Fix linting and make Style/RedundantInterpolation happy
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/83e330fa87
2020-07-15 16:05:12 +09:00
Utkarsh Gupta 4875a96edd [rubygems/rubygems] Fix test to run rubocop on the generated gem
With this, it will be ensured that the generated
(skeleton) gem will have no offenses.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/47411262e0
2020-07-15 16:05:12 +09:00
Utkarsh Gupta b28c6d04d0 [rubygems/rubygems] Make Style/HashSyntax cop happy
Previously, we were using the old syntax like:
`task :default => :spec`, but now this commit
uses the new Ruby 1.9 hash syntax.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/b41d0fdb56
2020-07-15 16:05:12 +09:00
Utkarsh Gupta 449d24200b [rubygems/rubygems] WIP: add test to run rubocop on the generated gem
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/730b770f8a
2020-07-15 16:05:12 +09:00
Utkarsh Gupta 084489be87 [rubygems/rubygems] Fix tests pertaining to newgem
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/e2ee0b7de3
2020-07-15 16:05:12 +09:00
David Rodríguez 2b73f26fde [rubygems/rubygems] Show also output from all commands on rubygems checkout errors
https://github.com/rubygems/rubygems/commit/1fe24e471d
2020-07-15 16:05:12 +09:00
David Rodríguez 5ae80c5207 [rubygems/rubygems] Remove `--quiet` flag to `git checkout`
Since we don't show this output by default, it's better to be verbose
in case we happen to need more info.

https://github.com/rubygems/rubygems/commit/baa4ccf5a6
2020-07-15 16:05:12 +09:00
MSP-Greg 23cf99e99d [rubygems/rubygems] Bundler specs - Windows - remove skips, File.open => File.readlines
Using File.open without a block leaves a file reference that causes issues with file operations

commands/binstubs_spec.rb
install/gems/compact_index_spec.rb
install/gems/dependency_api_spec.rb
install/gems/standalone_spec.rb
runtime/executable_spec.rb

https://github.com/rubygems/rubygems/commit/4b9a6ca156
2020-07-15 16:05:12 +09:00
MSP-Greg ad743337b3 [rubygems/rubygems] bundler/spec/commands/binstubs_spec.rb - remove global Windows skip
Added one skip for:
bundle binstubs <gem>
when the gem exists in the lockfile
when generating bundle binstub outside bundler
should abort

https://github.com/rubygems/rubygems/commit/b77b484889
2020-07-15 16:05:12 +09:00
Koichi Sasada c25d249e63 RBasci::flags (VALUE) doesn't match int.
The type of RBasic::flags is VALUE, and INT2FIX(flags) does not
make sense. Use correct type to represent.
2020-07-15 13:36:38 +09:00
Nobuyoshi Nakada 99a9c3fe2e
Fixed yday and wday with timezone [Bug #17024] 2020-07-12 21:58:13 +09:00
Bart de Water 3621a7debf Avoid deprecated OpenSSL::Digest constants 2020-06-29 13:25:32 +09:00
Benoit Daloze 0faf6c8c0e Update to ruby/spec@6c466d4 2020-06-27 16:40:16 +02:00
Benoit Daloze b3fa158d1c Update to ruby/spec@b6b7752 2020-06-27 15:51:37 +02:00
Benoit Daloze 64d8c0815e Update to ruby/mspec@6cb1f10 2020-06-27 15:51:35 +02:00
Jeremy Evans 878af5147d Implement Proc#== and #eql?
Previously, these were not implemented, and Object#== and #eql?
were used.  This tries to check the proc internals to make sure
that procs created from separate blocks are treated as not equal,
but procs created from the same block are treated as equal, even
when the lazy proc allocation optimization is used.

Implements [Feature #14267]
2020-06-19 12:58:25 -07:00
Jeremy Evans aae8223c70 Dup splat array in certain cases where there is a block argument
This makes:

```ruby
  args = [1, 2, -> {}]; foo(*args, &args.pop)
```

call `foo` with 1, 2, and the lambda, in addition to passing the
lambda as a block.  This is different from the previous behavior,
which passed the lambda as a block but not as a regular argument,
which goes against the expected left-to-right evaluation order.

This is how Ruby already compiled arguments if using leading
arguments, trailing arguments, or keywords in the same call.

This works by disabling the optimization that skipped duplicating
the array during the splat (splatarray instruction argument
switches from false to true).  In the above example, the splat
call duplicates the array.  I've tested and cases where a
local variable or symbol are used do not duplicate the array,
so I don't expect this to decrease the performance of most Ruby
programs.  However, programs such as:

```ruby
  foo(*args, &bar)
```

could see a decrease in performance, if `bar` is a method call
and not a local variable.

This is not a perfect solution, there are ways to get around
this:

```ruby
  args = Struct.new(:a).new([:x, :y])
  def args.to_a; a; end
  def args.to_proc; a.pop; ->{}; end
  foo(*args, &args)
  # calls foo with 1 argument (:x)
  # not 2 arguments (:x and :y)
```

A perfect solution would require completely disabling the
optimization.

Fixes [Bug #16504]
Fixes [Bug #16500]
2020-06-18 08:19:33 -07:00
David Rodríguez 5f8ee14b9b [rubygems/rubygems] Make sure to pass URI's to `:git`
Passing paths should work in most cases, but on Windows the driver
letter is interpreted as the scheme and causes some case mismatches
because

```
irb> URI.parse("E:").to_s
=> "e:"
```

We fix this by passing file URI's instead.

https://github.com/rubygems/rubygems/commit/b6bc517628
2020-06-18 19:14:15 +09:00
David Rodríguez f217faf1da [rubygems/rubygems] Better skip messages
https://github.com/rubygems/rubygems/commit/4f519638ae
2020-06-18 19:14:15 +09:00
David Rodríguez 414b1485d6 [rubygems/rubygems] More portable PATH edition
https://github.com/rubygems/rubygems/commit/a6d50afad0
2020-06-18 19:14:15 +09:00
Utkarsh Gupta 22ee047f73 [rubygems/rubygems] Only add .rubocop.yml when --rubocop flag is passed
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/ef2dae4222
2020-06-18 19:14:15 +09:00
Utkarsh Gupta ec98d56153 Ship default .rubocop.yml
Currently, there is no `.rubocop.yml` shipped by default.
So when a user runs `rubocop` after creating a new gem via
`bundle gem foo`, it throws a bunch of offenses.

With the default `.rubocop.yml` present, the number of those
offenses significantly reduce by 25.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
2020-06-18 19:14:15 +09:00
Utkarsh Gupta d9c888d394 [rubygems/rubygems] Only add .rubocop.yml when --rubocop flag is passed
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

https://github.com/rubygems/rubygems/commit/ef2dae4222
2020-06-18 19:14:15 +09:00
David Rodríguez 30f9fbdce8 Undeprecate the `--no-cache` flag
This is not a remembered option, so it shouldn't have been deprecated.
At least not for that reason.
2020-06-18 19:14:15 +09:00
David Rodríguez 9cc7847849 s/sys_exec!/sys_exec 2020-06-18 19:14:15 +09:00
David Rodríguez 77df7ccc10 [rubygems/rubygems] Remove now unused "bang helpers"
https://github.com/rubygems/rubygems/commit/84e4c58e83
2020-06-18 19:14:15 +09:00
David Rodríguez ea4824ee0f [rubygems/rubygems] s/run!/run
https://github.com/rubygems/rubygems/commit/e3f60d8aec
2020-06-18 19:14:15 +09:00
David Rodríguez 596588c697 [rubygems/rubygems] s/ruby!/ruby
https://github.com/rubygems/rubygems/commit/a73fa0760e
2020-06-18 19:14:15 +09:00