[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