1131 Commits

Author SHA1 Message Date
Nobuyoshi Nakada
a6713a5758
Refined ioctl error description 2020-06-11 14:31:39 +09:00
Jeremy Evans
f3e927b0cc Make proc/Proc.new without block an error instead of warning
The warning for these was added in 2.7.
2020-06-10 17:49:54 -07:00
Nobuyoshi Nakada
04fddf3573 ENV.delete should return the result of block on non-existing key
Fixes [Bug #16173]

Co-Authored-By: Burdette Lamar <burdettelamar@yahoo.com>
Co-Authored-By: Jeremy Evans <code@jeremyevans.net>
2020-06-10 12:49:27 -07:00
Yuki Nishijima
7cfd6a0bb9 Fix build failures 2020-06-06 13:02:08 -04:00
Hiroshi SHIBATA
459eb684b7 Manually pick from rubygems/rubygems changes at
ca5bf58402
2020-06-05 07:32:42 +09:00
David Rodríguez
4d233d18a2 Re-record all cassettes
I had to pin `redis-namespace` in our spec to 1.6.0 because on ruby
2.3.0 the spec no longer resolved to that version, so the cached `.gem`
file was missing there.
2020-06-05 07:32:42 +09:00
David Rodríguez
0fb2a7fa1c Fix bin/rake spec:realworld:record
Previously it was failing and not recording. Also, the
`BUNDLER_SPEC_FORCE_RECORD` environment variable was forcing every
request to be recorded, including duplicated requests to the same
endpoint. That meant the recorded `versions` file would be incorrect
because it would contain the result of the last request, which would be
`304 NOT MODIFIED`.

So, to rerecord, delete cassettes and let them be recorded when needed.
2020-06-05 07:32:42 +09:00
Carsten Wirth
0ae5cd55e5 [rubygems/rubygems] Remove multiline gem specifications correctly
https://github.com/rubygems/rubygems/commit/8dca0ad56e
2020-06-05 07:32:42 +09:00
DEVRAJ KUMAR
9139acca66 [rubygems/rubygems] Fix bundle info not indicating a gem which has been deleted, unlike bundle show
Co-Authored-By: David Rodríguez <deivid.rodriguez@riseup.net>

https://github.com/rubygems/rubygems/commit/2851b40ffb
2020-06-05 07:32:42 +09:00
Frank Lam
0d240de2f3 [rubygems/rubygems] Tag test framework hint specs and use out helper
https://github.com/rubygems/rubygems/commit/1db61b5b5e
2020-06-05 07:32:42 +09:00
Frank Lam
154c2717da [rubygems/rubygems] Add user hint specs for bundle gem --test
https://github.com/rubygems/rubygems/commit/1d2292a88f
2020-06-05 07:32:42 +09:00
Frank Lam
f75bd9bb8b [rubygems/rubygems] Fix bundle gem ignoring global gem.test config
* bundle gem previously ignored gem.test when passed empty -t flag,
defaulting to RSpec
* bundle gem will now ask user for test framework when passed empty -t
flag and gem.test is set to false, but will not overwrite gem.test
* thor option parsing for String types falls back to human name for nil,
so setting lazy_default to nil won't work
* c5161501e0/lib/thor/parser/options.rb (L224)

Default to Bundler.settings["gem.test"] for empty --test

Add shared examples for test framework to newgem spec

Add examples for empty --test flag to newgem spec

Simplify conditional for prompting test framework

Follow naming conventions for bundler settings

Add more descriptive test framework help text for bundle gem

Update man pages for bundler

https://github.com/rubygems/rubygems/commit/ab0785a09f
2020-06-05 07:32:42 +09:00
David Rodríguez
e413e746af [rubygems/rubygems] Remove forgotten_command_line_usages from specs
Instead, use the non-deprecated option except when specifically testing
deprecated CLI flags. In that case, pass the flag directly and limit
the specs to `bundler < 3`.

https://github.com/rubygems/rubygems/commit/3d5e186241
2020-06-05 07:32:42 +09:00
David Rodríguez
61b61f426a [rubygems/rubygems] Reword specs to not mention deprecated flags
https://github.com/rubygems/rubygems/commit/f878a81f22
2020-06-05 07:32:42 +09:00
David Rodríguez
f02f19d62f [rubygems/rubygems] Rewrite dependency API specs to use new deployment mode
Some of them were passing "by chance" because they used a `bundle
install` command that failed, but the assertion was using the result of
the previous. Others were skipped on bundler 3. Now they all pass in all
versions.

https://github.com/rubygems/rubygems/commit/cedf611e11
2020-06-05 07:32:42 +09:00
David Rodríguez
5c924f597f [rubygems/rubygems] Make forgotten_command_line_options always "forget" options
https://github.com/rubygems/rubygems/commit/4d39338670
2020-06-05 07:32:42 +09:00
David Rodríguez
99dc55987d [rubygems/rubygems] Improve specs testing option remembering behavior
By making them more explicit.

https://github.com/rubygems/rubygems/commit/9979c5a811
2020-06-05 07:32:42 +09:00
David Rodríguez
332ecb0ad1 [rubygems/rubygems] Fix bundle install unintentionally saving configuration
Even if no explicit flags were passed to it.

https://github.com/rubygems/rubygems/commit/0598cbb68c
2020-06-05 07:32:42 +09:00
David Rodríguez
052d66050a [rubygems/rubygems] Change descriptions to not mention deprecated flags
https://github.com/rubygems/rubygems/commit/731b3783f1
2020-06-05 07:32:42 +09:00
David Rodríguez
fed9419e55 [rubygems/rubygems] Fix flag name in spec descriptions
https://github.com/rubygems/rubygems/commit/6395392b83
2020-06-05 07:32:42 +09:00
David Rodríguez
5989827dc7 [rubygems/rubygems] Improve wording of some specs
https://github.com/rubygems/rubygems/commit/3372b21553
2020-06-05 07:32:42 +09:00
David Rodríguez
ff74725dc3 [rubygems/rubygems] Remove old no longer meaningful spec
This spec was originally written many years ago to verity gems were
properly "remembered" in the lock file. At this point, the test feels a
bit dummy since the first `bundle install` already runs on a "clean
machine".

https://github.com/rubygems/rubygems/commit/dbfefb3f5a
2020-06-05 07:32:42 +09:00
David Rodríguez
09602f4301 [rubygems/rubygems] Revert multi ruby{,gems} version requirement fix
This reverts commit 20f06d9e178211a3016133852b72d21ac7bb93ad, reversing
changes made to f2b30cb70df8a518bef0e8a64bbceb86234d922d.

https://github.com/rubygems/rubygems/commit/40802bdb18
2020-06-05 07:32:42 +09:00
David Rodríguez
592762069d [rubygems/rubygems] Support running specs against a tarball
When bundler specs are run from a ruby tarball (ruby-core does this),
there's no git folder, so `git ls-files` fails.

Support this case by making specs rely on the list of files from the
bundler gemspec instead, and invert the spec that makes sure we ship the
right set of files.

As per the other quality specs, skip them in this case.

https://github.com/rubygems/rubygems/commit/b28d5ec931
2020-06-05 07:32:42 +09:00
David Rodríguez
bd9a6ba4ef [rubygems/rubygems] Remove unintended extra space
https://github.com/rubygems/rubygems/commit/1cc02930f3
2020-06-05 07:32:42 +09:00
Hiroshi SHIBATA
9f7bfba54f Revert "Fix a error in a before(:suite) hook"
This reverts commit 67d2a715ca35090fbb3ab13df5b7348b1807dd47.
2020-06-05 07:32:42 +09:00
Hiroshi SHIBATA
1ab410caf8 Revert "Fix a failure in bundle version with version outputs the version with build metadata"
This reverts commit fcc8be0198a16cc5fa7d4827be0c781209b70f98.
2020-06-05 07:32:42 +09:00
David Rodríguez
d52b1b0705 [rubygems/rubygems] Deprecate the --no-deployment flag
And never recommend it inside CLI messages.

This flag represents the default behaviour of `bundle install`, and the
only reason it exists is to "override" previous `--deployment` flag
usages which were silently remembered. So it should be deprecated just
like all the other flags the rely on remembering their values across
invocations.

https://github.com/rubygems/rubygems/commit/40e50b7190
2020-06-05 07:32:42 +09:00
David Rodríguez
1914c4e9b1 [rubygems/rubygems] Pass --deployment flag directly
This spec is run only in bundler 2 mode, and it's testing the
`--deployment` flag specifically.

https://github.com/rubygems/rubygems/commit/a5d91c68b6
2020-06-05 07:32:42 +09:00
David Rodríguez
5a12fc7c7f [rubygems/rubygems] Unskip "monorepo issues"
They seem to be passing?

https://github.com/rubygems/rubygems/commit/a00d1e6896
2020-06-05 07:32:42 +09:00
Jeremy Evans
98286e9850 Ensure origins for all included, prepended, and refined modules
This fixes various issues when a module is included in or prepended
to a module or class, and then refined, or refined and then included
or prepended to a module or class.

Implement by renaming ensure_origin to rb_ensure_origin, making it
non-static, and calling it when refining a module.

Fix Module#initialize_copy to handle origins correctly.  Previously,
Module#initialize_copy did not handle origins correctly.  For example,
this code:

```ruby
module B; end
class A
  def b; 2 end
  prepend B
end
a = A.dup.new
class A
  def b; 1 end
end
p a.b
```

Printed 1 instead of 2.  This is because the super chain for
a.singleton_class was:

```
a.singleton_class
A.dup
B(iclass)
B(iclass origin)
A(origin) # not A.dup(origin)
```

The B iclasses would not be modified, so the includer entry would be
still be set to A and not A.dup.

This modifies things so that if the class/module has an origin,
all iclasses between the class/module and the origin are duplicated
and have the correct includer entry set, and the correct origin
is created.

This requires other changes to make sure all tests still pass:

* rb_undef_methods_from doesn't automatically handle classes with
  origins, so pass it the origin for Comparable when undefing
  methods in Complex. This fixed a failure in the Complex tests.

* When adding a method, the method cache was not cleared
  correctly if klass has an origin.  Clear the method cache for
  the klass before switching to the origin of klass.  This fixed
  failures in the autoload tests related to overridding require,
  without breaking the optimization tests.  Also clear the method
  cache for both the module and origin when removing a method.

* Module#include? is fixed to skip origin iclasses.

* Refinements are fixed to use the origin class of the module that
  has an origin.

* RCLASS_REFINED_BY_ANY is removed as it was only used in a single
  place and is no longer needed.

* Marshal#dump is fixed to skip iclass origins.

* rb_method_entry_make is fixed to handled overridden optimized
  methods for modules that have origins.

Fixes [Bug #16852]
2020-06-03 09:50:37 -07:00
Benoit Daloze
160511d851 Quarantine specs which fail frequently with CHECK_LEAKS=true 2020-06-03 12:11:58 +02:00
Jean Boussier
ae8362fdc8 Add a spec for the new NoMethodError display of the receiver 2020-06-02 16:57:32 +02:00
Benoit Daloze
b7e1de117e Make sure rb_enc_str_new_static() is used when enc is NULL
* The definition of the rb_enc_str_new_cstr macro depends on
  HAVE_BUILTIN___BUILTIN_CONSTANT_P.
* It SEGV on mswin otherwise.
2020-06-01 00:30:41 +02:00
Benoit Daloze
34776105c8 Update to ruby/spec@4e486fa 2020-05-31 18:22:49 +02:00
Benoit Daloze
f4502b001a Update to ruby/mspec@e3abf6b 2020-05-31 18:22:47 +02:00
Benoit Daloze
5a79d8e050 Fix error raised by Net::HTTPResponse#inflater if the block raises
* See https://bugs.ruby-lang.org/issues/13882#note-6
2020-05-31 12:48:14 +02:00
Benoit Daloze
5b4b82b712 Fix spec description for Net::HTTP.get 2020-05-31 12:48:14 +02:00
Yusuke Endoh
e73e504e2f spec: add wsl guard
WSL 2 is officially released.  It uses Linux kernel, so almost all specs
for Linux work on WSL, except one: gethostbyaddr.  I guess network
resolution in WSL is based on Windows, so the behavior seems a bit
different from normal Linux.

This change adds `platform_is_not :wsl` guard, and guards out the test
in question.
2020-05-30 01:52:38 +09:00
Jean Boussier
385ac07fd8 Use receiver #name rather than #inspect to build NameError message 2020-05-26 14:10:33 +09:00
Kazuhiro NISHIYAMA
b10b37924a
Fix failures in ./spec/bundler/quality_spec.rb
```
Failures:

  1) The library itself does not contain any warnings
     Failure/Error: raise "Invoking #{method}!(#{args.map(&:inspect).join(", ")}) failed:\n#{last_command.stdboth}"

     RuntimeError:
       Invoking sys_exec!("ruby -w") failed:
       /home/user/snapshot-master/lib/bundler/cli/add.rb:4:in `<module:Bundler>': uninitialized constant Bundler::CLI (NameError)
        from /home/user/snapshot-master/lib/bundler/cli/add.rb:3:in `<top (required)>'
        from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require'
        from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require'
        from -:2:in `<main>'

       Commands:
       $ ruby -w
       /home/user/snapshot-master/lib/bundler/cli/add.rb:4:in `<module:Bundler>': uninitialized constant Bundler::CLI (NameError)
        from /home/user/snapshot-master/lib/bundler/cli/add.rb:3:in `<top (required)>'
        from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require'
        from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require'
        from -:2:in `<main>'
       # $? => 1
```
2020-05-25 20:12:41 +09:00
Kazuhiro NISHIYAMA
fcc8be0198
Fix a failure in bundle version with version outputs the version with build metadata
```
  1) bundle version with version outputs the version with build metadata
     Failure/Error: expect(out).to match(/\ABundler version #{Regexp.escape(Bundler::VERSION)} \(\d{4}-\d{2}-\d{2} commit #{COMMIT_HASH}\)\z/)

       expected "Bundler version 2.2.0.dev (2020-05-25 commit )" to match /\ABundler version 2\.2\.0\.dev \(\d{4}-\d{2}-\d{2} commit (?-mix:unknown|[a-fA-F0-9]{7,})\)\z/
       Diff:
       @@ -1,2 +1,2 @@
       -/\ABundler version 2\.2\.0\.dev \(\d{4}-\d{2}-\d{2} commit (?-mix:unknown|[a-fA-F0-9]{7,})\)\z/
       +"Bundler version 2.2.0.dev (2020-05-25 commit )"

       Commands:
       $ /home/user/snapshot-master/ruby -I/home/user/snapshot-master/spec/bundler -r/home/user/snapshot-master/spec/bundler/support/artifice/fail.rb -r/home/user/snapshot-master/spec/bundler/support/hax.rb /home/user/snapshot-master/tmp/1/gems/system/bin/bundle version
       Bundler version 2.2.0.dev (2020-05-25 commit )
       # $? => 0
```
2020-05-25 20:08:30 +09:00
Kazuhiro NISHIYAMA
67d2a715ca
Fix a error in a before(:suite) hook
https://github.com/ruby/actions/runs/703745101?check_suite_focus=true#step:16:27
```
An error occurred in a `before(:suite)` hook.
Failure/Error: contents = File.read(version_file)

Errno::ENOENT:
  No such file or directory @ rb_sysopen - /home/runner/work/actions/actions/snapshot-master/tmp/1/bundler-2.2.0.dev/lib/bundler/version.rb
```
2020-05-25 20:08:30 +09:00
Hiroshi SHIBATA
df5fd1d09c Fixup 1d079a0c5d4d80860a4d6d692344124fe5c562b5 2020-05-22 20:32:30 +09:00
Hiroshi SHIBATA
1d889c9656 Sync Bundler PR #3624 with HEAD commits 2020-05-22 20:32:30 +09:00
Hiroshi SHIBATA
93ebf9643d Revert 1f011cccb16ca9e8ee378cb5a9d4c14459afd68c 2020-05-22 20:32:30 +09:00
Hiroshi SHIBATA
26367367ec Marked the failing examples with the current master branch on ruby repository 2020-05-22 20:32:30 +09:00
Hiroshi SHIBATA
c7ebeb7eda Sync Bundler PR #3624 2020-05-22 20:32:30 +09:00
Kazuhiro NISHIYAMA
6c1a51dae8
Skip some tests if extracted from tarball (again)
Fix up previous commit

ref
9aa75795f9f438d5c874d8e418c3c7cdd63024fa,
38002a8adbd98266426940d829429a30af0622a4, and
0e60b59d5884edb8f9aea023efd9b24f1ff02049
2020-05-19 00:58:33 +09:00
Kazuhiro NISHIYAMA
1f011cccb1
Skip some tests if extracted from tarball (again)
ref 9aa75795f9f438d5c874d8e418c3c7cdd63024fa
2020-05-18 23:18:44 +09:00