Skip to content

[pull] master from ruby:master#1163

Merged
pull[bot] merged 12 commits into
turkdevops:masterfrom
ruby:master
Jun 29, 2026
Merged

[pull] master from ruby:master#1163
pull[bot] merged 12 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Jun 29, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

hsbt and others added 12 commits June 29, 2026 15:59
File.symlink decided whether to create a directory symlink by calling
GetFileAttributesW on the target as given, which resolves a relative
target against the current directory instead of the link's directory.
When the two differ, a relative target pointing at a directory became a
file symlink, so Dir operations on it failed. Resolve relative targets
against the link's directory before testing for a directory.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
MEMCPY checks the size calculation for overflow, unlike a raw memcpy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…e link dir

A target starting with a single backslash is relative to the root of the
current drive, not to the link's directory.  Treat any backslash-leading
target (root-relative or UNC) as non-relative when deciding the directory
flag; otherwise w32_symlink builds a malformed path and fails to detect
the directory attribute.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The flag also covers drive-relative and root-relative targets, which are
not absolute paths.  "independent" describes that the target is not
interpreted relative to the link's directory.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The "# default:" marker records the source path relative to the build
directory, but default_gem? re-prefixed it with srcdir, resolving a
non-existent path and wrongly removing every default gemspec whenever
srcdir is deeper than one level. The sibling layout used on CI
(srcdir=../src) only canceled the double prefix by accident.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
minitest's assertion tests compare against unified diff output produced
by the `diff` command. Where it is not on PATH (e.g. a minimal Windows
environment) those tests fail spuriously, so add minitest to the
default allowed failures in that case.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rake's TestBacktraceSuppression#test_system_dir_suppressed expects
RbConfig's rubylibprefix to be suppressed from backtraces. In an
uninstalled out-of-tree build it is a POSIX "/usr"-style prefix that
File.expand_path turns into a drive-prefixed path on Windows, which no
longer matches rake's suppression pattern.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rbs's stdlib Resolv tests resolve "localhost", which raises
Resolv::ResolvError on hosts where the Resolv library cannot resolve it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Windows has no executable bit or shebang dispatch, so `bundle exec
./script.rb` is rejected as "not executable". Invoke the script via ruby
there. The spec exercises force_activate under a bundle environment, not
shebang execution.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
On Windows the backtick runs through cmd.exe, which keeps the POSIX
single quotes literally. coreutils stat then fails on the invalid
filename and returns empty output, so Integer(nil, 10) raises
ArgumentError instead of being skipped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mountvol needs elevation to (un)mount, and without it prints
"Access is denied." to stdout. Under the parallel runner the worker
stdout is the IPC channel, so the message leaked through as a bogus
"unknown command". Capture the output and omit like test_readlink_junction.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
On Windows default_external is UTF-8, but an interactive console STDIN
is read in the locale (console code page) encoding and transcoded to
the default external encoding. The previous assertion held only when
stdin was redirected, so it failed on a console with a non-UTF-8 code
page. Expect the locale encoding when stdin is a tty.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Jun 29, 2026
@pull pull Bot added the ⤵️ pull label Jun 29, 2026
@pull pull Bot merged commit 4ef40e5 into turkdevops:master Jun 29, 2026
0 of 2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant