| Age | Commit message (Collapse) | Author |
|
Previously on builds with optimizations disabled, this could result in
an out of bounds read. When we had all of:
* built with -O0
* Leaf builtin
* Primitive.mandatory_only
* "no args builtin", called by vm_call_single_noarg_inline_builti
* The stack is escaped to the heap via binding or a proc
This is because mk_builtin_loader generated reads for all locals
regardless of whether they were used and in the case we generated a
mandatory_only iseq that would include more variables than were actually
available.
On optimized builds, the invalid accesses would be optimized away, and
this also was often unnoticed as the invalid access would just hit
another part of the stack unless it had been escaped to the heap.
The fix here is imperfect, as this could have false positives, but since
Primitive.cexpr! is only available within the cruby codebase itself
that's probably fine as a proper fix would be much more challenging (the
only false positives we found were in rjit.rb).
Fixes [Bug #20178]
Co-authored-by: Adam Hess <HParker@github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Unless this option is given, keep other gems that may be used by
`test-bundled-gems`.
|
|
|
|
For different version baseruby, use the target platform and version
instead of the info of baseruby.
|
|
|
|
`:sym` was managed by `NODE_LIT` with `Symbol` object.
This commit introduces `NODE_SYM` so that
1. Symbol literal is detectable from AST Node
2. Reduce dependency on ruby object
|
|
|
|
|
|
RDoc options that do not change and can be written in `.rdoc_options`
file are moved, so that they match when called without `make`.
Get rid of parsing the files in `page_dir` twice (as relative paths
and absolute paths).
|
|
|
|
Fixes [Bug #20104]
|
|
|
|
|
|
|
|
I'm almost certain nobody is actually running this script on Windows,
but the tests for it do run during `nmake check`, and they fail at least
on my git configuration.
The $ anchor doesn't match \r\n with git's -E regex matching, so we need
to add \r? to gobble the carriage-return up too if needed.
|
|
The test is currently skipped and can't possibly work on windows at the
moment. It fails because $LOAD_PATH is not set up properly in the forked
CGI process, so `require 'uri'` fails.
This works properly in the test_cgi.rb tests, because it sets up a
:RequestCallback to fix things up. Let's move the setup there into
util.rb, so it can be shared with test_filehandler.rb as well.
|
|
make test-bundled-gems failed when default branch didn't have tag ref at target repository.
```
updating rbs ...
From ssh://github.com/ruby/rbs
- [deleted] (none) -> origin/dependabot/bundler/steep/rbs-3.4.0
remote: Enumerating objects: 68, done.
remote: Counting objects: 100% (68/68), done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 68 (delta 19), reused 61 (delta 18), pack-reused 0
Unpacking objects: 100% (68/68), 204.84 KiB | 633.00 KiB/s, done.
* [new branch] aaa-3.4.x -> origin/aaa-3.4.x
* [new branch] dependabot/bundler/steep/rbs-3.4.1 -> origin/dependabot/bundler/steep/rbs-3.4.1
01371463..fea0932b master -> origin/master
checking out v3.4.1 (v=3.4.1, r=) ...
fatal: invalid reference: v3.4.1
fatal: invalid reference: 3.4.1
make: *** [uncommon.mk:1553: yes-test-bundled-gems-fetch] Error 1
```
|
|
When something went wrong and git launches editor, and a editor chosen
was terminal-based, a test run unnoticeably hangs.
As we intend editors not to be ran with --no-edit, GIT_EDITOR should be
defaulted to `false` so let Git command fails when it attempts to start a
editor. This allows catching such unintentional behaviour in test suite.
(Note: Prior to Git v2.32.0, git cherry-pick --no-edit doesn't work for
conflict resolution so currently the test hangs when older Git is in use.
https://github.com/git/git/commit/39edfd5cbc4d168db19ec1bc867d78ec7211ec39
i.e. Ubuntu 20.04, Debian Bullseye doesn't satisfy this prerequisite.)
|
|
|
|
|
|
It was renamed from test_mjit, but we did not maintain it as test_rjit.
We test RJIT very differently.
|
|
This is more convenient for accessing those fields.
|
|
Previously, the embedded semicolon in BASERUBY if BASERUBY is
not available breaks tarball builds without BASERUBY when using
OpenBSD make, due to the inability to escape MFLAGS correctly.
This moves the same BASERUBY code into a separate file, avoiding
the MFLAGS quoting issue.
BASERUBY must be passed to build-ext because it is required
by ripper since the introduction of lrama.
Fixes [Bug #19683]
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
This commit adds `GC.auto_compact = :empty` which will run
auto-compaction sorting pages by empty slots so the most amount of
objects will be moved. This will make it easier to write tests for
auto-compaction.
|
|
|
|
|
|
|
|
|
|
Some specs now print the following warning:
```
/path/to/bundler/tmp/1/gems/base/ruby/3.2.0/gems/sinatra-2.0.8.1/lib/sinatra/base.rb:902: warning: constant Tilt::Cache is deprecated
```
Updating sinatra to latest & greatest fixes it.
Update other deps too since at it.
|
|
reproducible
Helps ensure that unsuspecting diffs to the vendored code arent accidentally introduced
https://github.com/rubygems/rubygems/commit/7c425d49dd
|
|
After editing a conflict, continue without removed files.
|
|
On Windows, x86_64 is called as x64.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I'm guessing String#sub! was desired here.
|
|
This makes bundler consistent with all other gems, and makes the default
installation of Bundler in the release package look like any other
bundler installation.
Before (on preview3, for example), Bundler executable is installed at:
lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle
Now it's installed in the standard location:
lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/exe/bundle
|
|
|