[Tarantool-patches] [PATCH luajit] LJ_GC64: Fix lua_concat().
Maxim Kokryashkin
m.kokryashkin at tarantool.org
Wed Oct 4 13:48:27 MSK 2023
Hi, Sergey!
Thanks for the fixes!
LGTM, except for the single comment below.
> > + Info info;
> > > + info.value = 7;
I am really sorry, that I didn't noticed that in the first round,
but the test case can be reduced a bit more. We don't really need
the `Info` structure and can use some basic type like `int`, for
example. One might argue that such change can reduce the readability
a bit, so I leave the final decision up to you.
<snipped>
> Sure, added in a separate patch and updated branch force-pushed.
>
> commit 71f4161115c2e2c13c91e2804f9c41f673ada5ce
> Author: Sergey Bronnikov <sergeyb at tarantool.org>
> Date: Tue Oct 3 17:39:48 2023 +0300
>
> test: introduce asserts assert_str{_not}_equal
>
> The patch follows up commit a0483bd214f2 ("test: introduce module for C
> tests") and adds additional asserts suitable for comparing strings.
>
> diff --git a/test/tarantool-c-tests/README.md
> b/test/tarantool-c-tests/README.md
> index 462534be..8fad6407 100644
> --- a/test/tarantool-c-tests/README.md
> +++ b/test/tarantool-c-tests/README.md
> @@ -35,6 +35,8 @@ glibc `assert()`:
> equal to the `b`.
> * `assert_double{_not}_equal(a, b)` -- check that two doubles are {not}
> **exactly** equal.
> +* `assert_str{_not}_equal(a, b)` -- check that `char *` variable `a` is
> {not}
> + equal to the `b`.
>
> ## Directives
>
> diff --git a/test/tarantool-c-tests/test.h b/test/tarantool-c-tests/test.h
> index 8b14c705..bbf573b2 100644
> --- a/test/tarantool-c-tests/test.h
> +++ b/test/tarantool-c-tests/test.h
> @@ -13,8 +13,6 @@
> * * Helpers assert macros:
> * - assert_uint_equal if needed
> * - assert_uint_not_equal if needed
> - * - assert_str_equal if needed
> - * - assert_str_not_equal if needed
> * - assert_memory_equal if needed
> * - assert_memory_not_equal if needed
> * * Pragmas.
> @@ -214,4 +212,19 @@ static inline int todo(const char *reason)
> ); \
> } while (0)
>
> +#define assert_str_equal(got, expected, n) do { \
> + assert_general(strncmp(got, expected, n) == 0, \
> + ASSERT_EQUAL_FMT(int, "%d"), \
> + __FILE__, __LINE__, (got), (expected) \
> + ); \
> +} while (0)
> +
> +#define assert_str_not_equal(got, unexpected, n) do { \
> + assert_general(strncmp(got, expected, n) != 0, \
> + ASSERT_NOT_EQUAL_FMT(int, "%d"), \
> + __FILE__, __LINE__, (got), (unexpected) \
> + ); \
> +} while (0)
> +
> +
> #endif /* TARANTOOL_LUAJIT_TEST_H */
This patch LGTM too. However, please re-send the whole
series as `v2` if you'll need to do similar changes next time.
Best regards,
Maxim Kokryashkin
More information about the Tarantool-patches
mailing list