Commit Briefs

9419ae5fdf Yaroslav Lobankov

ci: add integration testing for etcd-client (ligurio/gh-9093-etcd-client-reusable-workfow)

Add workflow job for integration testing of the etcd-client module. NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci


f90f53900d Serge Petrenko

test: cover port implementations with unit tests

The commit introduces new `unit/port.cc` test that covers almost all port implementations and almost all port methods. This test was intended as a testing point for future port changes. Implementations `port_sql` and `port_vdbemem` and method `dump_vdbemem` are not tested because I don't know much about the sql subsystem. For the same reason, I didn't tested `port_dump_msgpack_with_context`. Method `dump_msgpack_16` is not actually supported, but it is still used for compatibility with very old connectors. The problem is I found a bug in `port_c_dump_msgpack_16` while writing the test, and we don't want to fix it - probably, we will get rid of this method in future. Method `dump_plain` is not tested because it requires functions from `console.lua` file - it is easier to test `console.push` from Lua then loading the Lua file in unit test. The file has .cc extension because the test requires user_cache susbystem, which has init and free methods available only from C++ source files. NO_CHANGELOG=test NO_DOC=test


2af8611be1 Serge Petrenko

test: include lua headers in extern "C" scope

Lua headers don't have C++ guards which means all Lua symbols are mangled as C++ ones when the files included in a C++ source file, but then the linker fails because all Lua functions are exported with C mangling. Let's include lua headers in extern "C" scope to allow to use "lua_test_utils.h" in unit tests written in C++. NO_CHANGELOG=test NO_DOC=test


60cbfbe454 Serge Petrenko

port_c: drop assertion in port_c_dump_lua method

The method actually supports all modes of dump to Lua, but the assertion checks that mp_object mode is never used - the commit drops the assertion. This mode is tested with a tuple constraint taking raw args. Along the way, some test cases are enabled back because the bug that caused them to be disabled has been fixed. NO_CHANGELOG=internal NO_DOC=internal


ee08747291 Serge Petrenko

error: hide redundant fields of box.error.unpack()

Closes #9101 @TarantoolBot document Title: hide redundant fields of box.error.unpack() Do not show redundant fields of box.error.unpack(). These are `base_type`, `custom_type` and `code` if the latter is 0. New behaviour is available if `box_error_unpack_type_and_code` compat option is 'new'. Default value is 'old` currently. (The https://tarantool.io/compat/box_error_unpack_type_and_code is to be added.)