diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-06-26 09:16:56 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-06-26 09:16:56 +0000 |
commit | 4af87bd672eca5a4ba6c11d931d4bf433be19312 (patch) | |
tree | 938aca68628f4a8817eca46eabcebb55ef7cd11f /test/profile_test_all.rb | |
parent | 5e631969575b7a1572dcec27ab91f04ecc64efc7 (diff) | |
download | ruby-4af87bd672eca5a4ba6c11d931d4bf433be19312.tar.gz |
* test/profile_test_all.rb: move into test library directory.
* test/runner.rb: fix require path for profile_test_all.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/profile_test_all.rb')
-rw-r--r-- | test/profile_test_all.rb | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/test/profile_test_all.rb b/test/profile_test_all.rb deleted file mode 100644 index 08de7bb129..0000000000 --- a/test/profile_test_all.rb +++ /dev/null @@ -1,90 +0,0 @@ -# -# purpose: -# Profile memory usage of each tests. -# -# usage: -# RUBY_TEST_ALL_PROFILE=[file] make test-all -# -# output: -# [file] specified by RUBY_TEST_ALL_PROFILE -# If [file] is 'true', then it is ./test_all_profile -# -# collected information: -# - ObjectSpace.memsize_of_all -# - GC.stat -# - /proc/meminfo (some fields, if exists) -# - /proc/self/status (some fields, if exists) -# - /proc/self/statm (if exists) -# - -require 'objspace' - -class MiniTest::Unit::TestCase - alias orig_run run - - file = ENV['RUBY_TEST_ALL_PROFILE'] - file = 'test-all-profile-result' if file == 'true' - TEST_ALL_PROFILE_OUT = open(file, 'w') - TEST_ALL_PROFILE_GC_STAT_HASH = {} - TEST_ALL_PROFILE_BANNER = ['name'] - TEST_ALL_PROFILE_PROCS = [] - - def self.add *name, &b - TEST_ALL_PROFILE_BANNER.concat name - TEST_ALL_PROFILE_PROCS << b - end - - add 'failed?' do |result, tc| - result << (tc.passed? ? 0 : 1) - end - - add 'memsize_of_all' do |result, *| - result << ObjectSpace.memsize_of_all - end - - add *GC.stat.keys do |result, *| - GC.stat(TEST_ALL_PROFILE_GC_STAT_HASH) - result.concat TEST_ALL_PROFILE_GC_STAT_HASH.values - end - - def self.add_proc_meminfo file, fields - return unless FileTest.exist?(file) - regexp = /(#{fields.join("|")}):\s*(\d+) kB/ - # check = {}; fields.each{|e| check[e] = true} - add *fields do |result, *| - text = File.read(file) - text.scan(regexp){ - # check.delete $1 - result << $2 - '' - } - # raise check.inspect unless check.empty? - end - end - - add_proc_meminfo '/proc/meminfo', %w(MemTotal MemFree) - add_proc_meminfo '/proc/self/status', %w(VmPeak VmSize VmHWM VmRSS) - - if FileTest.exist?('/proc/self/statm') - add *%w(size resident share text lib data dt) do |result, *| - result.concat File.read('/proc/self/statm').split(/\s+/) - end - end - - def memprofile_test_all_result_result - result = ["#{self.class}\##{self.__name__.to_s.gsub(/\s+/, '')}"] - TEST_ALL_PROFILE_PROCS.each{|proc| - proc.call(result, self) - } - result.join("\t") - end - - def run runner - result = orig_run(runner) - TEST_ALL_PROFILE_OUT.puts memprofile_test_all_result_result - TEST_ALL_PROFILE_OUT.flush - result - end - - TEST_ALL_PROFILE_OUT.puts TEST_ALL_PROFILE_BANNER.join("\t") -end |