[FFmpeg-devel] [PATCH] remove unused and broken test program in libavutil/base64.c

Michael Niedermayer michaelni
Fri Feb 6 01:05:33 CET 2009


On Thu, Feb 05, 2009 at 11:19:41PM +0100, Stefano Sabatini wrote:
> On date Thursday 2009-02-05 21:35:25 +0100, Michael Niedermayer encoded:
> [...]
> > considering our agreement on the irrelevnace of the code
> > please remove the tests for invalidness, remove the hex dumping and
> > try to remove as much of the other code as well.
> > also either the fixed vectors or the random ones must be dropped
> > they are redundant in some sense (keep whats less code)
> > 
> > its just a simple self test, what you wrote is overkill IMHO
> 
> New round, regards.
> -- 
> FFmpeg = Friendly & Free Mythic Picky Encoding/decoding Guru

> Index: ffmpeg/libavutil/base64.c
> ===================================================================
> --- ffmpeg.orig/libavutil/base64.c	2009-02-01 18:56:01.000000000 +0100
> +++ ffmpeg/libavutil/base64.c	2009-02-05 23:17:00.000000000 +0100
> @@ -98,3 +98,69 @@
>  
>      return ret;
>  }
> +
> +#ifdef TEST
> +
> +#undef printf
> +
> +#define MAX_DATA_SIZE    1024
> +#define MAX_ENCODED_SIZE 2048
> +
> +int test_encode_decode(const uint8_t *data, unsigned int data_size, const char *encoded_ref)
> +{
> +    char  encoded[MAX_ENCODED_SIZE];
> +    uint8_t data2[MAX_DATA_SIZE];
> +    int data2_size, max_data2_size = MAX_DATA_SIZE;
> +
> +    if (!av_base64_encode(encoded, MAX_ENCODED_SIZE, data, data_size)) {
> +        printf("Failed: cannot encode the input data\n");
> +        return 1;
> +    }

> +    if (encoded_ref && strcmp(encoded, encoded_ref)) {
> +        printf("Failed: encoded string differs from reference\n");
> +        printf("Encoded:\n%s\n", encoded);
> +        printf("Reference:\n%s\n", encoded_ref);
> +        return 1;
> +    }
> +
> +    if ((data2_size = av_base64_decode(data2, encoded, max_data2_size)) < 0) {
> +        printf("Failed: cannot decode the encoded string\n");
> +        printf("Encoded:\n%s\n", encoded);
> +        return 1;
> +    }

mergeable printf()


> +    if (memcmp(data2, data, data_size)) {
> +        printf("Failed: encoded/decoded data differs from original data\n");
> +        return 1;
> +    }
> +
> +    printf("Passed!\n");
> +    return 0;
> +}
> +
> +int main(void)
> +{
> +    int error_count = 0;
> +    struct test {
> +        const uint8_t *data;
> +        int data_size;
> +        const char *encoded_ref;
> +    } tests[] = {
> +        { "",        0, ""},
> +        { "1",       1, "MQ=="},
> +        { "22",      2, "MjI="},
> +        { "333",     3, "MzMz"},
> +        { "4444",    4, "NDQ0NA=="},
> +        { "55555",   5, "NTU1NTU="},
> +        { "666666",  6, "NjY2NjY2"},
> +        { "abc:def", 7, "YWJjOmRlZg=="},
> +    };

data_size is redundant


> +
> +    printf("Encoding/decoding tests\n");
> +

> +    for (int i = 0 [...]

gcc 2.95 dislikes this
also i think our coding rules say that C99 features that arent used
in ffmpeg yet shouldnt be added lightly

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Let us carefully observe those good qualities wherein our enemies excel us
and endeavor to excel them, by avoiding what is faulty, and imitating what
is excellent in them. -- Plutarch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090206/391d7636/attachment.pgp>



More information about the ffmpeg-devel mailing list