diff options
| author | Sverker Eriksson <[email protected]> | 2019-06-11 20:18:39 +0200 |
|---|---|---|
| committer | Sverker Eriksson <[email protected]> | 2019-06-11 20:49:16 +0200 |
| commit | 269d1273b3ad459cec69bde197c16fe931a2d9d2 (patch) | |
| tree | ff5b26e30adbde77f9107368b9de8e9529757802 /lib/erl_interface/test/ei_print_SUITE_data | |
| parent | 3c62fb76b0ac56f3cf8d3f8abac20cd34b02e985 (diff) | |
| download | otp-269d1273b3ad459cec69bde197c16fe931a2d9d2.tar.gz otp-269d1273b3ad459cec69bde197c16fe931a2d9d2.tar.bz2 otp-269d1273b3ad459cec69bde197c16fe931a2d9d2.zip | |
erl_interface: Fix bugs in ei_print_term for binary/bitstring
Diffstat (limited to 'lib/erl_interface/test/ei_print_SUITE_data')
| -rw-r--r-- | lib/erl_interface/test/ei_print_SUITE_data/ei_print_test.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/lib/erl_interface/test/ei_print_SUITE_data/ei_print_test.c b/lib/erl_interface/test/ei_print_SUITE_data/ei_print_test.c index 0e2b24e45a..27d4153250 100644 --- a/lib/erl_interface/test/ei_print_SUITE_data/ei_print_test.c +++ b/lib/erl_interface/test/ei_print_SUITE_data/ei_print_test.c @@ -288,3 +288,64 @@ TESTCASE(funs) report(1); } + + +TESTCASE(binaries) +{ + char *buf; + long len; + int err, n, index; + ei_x_buff x; + + ei_init(); + + for (n = 5; n; n--) { + buf = read_packet(NULL); + + index = 0; + err = ei_decode_version(buf, &index, NULL); + if (err != 0) + fail1("ei_decode_version returned %d", err); + err = ei_decode_binary(buf, &index, NULL, &len); + if (err != 0) + fail1("ei_decode_binary returned %d", err); + + ei_x_new(&x); + ei_x_append_buf(&x, buf, index); + send_printed_buf(&x); + ei_x_free(&x); + + free_packet(buf); + } + report(1); +} + +TESTCASE(bitstrings) +{ + char *buf; + long len; + int err, n, index; + ei_x_buff x; + + ei_init(); + + for (n = 7; n; n--) { + buf = read_packet(NULL); + + index = 0; + err = ei_decode_version(buf, &index, NULL); + if (err != 0) + fail1("ei_decode_version returned %d", err); + err = ei_decode_bitstring(buf, &index, NULL, NULL, NULL); + if (err != 0) + fail1("ei_decode_bitstring returned %d", err); + + ei_x_new(&x); + ei_x_append_buf(&x, buf, index); + send_printed_buf(&x); + ei_x_free(&x); + + free_packet(buf); + } + report(1); +} |
