summaryrefslogtreecommitdiff
path: root/tool
Commit message (Collapse)AuthorAgeFilesLines
* Separate TS_IVC and TS_ICVARC in is_entries buffersJemma Issroff2022-07-181-1/+2
| | | | This allows us to treat cvar caches differently than ivar caches.
* `Gem.unpack` extracts gems so able to executeNobuyoshi Nakada2022-07-171-11/+19
| | | | | | | | Creates simple bin stubs to load the extracted executable files. After only extracted under `gems` directory, the gems are considered installed but the executable scripts are not found. Also the second argument is now the parent of the previous second and third arguments.
* Create build-only gemspec files only if having an extensionNobuyoshi Nakada2022-07-171-2/+2
|
* Fix conversion from absolute path to relative pathNobuyoshi Nakada2022-07-161-10/+15
|
* Avoid to symlink under symlinkNobuyoshi Nakada2022-07-161-7/+14
|
* Disable parallel built in test-bundled-gemsNobuyoshi Nakada2022-07-161-0/+2
|
* Move copying/linking extra files to Makefile so removed by `clean`Nobuyoshi Nakada2022-07-161-0/+113
|
* Implement Objects on VWAPeter Zhu2022-07-151-0/+9
| | | | | | This commit implements Objects on Variable Width Allocation. This allows Objects with more ivars to be embedded (i.e. contents directly follow the object header) which improves performance through better cache locality.
* Set `GEM_PATH` environment variable in runruby.rbNobuyoshi Nakada2022-07-141-0/+6
|
* Try to install also gemspec files under gem directoriesNobuyoshi Nakada2022-07-141-1/+4
| | | | | Gemspec files having extension libraries are placed under each gem directories now.
* Make dependency-free gemspec filesNobuyoshi Nakada2022-07-141-0/+4
| | | | | | | The default gems have not been installed yet in the build directory, bundled gems depending on them can not work. As those dependencies should be usable there even without rubygems, make temporary gemspec files without the dependencies, and use them in the build directory.
* Extract gemspec files to each gem directoriesNobuyoshi Nakada2022-07-141-4/+6
| | | | | | | | Since extension libraries can not be built in the source directory, rubygems warns gems have extension libraries as the extensions are not built. To order to suppress this warnings, extract such gemspec files under each gem directories instead of the common `specifications` directory.
* Bundled gem extensions are out of scope of update-depsNobuyoshi Nakada2022-07-131-0/+1
|
* Merge RubyGems and Bundler masterHiroshi SHIBATA2022-07-134-0/+8
|
* Use `File::PATH_SEPARATOR` for the portabilityNobuyoshi Nakada2022-07-091-3/+3
|
* Fallback `mkdir_p` to `as_mkdir_p`Nobuyoshi Nakada2022-07-071-0/+9
| | | | | Assume `mkdir -p` to be race-free on recent systems. And we do not provide install-sh anyway.
* Add `--stdout-on-failure`, the reverse of `--stderr-on-failure`Nobuyoshi Nakada2022-07-051-2/+7
|
* Separate failed output optionNobuyoshi Nakada2022-07-051-5/+18
| | | | It is unrelated to `GlobOption` at all.
* Adjust indent [ci skip]Nobuyoshi Nakada2022-06-301-6/+8
|
* Move function to `static inline` so we don't have leaked globalsAaron Patterson2022-06-291-0/+16
| | | | | This function shouldn't leak and is only needed during instruction assembly
* Prevent accidental use of assert_raisesNobuyoshi Nakada2022-06-252-4/+4
|
* Sync RubyGems & Bundler with upstream repoDavid Rodríguez2022-06-242-26/+0
|
* vcs.rb: ignore configuration files get rid of aliases [ci skip]Nobuyoshi Nakada2022-06-221-2/+5
|
* vcs.rb: just one log to check if `--date` option works [ci skip]Nobuyoshi Nakada2022-06-221-1/+1
|
* vcs.rb: show diagnostic/progressing messages when debugging [ci skip]Nobuyoshi Nakada2022-06-221-1/+1
|
* tool/extlibs.rb: Use Exception#message for older rubiesAlan Wu2022-06-171-1/+1
| | | | | | | | This script runs with BASERUBY, which can be as old as 2.2.x. Exception#full_message is new in 2.5.0. I saw a NoMethodError on the AppVeyor CI where BASERUBY is 2.4.6: https://ci.appveyor.com/project/ruby/ruby/builds/43870654/job/kae4uo2xbhuhqmdw#L121
* Hack to avoid leak checkerNobuyoshi Nakada2022-05-251-1/+2
|
* [ruby/date] Constify gperf-generated tableNobuyoshi Nakada2022-05-241-0/+1
| | | | https://github.com/ruby/date/commit/6d7ab08ffc
* Rename test_jit to test_mjitTakashi Kokubun2022-05-201-6/+6
| | | | to avoid confusion with YJIT
* Add `make test-annocheck` to detect security issues.Jun Aruga2022-05-163-0/+44
| | | | | | | | | | | | | | * Note that as the annocheck binary package is not available on Ubuntu, and it is working in progress in Debian, the script uses Fedora container, and it requires docker or podman command. https://www.debian.org/devel/wnpp/itp.en.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926470 * .github/workflows/compilers.yml: Add "gcc-11 annocheck" case. To pass the CI, set `TEST_ANNOCHECK_OPTS: "--skip-pie --skip-notes"` for now. See <https://bugs.ruby-lang.org/issues/18061>. * Skip MJIT tests in case of annocheck case. The MJIT tests fail in the annocheck case. See <https://bugs.ruby-lang.org/issues/18781>.
* Stop `build_extensions` when DESTDIR setKazuhiro NISHIYAMA2022-05-131-1/+1
| | | | | | Try to fix `make install without root privilege` failures on snapshot CIs. example: https://github.com/ruby/actions/actions/runs/2315349280
* Honor --with-thread option to enable pthreadNobuyoshi Nakada2022-05-101-4/+47
|
* [DOC] Move :nodoc: so rdoc finds `RbConfig.ruby`Alan Wu2022-04-251-2/+1
| | | | | | Rdoc [build] of `master` did not have this method but the reference manual [did]. [build]: https://docs.ruby-lang.org/en/master/RbConfig.html [did]: https://docs.ruby-lang.org/ja/master/class/RbConfig.html#S_RUBY
* rbinstall: Also do `Gem.ruby` patching for unpacked bundled gemsAlan Wu2022-04-221-1/+7
| | | | | | | | | | | | | | | | Pointing `Gem.ruby` to the newly installed ruby gives mkmf the right inputs to build extensions in bundled gems. Previously, this patching was only done for compressed bundled gems. This patch also prevents `tool/fake.rb` from propagating to the child process running mkmf for the native extension. The way `tool/fake.rb` changes mkmf variables using `Kernel#trace_var` created spooky action at a distance which made debugging difficult. AppVeyor Windows CI started to fail starting with 8a3663789c52ec5635194656af6b69d3d03120ee because it enabled extension building for bundled gems on mswin. This patch should address the CI failures.
* Added assert_true and assert_false same as test-unit gemHiroshi SHIBATA2022-04-201-0/+16
|
* Extract `pipe_readlines` method which reads from the pipelineNobuyoshi Nakada2022-04-161-5/+9
|
* Simplify the condition expression to ignore commitsNobuyoshi Nakada2022-04-161-1/+1
|
* Do not import any files under rakelibNobuyoshi Nakada2022-04-161-3/+5
|
* Fix bundled gems installation when relative loadingNobuyoshi Nakada2022-04-161-3/+7
|
* Skip build extensions again on cross compiling tooKazuhiro NISHIYAMA2022-04-131-1/+1
|
* Skip build extensions again on mswin and mingwKazuhiro NISHIYAMA2022-04-131-0/+3
|
* Enabled to build extensions with the bundled gems againKazuhiro NISHIYAMA2022-04-131-3/+0
| | | | | https://github.com/ruby/ruby/commit/cbb115213c42f15638ef119eb20c4d3106eb8b1a https://github.com/ruby/ruby/commit/5c1b76a3a55afeb07116bbd3492303c6b6cd890d
* Install built gem extension binariesNobuyoshi Nakada2022-04-071-40/+16
|
* Obey spec file locations to rubygemsNobuyoshi Nakada2022-04-071-2/+3
|
* Copyedit parallel test harness crash messageAlan Wu2022-04-061-1/+1
| | | | | | Mea culpa. Co-authored-by: Kaíque Kandy Koga <kaiquekandykoga@gmail.com>
* Copyedit parallel test harness crash messageAlan Wu2022-04-061-2/+2
|
* Try to fix NoMethodError on slow environmentsKazuhiro NISHIYAMA2022-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` 1) Failure: TestParallel::TestParallel#test_hungup [/home/user/ruby/tool/test/testunit/test_parallel.rb:215]: Expected /^Retrying hung up testcases\.+$/ to match "Run options: \n" + " --seed=43403\n" + " --ruby\n" + " \"./miniruby -I../lib -I. -I.ext/common ../tool/runruby.rb --extout=.ext -- --disable-gems\"\n" + " -j\n" + " t1\n" + " --worker-timeout=1\n" + "\n" + "# Running tests:\n" + "\n" + "/home/user/ruby/tool/lib/test/unit.rb:687:in `block in _run_parallel': undefined method `<' for nil:NilClass (NoMethodError)\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:538:in `block in quit_workers'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:537:in `reject!'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:537:in `quit_workers'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:687:in `_run_parallel'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:810:in `_run_suites'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:849:in `_run_suites'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1479:in `_run_anything'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1263:in `_run_anything'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1654:in `run_tests'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1641:in `block in _run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1640:in `each'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1640:in `_run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1682:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1034:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:882:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:154:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1761:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1765:in `run'\n" + "\tfrom /home/user/ruby/tool/test/testunit/tests_for_parallel/runner.rb:14:in `<main>'\n". ```
* Use latest RSpec to get rspec-mocks ruby2_keywords fixBenoit Daloze2022-04-052-9/+9
|
* Finer-grained constant cache invalidation (take 2)Kevin Newton2022-04-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This commit reintroduces finer-grained constant cache invalidation. After 8008fb7 got merged, it was causing issues on token-threaded builds (such as on Windows). The issue was that when you're iterating through instruction sequences and using the translator functions to get back the instruction structs, you're either using `rb_vm_insn_null_translator` or `rb_vm_insn_addr2insn2` depending if it's a direct-threading build. `rb_vm_insn_addr2insn2` does some normalization to always return to you the non-trace version of whatever instruction you're looking at. `rb_vm_insn_null_translator` does not do that normalization. This means that when you're looping through the instructions if you're trying to do an opcode comparison, it can change depending on the type of threading that you're using. This can be very confusing. So, this commit creates a new translator function `rb_vm_insn_normalizing_translator` to always return the non-trace version so that opcode comparisons don't have to worry about different configurations. [Feature #18589]
* Remove CI configuration files from extracted bundled gemsNobuyoshi Nakada2022-03-311-0/+4
|