[tarantool-patches] Re: [PATCH] test: skip test backtrace if no libunwind support
Alexander Turenko
alexander.turenko at tarantool.org
Mon Nov 26 07:03:16 MSK 2018
On Fri, Nov 23, 2018 at 01:07:32PM +0300, Sergei Voronezhskii wrote:
> Fixes: #3824
> ---
> BASE: 1.10-features
> BUILD: https://travis-ci.org/tarantool/tarantool/builds/458722725
> BRANCH: https://github.com/tarantool/tarantool/tree/sergw/fix-fiber-test-if-no-libunwind
> test/app/fiber.result | 4 +++-
> test/app/fiber.test.lua | 4 +++-
> 2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/test/app/fiber.test.lua b/test/app/fiber.test.lua
> index b9d82ef05..e3165edaf 100644
> --- a/test/app/fiber.test.lua
> +++ b/test/app/fiber.test.lua
> @@ -340,7 +340,9 @@ function sf3() sf2() end
> f1 = fiber.create(sf3)
>
> info = fiber.info()
> -backtrace = info[f1:id()].backtrace
> +-- if compibled without libunwind support, need to return mock object here
compibled -> compiled
> +-- to skip this test, see #3824
> +backtrace = info[f1:id()].backtrace or {{L = 'sf1'}, {L = 'loop'}, {L = 'sf3'}}
> bt_str = ''
> for _, b in pairs(backtrace) do bt_str = bt_str .. (b['L'] or '') end
> bt_str:find('sf1') ~= nil
We can check
require('tarantool').build.options:match('-DENABLE_BACKTRACE=([^ ]+)'):upper()
against 1, ON, YES, TRUE, Y, or a non-zero number (see [1]) (note that
default is enabled) and disable the test when backtraces are disabled
(you can wrap the test into a function).
Your approach is simpler, but it will accept lack of backtrace for a
build with enabled backtraces. Hovewer it looks okay for me, because
unlikely to occur.
Georgy, what do you think?
[1]: https://cmake.org/cmake/help/v3.0/command/if.html
WBR, Alexander Turenko.
More information about the Tarantool-patches
mailing list