summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAnthony F. Molinaro <molinaro@apache.org>2011-06-21 06:20:18 +0000
committerAnthony F. Molinaro <molinaro@apache.org>2011-06-21 06:20:18 +0000
commit917d89825f1e4345b08c73a0159c4bd5a158a25c (patch)
tree1b9c7cd954ad3f9d155d35d4b8a78a9933a158ba /test
parent0680a836344a4d3927131d26c1b38c2d7b379517 (diff)
downloadthrift-917d89825f1e4345b08c73a0159c4bd5a158a25c.tar.gz
THRIFT-892 - refactor erlang library to build using rebar, move tests into lib/erl/test directory and run several via make check
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1137870 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am1
-rw-r--r--test/erl/Makefile68
-rw-r--r--test/erl/src/Thrift1151.thrift3
-rw-r--r--test/erl/src/stress_server.erl64
-rw-r--r--test/erl/src/test_client.erl132
-rw-r--r--test/erl/src/test_disklog.erl83
-rw-r--r--test/erl/src/test_membuffer.erl120
-rw-r--r--test/erl/src/test_server.erl204
-rw-r--r--test/erl/src/test_thrift_1151.erl19
9 files changed, 0 insertions, 694 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index 39ea85ab3..ae1140403 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -41,7 +41,6 @@ EXTRA_DIST = \
rb \
perl \
php \
- erl \
hs \
ocaml \
AnnotationTest.thrift \
diff --git a/test/erl/Makefile b/test/erl/Makefile
deleted file mode 100644
index bfb1d0052..000000000
--- a/test/erl/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-GENDIR=gen
-GEN_INCLUDEDIR=$(GENDIR)/include
-GEN_SRCDIR=$(GENDIR)/src
-GEN_TARGETDIR=$(GENDIR)/ebin
-
-INCLUDEDIR=include
-TARGETDIR=ebin
-SRCDIR=src
-
-ALL_INCLUDEDIR=$(GEN_INCLUDEDIR) $(INCLUDEDIR) ../../lib/erl/include
-INCLUDEFLAGS=$(patsubst %,-I%, ${ALL_INCLUDEDIR})
-
-MODULES = stress_server test_server test_client test_disklog test_membuffer test_thrift_1151
-
-INCLUDES =
-TARGETS = $(patsubst %,${TARGETDIR}/%.beam,${MODULES})
-HEADERS = $(patsubst %,${INCLUDEDIR}/%.hrl,${INCLUDES})
-
-all: ${GEN_TARGETDIR}/ ${TARGETS}
-
-TEST_RPCFILE = ../ThriftTest.thrift
-STRESS_RPCFILE = ../StressTest.thrift
-THRIFT_1151_FILE = src/Thrift1151.thrift
-THRIFT = ../../compiler/cpp/thrift
-
-${GENDIR}/: ${RPCFILE}
- rm -rf ${GENDIR}
- ${THRIFT} --gen erl ${TEST_RPCFILE}
- ${THRIFT} --gen erl ${STRESS_RPCFILE}
- ${THRIFT} --gen erl ${THRIFT_1151_FILE}
- mkdir -p ${GEN_INCLUDEDIR}
- mkdir -p ${GEN_SRCDIR}
- mkdir -p ${GEN_TARGETDIR}
- mv gen-erl/*.hrl ${GEN_INCLUDEDIR}
- mv gen-erl/*.erl ${GEN_SRCDIR}
- rm -rf gen-erl
-
-${GEN_TARGETDIR}/: ${GENDIR}/
- rm -rf ${GEN_TARGETDIR}
- mkdir -p ${GEN_TARGETDIR}
- erlc ${ERLC_FLAGS} ${INCLUDEFLAGS} -o ${GEN_TARGETDIR} ${GEN_SRCDIR}/*.erl
-
-$(TARGETS): ${TARGETDIR}/%.beam: ${SRCDIR}/%.erl ${GEN_INCLUDEDIR}/ ${HEADERS}
- mkdir -p ${TARGETDIR}
- erlc ${ERLC_FLAGS} ${INCLUDEFLAGS} -o ${TARGETDIR} $<
-
-clean:
- rm -f ${TARGETDIR}/*.beam
- rm -rf ${GENDIR}
diff --git a/test/erl/src/Thrift1151.thrift b/test/erl/src/Thrift1151.thrift
deleted file mode 100644
index 6f934a7b1..000000000
--- a/test/erl/src/Thrift1151.thrift
+++ /dev/null
@@ -1,3 +0,0 @@
-struct StructA { 1: i16 x; }
-struct StructB { 1: i32 x; }
-struct StructC { 1: StructA x; }
diff --git a/test/erl/src/stress_server.erl b/test/erl/src/stress_server.erl
deleted file mode 100644
index 35fff0693..000000000
--- a/test/erl/src/stress_server.erl
+++ /dev/null
@@ -1,64 +0,0 @@
-%%
-%% Licensed to the Apache Software Foundation (ASF) under one
-%% or more contributor license agreements. See the NOTICE file
-%% distributed with this work for additional information
-%% regarding copyright ownership. The ASF licenses this file
-%% to you under the Apache License, Version 2.0 (the
-%% "License"); you may not use this file except in compliance
-%% with the License. You may obtain a copy of the License at
-%%
-%% http://www.apache.org/licenses/LICENSE-2.0
-%%
-%% Unless required by applicable law or agreed to in writing,
-%% software distributed under the License is distributed on an
-%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-%% KIND, either express or implied. See the License for the
-%% specific language governing permissions and limitations
-%% under the License.
-%%
-
--module(stress_server).
-
-
--export([start_link/1,
-
- handle_function/2,
-
- echoVoid/0,
- echoByte/1,
- echoI32/1,
- echoI64/1,
- echoString/1,
- echoList/1,
- echoSet/1,
- echoMap/1
- ]).
-
-start_link(Port) ->
- thrift_server:start_link(Port, service_thrift, ?MODULE).
-
-
-handle_function(Function, Args) ->
- case apply(?MODULE, Function, tuple_to_list(Args)) of
- ok ->
- ok;
- Else -> {reply, Else}
- end.
-
-
-echoVoid() ->
- ok.
-echoByte(X) ->
- X.
-echoI32(X) ->
- X.
-echoI64(X) ->
- X.
-echoString(X) ->
- X.
-echoList(X) ->
- X.
-echoSet(X) ->
- X.
-echoMap(X) ->
- X.
diff --git a/test/erl/src/test_client.erl b/test/erl/src/test_client.erl
deleted file mode 100644
index 59f596dd6..000000000
--- a/test/erl/src/test_client.erl
+++ /dev/null
@@ -1,132 +0,0 @@
-%%
-%% Licensed to the Apache Software Foundation (ASF) under one
-%% or more contributor license agreements. See the NOTICE file
-%% distributed with this work for additional information
-%% regarding copyright ownership. The ASF licenses this file
-%% to you under the Apache License, Version 2.0 (the
-%% "License"); you may not use this file except in compliance
-%% with the License. You may obtain a copy of the License at
-%%
-%% http://www.apache.org/licenses/LICENSE-2.0
-%%
-%% Unless required by applicable law or agreed to in writing,
-%% software distributed under the License is distributed on an
-%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-%% KIND, either express or implied. See the License for the
-%% specific language governing permissions and limitations
-%% under the License.
-%%
-
--module(test_client).
-
--export([start/0, start/1]).
-
--include("thriftTest_types.hrl").
-
--record(options, {port = 9090,
- client_opts = []}).
-
-parse_args(Args) -> parse_args(Args, #options{}).
-parse_args([], Opts) -> Opts;
-parse_args([Head | Rest], Opts) ->
- NewOpts =
- case catch list_to_integer(Head) of
- Port when is_integer(Port) ->
- Opts#options{port = Port};
- _Else ->
- case Head of
- "framed" ->
- Opts#options{client_opts = [{framed, true} | Opts#options.client_opts]};
- "" ->
- Opts;
- _Else ->
- erlang:error({bad_arg, Head})
- end
- end,
- parse_args(Rest, NewOpts).
-
-
-start() -> start([]).
-start(Args) ->
- #options{port = Port, client_opts = ClientOpts} = parse_args(Args),
- {ok, Client0} = thrift_client_util:new(
- "127.0.0.1", Port, thriftTest_thrift, ClientOpts),
-
- DemoXtruct = #xtruct{
- string_thing = <<"Zero">>,
- byte_thing = 1,
- i32_thing = 9128361,
- i64_thing = 9223372036854775807},
-
- DemoNest = #xtruct2{
- byte_thing = 7,
- struct_thing = DemoXtruct,
- % Note that we don't set i32_thing, it will come back as undefined
- % from the Python server, but 0 from the C++ server, since it is not
- % optional
- i32_thing = 2},
-
- % Is it safe to match these things?
- DemoDict = dict:from_list([ {Key, Key-10} || Key <- lists:seq(0,10) ]),
- DemoSet = sets:from_list([ Key || Key <- lists:seq(-3,3) ]),
-
- %DemoInsane = #insanity{
- % userMap = dict:from_list([{?thriftTest_FIVE, 5000}]),
- % xtructs = [#xtruct{ string_thing = <<"Truck">>, byte_thing = 8, i32_thing = 8, i64_thing = 8}]},
-
- {Client01, {ok, ok}} = thrift_client:call(Client0, testVoid, []),
-
- {Client02, {ok, <<"Test">>}} = thrift_client:call(Client01, testString, ["Test"]),
- {Client03, {ok, <<"Test">>}} = thrift_client:call(Client02, testString, [<<"Test">>]),
- {Client04, {ok, 63}} = thrift_client:call(Client03, testByte, [63]),
- {Client05, {ok, -1}} = thrift_client:call(Client04, testI32, [-1]),
- {Client06, {ok, 0}} = thrift_client:call(Client05, testI32, [0]),
- {Client07, {ok, -34359738368}} = thrift_client:call(Client06, testI64, [-34359738368]),
- {Client08, {ok, -5.2098523}} = thrift_client:call(Client07, testDouble, [-5.2098523]),
- {Client09, {ok, DemoXtruct}} = thrift_client:call(Client08, testStruct, [DemoXtruct]),
- {Client10, {ok, DemoNest}} = thrift_client:call(Client09, testNest, [DemoNest]),
- {Client11, {ok, DemoDict}} = thrift_client:call(Client10, testMap, [DemoDict]),
- {Client12, {ok, DemoSet}} = thrift_client:call(Client11, testSet, [DemoSet]),
- {Client13, {ok, [-1,2,3]}} = thrift_client:call(Client12, testList, [[-1,2,3]]),
- {Client14, {ok, 1}} = thrift_client:call(Client13, testEnum, [?thriftTest_Numberz_ONE]),
- {Client15, {ok, 309858235082523}} = thrift_client:call(Client14, testTypedef, [309858235082523]),
-
- % No python implementation, but works with C++ and Erlang.
- %{Client16, {ok, InsaneResult}} = thrift_client:call(Client15, testInsanity, [DemoInsane]),
- %io:format("~p~n", [InsaneResult]),
- Client16 = Client15,
-
- {Client17, {ok, #xtruct{string_thing = <<"Message">>}}} =
- thrift_client:call(Client16, testMultiException, ["Safe", "Message"]),
-
- Client18 =
- try
- {ClientS1, Result1} = thrift_client:call(Client17, testMultiException, ["Xception", "Message"]),
- io:format("Unexpected return! ~p~n", [Result1]),
- ClientS1
- catch
- throw:{ClientS2, {exception, ExnS1 = #xception{}}} ->
- #xception{errorCode = 1001, message = <<"This is an Xception">>} = ExnS1,
- ClientS2;
- throw:{ClientS2, {exception, _ExnS1 = #xception2{}}} ->
- io:format("Wrong exception type!~n", []),
- ClientS2
- end,
-
- Client19 =
- try
- {ClientS3, Result2} = thrift_client:call(Client18, testMultiException, ["Xception2", "Message"]),
- io:format("Unexpected return! ~p~n", [Result2]),
- ClientS3
- catch
- throw:{ClientS4, {exception, _ExnS2 = #xception{}}} ->
- io:format("Wrong exception type!~n", []),
- ClientS4;
- throw:{ClientS4, {exception, ExnS2 = #xception2{}}} ->
- #xception2{errorCode = 2002,
- struct_thing = #xtruct{
- string_thing = <<"This is an Xception2">>}} = ExnS2,
- ClientS4
- end,
-
- thrift_client:close(Client19).
diff --git a/test/erl/src/test_disklog.erl b/test/erl/src/test_disklog.erl
deleted file mode 100644
index fc0dcf867..000000000
--- a/test/erl/src/test_disklog.erl
+++ /dev/null
@@ -1,83 +0,0 @@
-%%
-%% Licensed to the Apache Software Foundation (ASF) under one
-%% or more contributor license agreements. See the NOTICE file
-%% distributed with this work for additional information
-%% regarding copyright ownership. The ASF licenses this file
-%% to you under the Apache License, Version 2.0 (the
-%% "License"); you may not use this file except in compliance
-%% with the License. You may obtain a copy of the License at
-%%
-%% http://www.apache.org/licenses/LICENSE-2.0
-%%
-%% Unless required by applicable law or agreed to in writing,
-%% software distributed under the License is distributed on an
-%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-%% KIND, either express or implied. See the License for the
-%% specific language governing permissions and limitations
-%% under the License.
-%%
-
--module(test_disklog).
-
--compile(export_all).
-
-t() ->
- {ok, TransportFactory} =
- thrift_disk_log_transport:new_transport_factory(
- test_disklog,
- [{file, "/tmp/test_log"},
- {size, {1024*1024, 10}}]),
- {ok, ProtocolFactory} = thrift_binary_protocol:new_protocol_factory(
- TransportFactory, []),
- {ok, Proto} = ProtocolFactory(),
- {ok, Client0} = thrift_client:new(Proto, thriftTest_thrift),
-
- io:format("Client started~n"),
-
- % We have to make oneway calls into this client only since otherwise it will try
- % to read from the disklog and go boom.
- {Client1, {ok, ok}} = thrift_client:call(Client0, testOneway, [16#deadbeef]),
- io:format("Call written~n"),
-
- % Use the send_call method to write a non-oneway call into the log
- {Client2, ok} = thrift_client:send_call(Client1, testString, [<<"hello world">>]),
- io:format("Non-oneway call sent~n"),
-
- {_Client3, ok} = thrift_client:close(Client2),
- io:format("Client closed~n"),
-
- ok.
-
-
-
-t_base64() ->
- {ok, TransportFactory} =
- thrift_disk_log_transport:new_transport_factory(
- test_disklog,
- [{file, "/tmp/test_b64_log"},
- {size, {1024*1024, 10}}]),
- {ok, B64Factory} =
- thrift_base64_transport:new_transport_factory(TransportFactory),
- {ok, BufFactory} =
- thrift_buffered_transport:new_transport_factory(B64Factory),
- {ok, ProtocolFactory} = thrift_binary_protocol:new_protocol_factory(
- BufFactory, []),
- {ok, Proto} = ProtocolFactory(),
- {ok, Client0} = thrift_client:new(Proto, thriftTest_thrift),
-
- io:format("Client started~n"),
-
- % We have to make oneway calls into this client only since otherwise it will try
- % to read from the disklog and go boom.
- {Client1, {ok, ok}} = thrift_client:call(Client0, testOneway, [16#deadbeef]),
- io:format("Call written~n"),
-
- % Use the send_call method to write a non-oneway call into the log
- {Client2, ok} = thrift_client:send_call(Client1, testString, [<<"hello world">>]),
- io:format("Non-oneway call sent~n"),
-
- {_Client3, ok} = thrift_client:close(Client2),
- io:format("Client closed~n"),
-
- ok.
-
diff --git a/test/erl/src/test_membuffer.erl b/test/erl/src/test_membuffer.erl
deleted file mode 100644
index fcf993a15..000000000
--- a/test/erl/src/test_membuffer.erl
+++ /dev/null
@@ -1,120 +0,0 @@
-%%
-%% Licensed to the Apache Software Foundation (ASF) under one
-%% or more contributor license agreements. See the NOTICE file
-%% distributed with this work for additional information
-%% regarding copyright ownership. The ASF licenses this file
-%% to you under the Apache License, Version 2.0 (the
-%% "License"); you may not use this file except in compliance
-%% with the License. You may obtain a copy of the License at
-%%
-%% http://www.apache.org/licenses/LICENSE-2.0
-%%
-%% Unless required by applicable law or agreed to in writing,
-%% software distributed under the License is distributed on an
-%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-%% KIND, either express or implied. See the License for the
-%% specific language governing permissions and limitations
-%% under the License.
-%%
-
--module(test_membuffer).
--export([t/0]).
-
--include("thriftTest_types.hrl").
-
-test_data() ->
- #xtruct {
- string_thing = <<"foobar">>,
- byte_thing = 123,
- i32_thing = 1234567,
- i64_thing = 12345678900
- }.
-
-t1() ->
- {ok, Transport} = thrift_memory_buffer:new(),
- {ok, Protocol0} = thrift_binary_protocol:new(Transport),
- TestData = test_data(),
- {Protocol1, ok} = thrift_protocol:write(Protocol0,
- {{struct, element(2, thriftTest_types:struct_info('xtruct'))},
- TestData}),
- {_Protocol2, {ok, Result}} = thrift_protocol:read(Protocol1,
- {struct, element(2, thriftTest_types:struct_info('xtruct'))},
- 'xtruct'),
- Result = TestData.
-
-
-t2() ->
- {ok, Transport} = thrift_memory_buffer:new(),
- {ok, Protocol0} = thrift_binary_protocol:new(Transport),
- TestData = test_data(),
- {Protocol1, ok} = thrift_protocol:write(Protocol0,
- {{struct, element(2, thriftTest_types:struct_info('xtruct'))},
- TestData}),
- {_Protocol2, {ok, Result}} = thrift_protocol:read(Protocol1,
- {struct, element(2, thriftTest_types:struct_info('xtruct3'))},
- 'xtruct3'),
-
- Result = #xtruct3{string_thing = TestData#xtruct.string_thing,
- changed = undefined,
- i32_thing = TestData#xtruct.i32_thing,
- i64_thing = TestData#xtruct.i64_thing}.
-
-
-t3() ->
- {ok, Transport} = thrift_memory_buffer:new(),
- {ok, Protocol0} = thrift_binary_protocol:new(Transport),
- TestData = #bools{im_true = true, im_false = false},
- {Protocol1, ok} = thrift_protocol:write(Protocol0,
- {{struct, element(2, thriftTest_types:struct_info('bools'))},
- TestData}),
- {_Protocol2, {ok, Result}} = thrift_protocol:read(Protocol1,
- {struct, element(2, thriftTest_types:struct_info('bools'))},
- 'bools'),
-
- true = TestData#bools.im_true =:= Result#bools.im_true,
- true = TestData#bools.im_false =:= Result#bools.im_false.
-
-
-t4() ->
- {ok, Transport} = thrift_memory_buffer:new(),
- {ok, Protocol0} = thrift_binary_protocol:new(Transport),
- TestData = #insanity{xtructs=[]},
- {Protocol1, ok} = thrift_protocol:write(Protocol0,
- {{struct, element(2, thriftTest_types:struct_info('insanity'))},
- TestData}),
- {_Protocol2, {ok, Result}} = thrift_protocol:read(Protocol1,
- {struct, element(2, thriftTest_types:struct_info('insanity'))},
- 'insanity'),
-
- TestData = Result.
-
-t5() ->
- % test writing to a buffer, getting the bytes out, putting them
- % in a new buffer and reading them
-
- % here's the writing part
- {ok, Transport0} = thrift_memory_buffer:new(),
- {ok, Protocol0} = thrift_binary_protocol:new(Transport0),
- TestData = test_data(),
- {Protocol1, ok} = thrift_protocol:write(Protocol0,
- {{struct, element(2, thriftTest_types:struct_info('xtruct'))},
- TestData}),
- % flush now returns the buffer
- {_Protocol2, Buf} = thrift_protocol:flush_transport (Protocol1),
-
- % now the reading part
- {ok, T2} = thrift_memory_buffer:new (Buf),
- {ok, P2} = thrift_binary_protocol:new(T2),
- {_, {ok, Result}} = thrift_protocol:read(P2,
- {struct, element(2, thriftTest_types:struct_info('xtruct'))},
- 'xtruct'),
-
- Result = TestData.
-
-t() ->
- t1(),
- t2(),
- t3(),
- t4(),
- t5().
-
diff --git a/test/erl/src/test_server.erl b/test/erl/src/test_server.erl
deleted file mode 100644
index 63f7b080e..000000000
--- a/test/erl/src/test_server.erl
+++ /dev/null
@@ -1,204 +0,0 @@
-%%
-%% Licensed to the Apache Software Foundation (ASF) under one
-%% or more contributor license agreements. See the NOTICE file
-%% distributed with this work for additional information
-%% regarding copyright ownership. The ASF licenses this file
-%% to you under the Apache License, Version 2.0 (the
-%% "License"); you may not use this file except in compliance
-%% with the License. You may obtain a copy of the License at
-%%
-%% http://www.apache.org/licenses/LICENSE-2.0
-%%
-%% Unless required by applicable law or agreed to in writing,
-%% software distributed under the License is distributed on an
-%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-%% KIND, either express or implied. See the License for the
-%% specific language governing permissions and limitations
-%% under the License.
-%%
-
--module(test_server).
-
--export([go/0, go/1, start_link/2, handle_function/2]).
-
--include("thriftTest_types.hrl").
-
--record(options, {port = 9090,
- server_opts = []}).
-
-parse_args(Args) -> parse_args(Args, #options{}).
-parse_args([], Opts) -> Opts;
-parse_args([Head | Rest], Opts) ->
- NewOpts =
- case catch list_to_integer(Head) of
- Port when is_integer(Port) ->
- Opts#options{port = Port};
- _Else ->
- case Head of
- "framed" ->
- Opts#options{server_opts = [{framed, true} | Opts#options.server_opts]};
- "" ->
- Opts;
- _Else ->
- erlang:error({bad_arg, Head})
- end
- end,
- parse_args(Rest, NewOpts).
-
-go() -> go([]).
-go(Args) ->
- #options{port = Port, server_opts = ServerOpts} = parse_args(Args),
- spawn(fun() -> start_link(Port, ServerOpts), receive after infinity -> ok end end).
-
-start_link(Port, ServerOpts) ->
- thrift_socket_server:start([{handler, ?MODULE},
- {service, thriftTest_thrift},
- {port, Port}] ++
- ServerOpts).
-
-
-handle_function(testVoid, {}) ->
- io:format("testVoid~n"),
- ok;
-
-handle_function(testString, {S}) when is_binary(S) ->
- io:format("testString: ~p~n", [S]),
- {reply, S};
-
-handle_function(testByte, {I8}) when is_integer(I8) ->
- io:format("testByte: ~p~n", [I8]),
- {reply, I8};
-
-handle_function(testI32, {I32}) when is_integer(I32) ->
- io:format("testI32: ~p~n", [I32]),
- {reply, I32};
-
-handle_function(testI64, {I64}) when is_integer(I64) ->
- io:format("testI64: ~p~n", [I64]),
- {reply, I64};
-
-handle_function(testDouble, {Double}) when is_float(Double) ->
- io:format("testDouble: ~p~n", [Double]),
- {reply, Double};
-
-handle_function(testStruct,
- {Struct = #xtruct{string_thing = String,
- byte_thing = Byte,
- i32_thing = I32,
- i64_thing = I64}})
-when is_binary(String),
- is_integer(Byte),
- is_integer(I32),
- is_integer(I64) ->
- io:format("testStruct: ~p~n", [Struct]),
- {reply, Struct};
-
-handle_function(testNest,
- {Nest}) when is_record(Nest, xtruct2),
- is_record(Nest#xtruct2.struct_thing, xtruct) ->
- io:format("testNest: ~p~n", [Nest]),
- {reply, Nest};
-
-handle_function(testMap, {Map}) ->
- io:format("testMap: ~p~n", [dict:to_list(Map)]),
- {reply, Map};
-
-handle_function(testSet, {Set}) ->
- true = sets:is_set(Set),
- io:format("testSet: ~p~n", [sets:to_list(Set)]),
- {reply, Set};
-
-handle_function(testList, {List}) when is_list(List) ->
- io:format("testList: ~p~n", [List]),
- {reply, List};
-
-handle_function(testEnum, {Enum}) when is_integer(Enum) ->
- io:format("testEnum: ~p~n", [Enum]),
- {reply, Enum};
-
-handle_function(testTypedef, {UserID}) when is_integer(UserID) ->
- io:format("testTypedef: ~p~n", [UserID]),
- {reply, UserID};
-
-handle_function(testMapMap, {Hello}) ->
- io:format("testMapMap: ~p~n", [Hello]),
-
- PosList = [{I, I} || I <- lists:seq(1, 5)],
- NegList = [{-I, -I} || I <- lists:seq(1, 5)],
-
- MapMap = dict:from_list([{4, dict:from_list(PosList)},
- {-4, dict:from_list(NegList)}]),
- {reply, MapMap};
-
-handle_function(testInsanity, {Insanity}) when is_record(Insanity, insanity) ->
- Hello = #xtruct{string_thing = <<"Hello2">>,
- byte_thing = 2,
- i32_thing = 2,
- i64_thing = 2},
-
- Goodbye = #xtruct{string_thing = <<"Goodbye4">>,
- byte_thing = 4,
- i32_thing = 4,
- i64_thing = 4},
- Crazy = #insanity{
- userMap = dict:from_list([{?thriftTest_Numberz_EIGHT, 8}]),
- xtructs = [Goodbye]
- },
-
- Looney = #insanity{
- userMap = dict:from_list([{?thriftTest_Numberz_FIVE, 5}]),
- xtructs = [Hello]
- },
-
- FirstMap = dict:from_list([{?thriftTest_Numberz_TWO, Crazy},
- {?thriftTest_Numberz_THREE, Crazy}]),
-
- SecondMap = dict:from_list([{?thriftTest_Numberz_SIX, Looney}]),
-
- Insane = dict:from_list([{1, FirstMap},
- {2, SecondMap}]),
-
- io:format("Return = ~p~n", [Insane]),
-
- {reply, Insane};
-
-handle_function(testMulti, Args = {Arg0, Arg1, Arg2, _Arg3, Arg4, Arg5})
- when is_integer(Arg0),
- is_integer(Arg1),
- is_integer(Arg2),
- is_integer(Arg4),
- is_integer(Arg5) ->
-
- io:format("testMulti(~p)~n", [Args]),
- {reply, #xtruct{string_thing = <<"Hello2">>,
- byte_thing = Arg0,
- i32_thing = Arg1,
- i64_thing = Arg2}};
-
-handle_function(testException, {String}) when is_binary(String) ->
- io:format("testException(~p)~n", [String]),
- case String of
- <<"Xception">> ->
- throw(#xception{errorCode = 1001,
- message = String});
- _ ->
- ok
- end;
-
-handle_function(testMultiException, {Arg0, Arg1}) ->
- io:format("testMultiException(~p, ~p)~n", [Arg0, Arg1]),
- case Arg0 of
- <<"Xception">> ->
- throw(#xception{errorCode = 1001,
- message = <<"This is an Xception">>});
- <<"Xception2">> ->
- throw(#xception2{errorCode = 2002,
- struct_thing =
- #xtruct{string_thing = <<"This is an Xception2">>}});
- _ ->
- {reply, #xtruct{string_thing = Arg1}}
- end;
-
-handle_function(testOneway, {Seconds}) ->
- timer:sleep(1000 * Seconds),
- ok.
diff --git a/test/erl/src/test_thrift_1151.erl b/test/erl/src/test_thrift_1151.erl
deleted file mode 100644
index c50ddee70..000000000
--- a/test/erl/src/test_thrift_1151.erl
+++ /dev/null
@@ -1,19 +0,0 @@
--module(test_thrift_1151).
-
--include("thrift1151_types.hrl").
-
--export([t/0, t1/0]).
-
-t() ->
- S1 = #structC{x=#structB{x=1}},
- {ok, Transport} = thrift_memory_buffer:new(),
- {ok, Protocol} = thrift_binary_protocol:new(Transport),
- thrift_protocol:write(Protocol,
- {{struct, element(2, thrift1151_types:struct_info('structC'))}, S1}).
-
-t1() ->
- S2 = #structC{x=#structA{x="1"}},
- {ok, Transport} = thrift_memory_buffer:new(),
- {ok, Protocol} = thrift_binary_protocol:new(Transport),
- thrift_protocol:write(Protocol,
- {{struct, element(2, thrift1151_types:struct_info('structC'))}, S2}).