diff options
author | Anthony F. Molinaro <molinaro@apache.org> | 2011-06-18 06:04:01 +0000 |
---|---|---|
committer | Anthony F. Molinaro <molinaro@apache.org> | 2011-06-18 06:04:01 +0000 |
commit | e49a44ab1d8a386909ad6f52f503374041a2b583 (patch) | |
tree | 26685a3978bd2f97a91d0197e04d69123801ca85 /test/erl | |
parent | 3d3f42103ca2427da24f32d896e545618ae769eb (diff) | |
download | thrift-e49a44ab1d8a386909ad6f52f503374041a2b583.tar.gz |
THRIFT-1151 - catch some serialization errors
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1137131 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/erl')
-rw-r--r-- | test/erl/Makefile | 4 | ||||
-rw-r--r-- | test/erl/src/Thrift1151.thrift | 3 | ||||
-rw-r--r-- | test/erl/src/test_thrift_1151.erl | 19 |
3 files changed, 25 insertions, 1 deletions
diff --git a/test/erl/Makefile b/test/erl/Makefile index cd4c8a781..bfb1d0052 100644 --- a/test/erl/Makefile +++ b/test/erl/Makefile @@ -29,7 +29,7 @@ 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 +MODULES = stress_server test_server test_client test_disklog test_membuffer test_thrift_1151 INCLUDES = TARGETS = $(patsubst %,${TARGETDIR}/%.beam,${MODULES}) @@ -39,12 +39,14 @@ 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} diff --git a/test/erl/src/Thrift1151.thrift b/test/erl/src/Thrift1151.thrift new file mode 100644 index 000000000..6f934a7b1 --- /dev/null +++ b/test/erl/src/Thrift1151.thrift @@ -0,0 +1,3 @@ +struct StructA { 1: i16 x; } +struct StructB { 1: i32 x; } +struct StructC { 1: StructA x; } diff --git a/test/erl/src/test_thrift_1151.erl b/test/erl/src/test_thrift_1151.erl new file mode 100644 index 000000000..c50ddee70 --- /dev/null +++ b/test/erl/src/test_thrift_1151.erl @@ -0,0 +1,19 @@ +-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}). |