[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