зеркало из https://github.com/github/ruby.git
* ext/objspace/objspace_dump.c: test fixes and win32 compatibility
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
80c4b4b3d7
Коммит
34176b023e
|
@ -1,3 +1,11 @@
|
|||
Sun Nov 24 09:18:06 2013 Aman Gupta <ruby@tmm1.net>
|
||||
|
||||
* ext/objspace/objspace_dump.c (dump_object): Use PRIuSIZE to print
|
||||
size_t for better win32 compatibility.
|
||||
* test/objspace/test_objspace.rb (test_dump_all): Hold reference to
|
||||
test string to avoid failure due to GC. Reduce size of failure message
|
||||
using grep(/TEST STRING/).
|
||||
|
||||
Sat Nov 23 13:38:00 2013 Kyle Stevens <kstevens715@gmail.com>
|
||||
|
||||
* lib/csv.rb: If skip_lines is set to a String, convert it to a Regexp
|
||||
|
|
|
@ -240,11 +240,11 @@ dump_object(VALUE obj, struct dump_config *dc)
|
|||
dump_append(dc, ", \"file\":\"%s\", \"line\":%lu", ainfo->path, ainfo->line);
|
||||
if (RTEST(ainfo->mid))
|
||||
dump_append(dc, ", \"method\":\"%s\"", rb_id2name(SYM2ID(ainfo->mid)));
|
||||
dump_append(dc, ", \"generation\":%zu", ainfo->generation);
|
||||
dump_append(dc, ", \"generation\":%"PRIuSIZE, ainfo->generation);
|
||||
}
|
||||
|
||||
if ((memsize = rb_obj_memsize_of(obj)) > 0)
|
||||
dump_append(dc, ", \"memsize\":%zu", memsize);
|
||||
dump_append(dc, ", \"memsize\":%"PRIuSIZE, memsize);
|
||||
|
||||
dump_append(dc, "}\n");
|
||||
}
|
||||
|
|
|
@ -239,30 +239,33 @@ class TestObjSpace < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_dump_all
|
||||
entry = /"value":"TEST STRING", "encoding":"UTF-8", "file":"-", "line":4, "method":"dump_my_heap_please"/
|
||||
assert_in_out_err(%w[-robjspace], <<-'end;', entry)
|
||||
entry = /"bytesize":11, "value":"TEST STRING", "encoding":"UTF-8", "file":"-", "line":4, "method":"dump_my_heap_please", "generation":/
|
||||
|
||||
assert_in_out_err(%w[-robjspace], <<-'end;') do |output, error|
|
||||
def dump_my_heap_please
|
||||
ObjectSpace.trace_object_allocations_start
|
||||
GC.start
|
||||
"TEST STRING".force_encoding("UTF-8")
|
||||
str = "TEST STRING".force_encoding("UTF-8")
|
||||
ObjectSpace.dump_all(output: :stdout)
|
||||
end
|
||||
|
||||
dump_my_heap_please
|
||||
end;
|
||||
assert_match(entry, output.grep(/TEST STRING/).join("\n"))
|
||||
end
|
||||
|
||||
assert_in_out_err(%w[-robjspace], <<-'end;') do |(output), (error)|
|
||||
def dump_my_heap_please
|
||||
ObjectSpace.trace_object_allocations_start
|
||||
GC.start
|
||||
"TEST STRING".force_encoding("UTF-8")
|
||||
str = "TEST STRING".force_encoding("UTF-8")
|
||||
ObjectSpace.dump_all().path
|
||||
end
|
||||
|
||||
puts dump_my_heap_please
|
||||
end;
|
||||
skip if /is not supported/ =~ error
|
||||
assert_match(entry, File.read(output))
|
||||
assert_match(entry, File.readlines(output).grep(/TEST STRING/).join("\n"))
|
||||
File.unlink(output)
|
||||
end
|
||||
end
|
||||
|
|
Загрузка…
Ссылка в новой задаче