2010-05-31 23:56:06 +09:00
|
|
|
begin
|
|
|
|
require 'rubygems'
|
|
|
|
rescue LoadError
|
|
|
|
end
|
|
|
|
require 'msgpack'
|
|
|
|
|
|
|
|
def usage
|
|
|
|
puts <<EOF
|
|
|
|
Usage: #{$0} [out-file]
|
|
|
|
|
|
|
|
This tool is for testing of accepting MessagePack random-term.
|
|
|
|
This does following behavior:
|
|
|
|
|
|
|
|
1. serializes the objects in this file, using Ruby implementation
|
|
|
|
of MessagePack (Note that Ruby implementation is considered valid)
|
|
|
|
2. Writes the serialized binaries into <out-file> (default: stdout)
|
|
|
|
|
|
|
|
EOF
|
|
|
|
exit 1
|
|
|
|
end
|
|
|
|
|
|
|
|
code = 1
|
|
|
|
outio = $stdout
|
|
|
|
|
|
|
|
if ARGV.length > 2
|
|
|
|
usage
|
|
|
|
end
|
|
|
|
|
|
|
|
if fname = ARGV[0]
|
|
|
|
unless fname == "-"
|
|
|
|
begin
|
|
|
|
outio = File.open(fname, "w")
|
|
|
|
rescue
|
|
|
|
puts "can't open output file: #{$!}"
|
|
|
|
exit 1
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
objs = [0, 1, 2, 123, 512, 1230, 678908,
|
|
|
|
-1, -23, -512, -1230, -567898,
|
2010-06-22 11:15:18 +09:00
|
|
|
"hogehoge", "243546rf7g68h798j",
|
|
|
|
# 123.123 , #FIXME
|
|
|
|
# -234.4355, 1.0e-34, 1.0e64,
|
|
|
|
[23, 234, 0.23],
|
|
|
|
[0,42,"sum", [1,2]], [1,42, nil, [3]],
|
|
|
|
42
|
2010-05-31 23:56:06 +09:00
|
|
|
]
|
|
|
|
begin
|
|
|
|
objs.each do |obj|
|
|
|
|
outio.write MessagePack.pack(obj)
|
|
|
|
outio.flush
|
|
|
|
end
|
|
|
|
rescue EOFError
|
|
|
|
code=0
|
|
|
|
rescue
|
|
|
|
$stderr.puts $!
|
|
|
|
code=1
|
|
|
|
end
|
|
|
|
|
|
|
|
outio.close
|
|
|
|
exit code
|
|
|
|
|