From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 64E534765E1 for ; Tue, 22 Dec 2020 18:05:35 +0300 (MSK) References: From: Vladislav Shpilevoy Message-ID: Date: Tue, 22 Dec 2020 16:05:33 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH v3 2/2] base64: improve decoder performance List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Sergey Nikiforov , tarantool-patches@dev.tarantool.org Thanks for the patch! > diff --git a/test/unit/base64.c b/test/unit/base64.c > index ada497adf..76db7d782 100644 > --- a/test/unit/base64.c > +++ b/test/unit/base64.c > @@ -34,6 +34,11 @@ base64_test(const char *str, int options, const char *no_symbols, > free(base64_buf); > free(strbuf); > > + const char *in = "sIIpHw=="; > + int in_len = strlen(in); > + rc = base64_decode(in, in_len, NULL, 0); > + is(rc, 0, "no space in out buffer"); >From the .result file it is clear this test is done multiple times. And it does not depend on base64_test() arguments. So why do you run exactly the same test again and again? Maybe move it to a separate test function which is run only once? > + > check_plan(); > } > > diff --git a/test/unit/base64.result b/test/unit/base64.result > index cd1f2b3f6..d606772ea 100644 > --- a/test/unit/base64.result > +++ b/test/unit/base64.result > @@ -1,178 +1,206 @@ > 1..28 > *** main *** > - 1..3 > + 1..4 > ok 1 - length > ok 2 - decode length ok > ok 3 - encode/decode > + ok 4 - no space in out buffer > ok 1 - subtests > - 1..6 > + 1..7 > ok 1 - length > ok 2 - no \n symbols > ok 3 - no + symbols > ok 4 - no = symbols > ok 5 - decode length ok > ok 6 - encode/decode > + ok 7 - no space in out buffer > ok 2 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no = symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 3 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no \n symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 4 - subtests > - 1..3 > + 1..4 > ok 1 - length > ok 2 - decode length ok > ok 3 - encode/decode > + ok 4 - no space in out buffer > ok 5 - subtests > - 1..6 > + 1..7 > ok 1 - length > ok 2 - no \n symbols > ok 3 - no + symbols > ok 4 - no = symbols > ok 5 - decode length ok > ok 6 - encode/decode > + ok 7 - no space in out buffer > ok 6 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no = symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 7 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no \n symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 8 - subtests > - 1..3 > + 1..4 > ok 1 - length > ok 2 - decode length ok > ok 3 - encode/decode > + ok 4 - no space in out buffer > ok 9 - subtests > - 1..6 > + 1..7 > ok 1 - length > ok 2 - no \n symbols > ok 3 - no + symbols > ok 4 - no = symbols > ok 5 - decode length ok > ok 6 - encode/decode > + ok 7 - no space in out buffer > ok 10 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no = symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 11 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no \n symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 12 - subtests > - 1..3 > + 1..4 > ok 1 - length > ok 2 - decode length ok > ok 3 - encode/decode > + ok 4 - no space in out buffer > ok 13 - subtests > - 1..6 > + 1..7 > ok 1 - length > ok 2 - no \n symbols > ok 3 - no + symbols > ok 4 - no = symbols > ok 5 - decode length ok > ok 6 - encode/decode > + ok 7 - no space in out buffer > ok 14 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no = symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 15 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no \n symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 16 - subtests > - 1..3 > + 1..4 > ok 1 - length > ok 2 - decode length ok > ok 3 - encode/decode > + ok 4 - no space in out buffer > ok 17 - subtests > - 1..6 > + 1..7 > ok 1 - length > ok 2 - no \n symbols > ok 3 - no + symbols > ok 4 - no = symbols > ok 5 - decode length ok > ok 6 - encode/decode > + ok 7 - no space in out buffer > ok 18 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no = symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 19 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no \n symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 20 - subtests > - 1..3 > + 1..4 > ok 1 - length > ok 2 - decode length ok > ok 3 - encode/decode > + ok 4 - no space in out buffer > ok 21 - subtests > - 1..6 > + 1..7 > ok 1 - length > ok 2 - no \n symbols > ok 3 - no + symbols > ok 4 - no = symbols > ok 5 - decode length ok > ok 6 - encode/decode > + ok 7 - no space in out buffer > ok 22 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no = symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 23 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no \n symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 24 - subtests > - 1..3 > + 1..4 > ok 1 - length > ok 2 - decode length ok > ok 3 - encode/decode > + ok 4 - no space in out buffer > ok 25 - subtests > - 1..6 > + 1..7 > ok 1 - length > ok 2 - no \n symbols > ok 3 - no + symbols > ok 4 - no = symbols > ok 5 - decode length ok > ok 6 - encode/decode > + ok 7 - no space in out buffer > ok 26 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no = symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 27 - subtests > - 1..4 > + 1..5 > ok 1 - length > ok 2 - no \n symbols > ok 3 - decode length ok > ok 4 - encode/decode > + ok 5 - no space in out buffer > ok 28 - subtests