820 Commits

Author SHA1 Message Date
Nobuyoshi Nakada
d3e0bc07e2
Fixed a comment [ci skip]
A range literal in conditional expression is turned into a
flip-flop, as a Range object is never falsy and does not make a
sense.
2019-08-29 11:23:16 +09:00
Nobuyoshi Nakada
d92289cd8d
Revert "Remove warnings of flip-flop deprecation from tests and specs"
This reverts commit bf7a32d22079cc44eb19794e41d82b886d5d17b3.

flip-flop is no longer deprecated.

[Feature #5400]
2019-08-29 11:10:45 +09:00
Nobuyoshi Nakada
6a0d2bc2af
Follows callback declaration updates 2019-08-28 00:09:14 +09:00
Takashi Kokubun
eaff19de2b
Fix rb_thread_create argument type
in response to the declaration change in
e3fc30564e9466d6926f9d25a090dcf787bd5c33.

Fixing the AppVeyor mswin CI failure:
https://ci.appveyor.com/project/ruby/ruby/builds/26980881/job/2j6h1qwjnbc8cpop

ref: https://github.com/ruby/ruby/pull/2404
2019-08-27 23:41:52 +09:00
Hiroshi SHIBATA
d9b73dcc0d Remove github_action_linux tag from bundler examples.
Maybe it has fixed at 5a384e2c08704dc7af9d8d3bdfc475eb8c0723aa
2019-08-23 19:05:45 +10:00
Nobuyoshi Nakada
4419b5dbc2
The investigation is going on... 2019-08-21 13:31:22 +09:00
lolwut
a230e65e8b
[bundler/bundler] Freeze time to avoid failures at midnight
Specify just a string

set @built_at as nil before testing

https://github.com/bundler/bundler/commit/578ec96c9c
2019-08-21 08:10:49 +09:00
Hiroshi SHIBATA
1c2774526e
[bundler/bundler] Share test fixtures with parallel_tests
https://github.com/bundler/bundler/commit/a38161c5be
2019-08-21 08:10:49 +09:00
Hiroshi SHIBATA
10011f4371
[bundler/bundler] Try to use RunTimeLogger for parallel_tests
https://github.com/bundler/bundler/commit/faccc522d1
2019-08-21 08:10:48 +09:00
David Rodríguez
ace88852f2
[bundler/bundler] Parallelize test suite
https://github.com/bundler/bundler/commit/23007cb107
2019-08-21 08:10:48 +09:00
David Rodríguez
ede77d82e7
[bundler/bundler] Fix a couple of typos
https://github.com/bundler/bundler/commit/52b6b94068
2019-08-21 07:58:46 +09:00
David Rodríguez
1120bacd8b
[bundler/bundler] Remove the :ruby exclusion tag
Our current set of specs is the same for all supported rubies, and we
should keep it that way.

https://github.com/bundler/bundler/commit/c9dc0f6f2c
2019-08-21 07:58:46 +09:00
David Rodríguez
bcc4ac924d
[bundler/bundler] Remove another 1.8.7 specific bit
https://github.com/bundler/bundler/commit/8c7942d2c6
2019-08-21 07:58:46 +09:00
David Rodríguez
5ea08883cf
[bundler/bundler] Remove old rubies stuff no longer needed
https://github.com/bundler/bundler/commit/36fb3287f4
2019-08-21 07:58:46 +09:00
Nobuyoshi Nakada
dd58c4ba35
Investigation of a sporadic error at Github Actions 2019-08-20 16:07:43 +09:00
David Rodríguez
5a384e2c08 Fix some bundler specs (#2380)
* These seem to consistenly pass already

* Show actual command when running `make test-bundler`

Current the setup command that installs the necessary gems for testing
bundler was printed, but not the actual command that runs the tests.
That was a bit confusing.

* Borrow trick from setproctitle specs

* A title that long doesn't get set sometimes

No idea why, but the test doesn't need that the title is that long.

* Fix most gem helper spec ruby-core failures

* Fix the rest of the gem helper failures

* Fix version spec by improving the assertion

* Remove unnecessary `BUNDLE_RUBY` environment var

We can use `RUBY` when necessary, and `BUNDLE_RUBY` is not a good name
because bundler considers `BUNDLE_*` variables as settings.

* Rename `BUNDLE_GEM` to `GEM_COMMAND`

This is more descriptive I think, and also friendlier for bundler
because `BUNDLE_` env variables are interpreted by bundler as settings,
and this is not a bundler setting.

This fixes one bundler spec failure in config specs against ruby-core.

* Fix quality spec when run in core

Use the proper path helper.

* Fix dummy lib builder to never load default gems

If a dummy library is named as a default gem, when requiring the library
from its executable, the default gem would be loaded when running from
core, because in core all default gems share path with bundler, and thus
they are always in the $LOAD_PATH. We fix the issue by loading lib
relatively inside dummy lib executables.

* More exact assertions

Sometimes I have the problem that I do some "print debugging" inside
specs, and suddently the spec passes. This happens when the assertion is
too relaxed, and the things I print make it match, specially when they
are simple strings like "1.0" than can be easily be part of gem paths
that I print for debugging.

I fix this by making a more exact assertion.

* Detect the correct shebang when ENV["RUBY"] is set

* Relax assertion

So that the spec passes even if another paths containing "ext" are in
the load path. This works to fix a ruby-core issue, but it's a better
assertion in general. We just want to know that the extension path was
added.

* Use folder structure independent path helper

It should fix this spec for ruby-core.

* Fix the last failing spec on ruby-core

* Skip `bundle open <default_gem>` spec when no default gems
2019-08-20 09:46:31 +09:00
Hiroshi SHIBATA
d3da1d57d3
Skip open_spec.rb:L95 because ruby repo doesn't have json as default gems. 2019-08-18 15:02:21 +09:00
David Rodríguez
a77b3b4476 [bundler/bundler] Remove unnecessary require
https://github.com/bundler/bundler/commit/8ef571ed4e
2019-08-18 13:45:57 +09:00
David Rodríguez
683f9e1dbf [bundler/bundler] No need to activate the fileutils default gem
The version we're vendoring actually relaxed this restriction back to
2.3.0+, so we can always use the vendored version.

https://github.com/bundler/bundler/commit/d366cbfe5d
2019-08-18 13:45:45 +09:00
David Rodríguez
4756c5f7e7 [bundler/bundler] Remove unnecessary rubygems monkeypatch
Instead, make sure we always load the local copy of bundler during
specs, and never end up using the default copy.

https://github.com/bundler/bundler/commit/ac655ffeda
2019-08-18 13:45:35 +09:00
David Rodríguez
5a69a23afc [bundler/bundler] Don't use system bundler on this spec
If we use system bundler, when booting the "outermost" bundler process,
bundler will save the path to the system bundler in BUNDLE_BIN_PATH, and
use it again when booting the "innermost" bundler process (`bundle exec
echo foo`).

That means that second process will use the system bundler path again.
However, we have `-rsupport/hax` in RUBYOPT, so that file will load from
the local copy of bundler, and that file will load `bundler/version`
from the project (not from system), because -Ilib is in the LOAD_PATH.

That will end up causing redefinition errors because the same constant
will be loaded from two different locations.

In general, this is expected behavior, normally you will wrap the
process with `Bundler.with_original_env` to reset the environment.
However, the easiest fix here is to not use system bundler, because it's
not really necessary and thus doesn't help the readability of the spec.

https://github.com/bundler/bundler/commit/a3d72a34ab
2019-08-18 13:45:25 +09:00
David Rodríguez
0653d8c601 [bundler/bundler] Fix spec using the deprecated bundle config mode
https://github.com/bundler/bundler/commit/789dd1864f
2019-08-18 13:45:15 +09:00
David Rodríguez
f753961611 [bundler/bundler] Remove a bunch of unneeded rubygems requires
https://github.com/bundler/bundler/commit/f9cb39e614
2019-08-18 13:44:46 +09:00
Zehan Zhao
d80f5399ad [bundler/bundler] Fix open default gem error
https://github.com/bundler/bundler/commit/792d724752
2019-08-18 13:44:26 +09:00
David Rodríguez
98841b2b19 [bundler/bundler] Wrap open specs with a context
So I can add another context that doesn't run the `before` block.

https://github.com/bundler/bundler/commit/06d0acc45a
2019-08-18 13:44:22 +09:00
David Rodríguez
e6e8d2d8c0 [bundler/bundler] Prefer before to before :each
https://github.com/bundler/bundler/commit/6678747fae
2019-08-18 13:44:13 +09:00
David Rodríguez
cc644c7116 [bundler/bundler] Fix bundle doctor command
Previously `bundle doctor` would fail on any bundle that does not
include git gems or plugins. This is because the previously used
`Bundler.home` does not exist unless the bundle includes git gems or
plugins. For example, with `bundle config set path .bundle`, it points
to which does not exist unless this kind of gems exist in the Gemfile.

The name `Bundler.home` is really unfortunate, it should probably be
have more descriptive name, and be private. But for now I just want to
make `bundle doctor` usable.

https://github.com/bundler/bundler/commit/5531a18c1e
2019-08-18 13:44:03 +09:00
David Stosik
a02dbcecb1 [bundler/bundler] Bundler displays a duplicate gem entries warning even if gems only appear once per group
https://github.com/bundler/bundler/commit/d18a83109e
2019-08-18 13:43:59 +09:00
David Rodríguez
08c58e3c0d
[bundler/bundler] Extract a gemspec_dir helper
https://github.com/bundler/bundler/commit/71a29e286a
2019-08-17 17:08:51 +09:00
David Rodríguez
a2d7c97a91
[bundler/bundler] Extract yet another helper method
https://github.com/bundler/bundler/commit/948a863bd8
2019-08-17 17:08:51 +09:00
David Rodríguez
4318405609
[bundler/bundler] Extract a root_gemspec local variable
https://github.com/bundler/bundler/commit/a4beba4cbf
2019-08-17 17:08:51 +09:00
David Rodríguez
09455301ef
[bundler/bundler] Extract a with_root_gemspec helper
https://github.com/bundler/bundler/commit/f20c2bdf6a
2019-08-17 17:08:51 +09:00
David Rodríguez
20c5154f0b
[bundler/bundler] Only chdir when necessary
https://github.com/bundler/bundler/commit/07161ebc1a
2019-08-17 17:08:51 +09:00
David Rodríguez
580e093fdd
[bundler/bundler] Make sure gem has been built before deleteng it
https://github.com/bundler/bundler/commit/32520c7020
2019-08-17 17:08:51 +09:00
David Rodríguez
a56bf5bfde
[bundler/bundler] Cleanup in a location independent way
https://github.com/bundler/bundler/commit/5b503a4bf1
2019-08-17 17:08:51 +09:00
David Rodríguez
9c0fcd1d0f
[bundler/bundler] Remove obvious comment
https://github.com/bundler/bundler/commit/91e7fe1b2f
2019-08-17 17:08:51 +09:00
David Rodríguez
adfca752d6
[bundler/bundler] Remve another unneeded to_s
`FileUtils.rm` supports a `Pathname` argument.

https://github.com/bundler/bundler/commit/7d982a5be9
2019-08-17 17:08:51 +09:00
David Rodríguez
9925e1a10f
[bundler/bundler] Remove unneeded to_s calls
They are implicit inside `gem_command!`.

https://github.com/bundler/bundler/commit/6bdb13c899
2019-08-17 17:08:51 +09:00
David Rodríguez
f88237623f
[bundler/bundler] Consistently use Path over Spec::Path
https://github.com/bundler/bundler/commit/a4cca66b79
2019-08-17 17:08:51 +09:00
David Rodríguez
aef5509139
[bundler/bundler] Extract single gem installation logic
https://github.com/bundler/bundler/commit/7888d621c8
2019-08-17 17:08:51 +09:00
David Rodríguez
20af44c277
[bundler/bundler] Unalias install_gem
Since I plan to reuse it for something else.

https://github.com/bundler/bundler/commit/5379382198
2019-08-17 17:08:50 +09:00
David Rodríguez
6506993462
[bundler/bundler] Use join consistently
https://github.com/bundler/bundler/commit/096e53dfe6
2019-08-17 17:08:50 +09:00
David Rodríguez
6a299906b4
[bundler/bundler] Extract a lib_tracked_files path helper
https://github.com/bundler/bundler/commit/028dc46f5a
2019-08-17 17:08:50 +09:00
David Rodríguez
19dabfbe57
[bundler/bundler] Rename a variable
Otherwise I get conflicts when extracting the helper.

https://github.com/bundler/bundler/commit/314c64cd07
2019-08-17 17:08:50 +09:00
David Rodríguez
c896f71577
[bundler/bundler] Extract a tracked_files path helper
https://github.com/bundler/bundler/commit/d35e31d2e0
2019-08-17 17:08:50 +09:00
David Rodríguez
b43f4bd218
[bundler/bundler] Rename some variables
I want to extract these to path helper methods, but the name `files`
conflict with some builder methods that are also available at the same
level.

https://github.com/bundler/bundler/commit/7844096af0
2019-08-17 17:08:50 +09:00
David Rodríguez
334e615022
[bundler/bundler] Reconcile test
The `:bundler` gem is not needed in the regular repo either.

https://github.com/bundler/bundler/commit/ca5ce01a9b
2019-08-17 17:08:50 +09:00
David Rodríguez
122bc65042
[bundler/bundler] Reuse gem_bin helper inside gem_command
The logic for choosing `gem_bin` should work here too even if it's not
identical.

https://github.com/bundler/bundler/commit/6ca0271b27
2019-08-17 17:08:50 +09:00
David Rodríguez
30a4ec1fee
[bundler/bundler] Always use --backtrace when invoking gem CLI
For debuggability.

https://github.com/bundler/bundler/commit/ac3e8db658
2019-08-17 17:08:50 +09:00
David Rodríguez
91c63828f7
[bundler/bundler] Extract a gem_bin path helper
https://github.com/bundler/bundler/commit/8eedbecac0
2019-08-17 17:08:50 +09:00