summaryrefslogtreecommitdiff
path: root/tool
AgeCommit message (Collapse)Author
2024-01-11Avoid reading unused lvars in Primitive.cexprJohn Hawthorn
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>
2024-01-11Disable to add latest label when running with --no-dry-run optionHiroshi SHIBATA
2024-01-10Add a GitHub workflow for prism btestsKevin Newton
2024-01-10Need newline after changes listHiroshi SHIBATA
2024-01-09outdate-bundled-gems.rb: Make platform and version options optionalNobuyoshi Nakada
2024-01-09outdate-bundled-gems.rb: Remove timestamp files for revisions to testNobuyoshi Nakada
2024-01-09outdate-bundled-gems.rb: Sort outputs in depth orderNobuyoshi Nakada
2024-01-09outdate-bundled-gems.rb: Add `--all` optionNobuyoshi Nakada
Unless this option is given, keep other gems that may be used by `test-bundled-gems`.
2024-01-09outdate-bundled-gems.rb: Add `--only={all,curdir,srcdir}` optionNobuyoshi Nakada
2024-01-09outdate-bundled-gems.rb: Pass platform and version explicitlyNobuyoshi Nakada
For different version baseruby, use the target platform and version instead of the info of baseruby.
2024-01-09outdate-bundled-gems.rb: Do not clean the same directory twiceNobuyoshi Nakada
2024-01-09Introduce NODE_SYM to manage symbol literalyui-knk
`: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
2024-01-09Avoid the duplicated entries of GitHub releasesHiroshi SHIBATA
2024-01-07Skip some RBS testS-H-GAMELINKS
2024-01-06[DOC] Load options and parse files from srcdirNobuyoshi Nakada
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).
2024-01-05Support Feature and Bug tickets for release note generatorHiroshi SHIBATA
2024-01-01Don't create T_MATCH object if /regexp/.match(string) doesn't matchLuke Gruber
Fixes [Bug #20104]
2023-12-28Exclude [ci skip] commits from ChangeLogNobuyoshi Nakada
2023-12-28Exclude dependabot from ChangeLog [ci skip]Nobuyoshi Nakada
2023-12-27[Bug #20088] Fix ARCH_FLAG for cross compilingNobuyoshi Nakada
2023-12-27Make sync script work correctly with Windows-style newlinesKJ Tsanaktsidis
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.
2023-12-27Fix WEBrick::TestFileHandler#test_short_filename test not workingKJ Tsanaktsidis
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.
2023-12-27Fetch tags with test-bundled-gemsHiroshi SHIBATA
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 ```
2023-12-26Test_SyncDefaultGems: Fail when editor run (#9365)Sorah Fukumori
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.)
2023-12-25Lrama v0.6.0yui-knk
2023-12-25Typofix under lib and test, tool directoriesHiroshi SHIBATA
2023-12-22Get rid of obsoleted RJITFirstTakashi Kokubun
It was renamed from test_mjit, but we did not maintain it as test_rjit. We test RJIT very differently.
2023-12-22RJIT: Distinguish Pointer with ArrayTakashi Kokubun
This is more convenient for accessing those fields.
2023-12-19Add tool/missing-baseruby.bat, used when BASERUBY not availableJeremy Evans
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>
2023-12-19Support `GC.auto_compact = :empty` on debug buildsPeter Zhu
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.
2023-12-18RJIT: Share rb_vm_insns_count for vm_insns_countTakashi Kokubun
2023-12-16Added simple test scriptHiroshi SHIBATA
2023-12-16Added test for sub-feature like bigdecimal/utilHiroshi SHIBATA
2023-12-16Use minimum arguments for BootsnapHiroshi SHIBATA
2023-12-16Fix Sinatra warning during specsDavid Rodríguez
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.
2023-12-15[rubygems/rubygems] Refactor vendoring to allow validating vendoring is ↵Samuel Giddins
reproducible Helps ensure that unsuspecting diffs to the vendored code arent accidentally introduced https://github.com/rubygems/rubygems/commit/7c425d49dd
2023-12-15Follow removed conflict filesNobuyoshi Nakada
After editing a conflict, continue without removed files.
2023-12-15Ignore the spcial case of target_cpuNobuyoshi Nakada
On Windows, x86_64 is called as x64.
2023-12-15Fix `ARCH_FLAG` when cross-compiling on macOSNobuyoshi Nakada
2023-12-15Fix `ARCH_FLAG` when `--with-arch` with single CPUNobuyoshi Nakada
2023-12-15Explained about test_for_warn_bundled_gemsHiroshi SHIBATA
2023-12-15* append newline at EOF. [ci skip]git
2023-12-15Added test case of dash gem like net-smtpHiroshi SHIBATA
2023-12-15Added test case of bootsnapHiroshi SHIBATA
2023-12-15Added test case of bundle execHiroshi SHIBATA
2023-12-15Added test case of bundled gems dependenciesHiroshi SHIBATA
2023-12-15Added basic test case of bundled gems warningHiroshi SHIBATA
2023-12-13Fix tool/ln_sr.rb passing 2 arguments to String#chomp!Jeremy Evans
I'm guessing String#sub! was desired here.
2023-12-13Normalize bundler bindirDavid Rodríguez
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
2023-12-12Sync with upstream rubygems (#9206)David Rodríguez