summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJean Boussier <byroot@ruby-lang.org>2022-10-19 16:56:37 +0200
committerJean Boussier <jean.boussier@gmail.com>2023-04-04 19:49:08 +0200
commitba6ccd871442f55080bffd53e33678c0726787d2 (patch)
treed8b9435500b80ecdd29e798db76cb4620b5763b7 /test
parenta84c99468f26a9f79fec57926d561ed906505eac (diff)
downloadruby-ba6ccd871442f55080bffd53e33678c0726787d2.tar.gz
Implement `Process.warmup`
[Feature #18885] For now, the optimizations performed are: - Run a major GC - Compact the heap - Promote all surviving objects to oldgen Other optimizations may follow.
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_process.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb
index 6e8050a54a..fa25d10353 100644
--- a/test/ruby/test_process.rb
+++ b/test/ruby/test_process.rb
@@ -4,6 +4,7 @@ require 'test/unit'
require 'tempfile'
require 'timeout'
require 'rbconfig'
+require 'objspace'
class TestProcess < Test::Unit::TestCase
RUBY = EnvUtil.rubybin
@@ -2679,4 +2680,11 @@ EOS
end
end;
end if Process.respond_to?(:_fork)
+
+ def test_warmup_promote_all_objects_to_oldgen
+ obj = Object.new
+ refute_includes(ObjectSpace.dump(obj), '"old":true')
+ Process.warmup
+ assert_includes(ObjectSpace.dump(obj), '"old":true')
+ end
end