blob: c60f1fba16793d67079577399e42f7700da0e973 [file] [log] [blame]
open Thrift;;
open ThriftTest_types;;
let s = new TSocket.t "127.0.0.1" 9090;;
let p = new TBinaryProtocol.t s;;
let c = new ThriftTest.client p p;;
let sod = function
Some v -> v
| None -> raise Thrift_error;;
s#opn;
print_string (c#testString "bya");
print_char '\n';
print_int (c#testByte 8);
print_char '\n';
print_int (c#testByte (-8));
print_char '\n';
print_int (c#testI32 32);
print_char '\n';
print_string (Int64.to_string (c#testI64 64L));
print_char '\n';
print_float (c#testDouble 3.14);
print_char '\n';
let l = [1;2;3;4] in
if l = (c#testList l) then print_string "list ok\n" else print_string "list fail\n";;
let h = Hashtbl.create 5 in
let a = Hashtbl.add h in
for i=1 to 10 do
a i (10*i)
done;
let r = c#testMap h in
for i=1 to 10 do
try
let g = Hashtbl.find r i in
print_int i;
print_char ' ';
print_int g;
print_char '\n'
with Not_found -> print_string ("Can't find "^(string_of_int i)^"\n")
done;;
let s = Hashtbl.create 5 in
let a = Hashtbl.add s in
for i = 1 to 10 do
a i true
done;
let r = c#testSet s in
for i = 1 to 10 do
try
let g = Hashtbl.find r i in
print_int i;
print_char '\n'
with Not_found -> print_string ("Can't find "^(string_of_int i)^"\n")
done;;
try
c#testException "Xception"
with Xception _ -> print_string "testException ok\n";;
try
ignore(c#testMultiException "Xception" "bya")
with Xception e -> Printf.printf "%d %s\n" (sod e#get_errorCode) (sod e#get_message);;