On 01.04.2015 03:25, Lukasz Marek wrote:
Signed-off-by: Lukasz Marek <lukasz.m.lu...@gmail.com> --- tests/fate/libavutil.mak | 4 ++++ tests/ref/fate/dict | 26 ++++++++++++++++++++++++++
I added more tests, so please see 2 attached instead
>From a3cca0b8533877f14ae31f2a1ecfb1e25633e536 Mon Sep 17 00:00:00 2001 From: Lukasz Marek <lukasz.m.lu...@gmail.com> Date: Wed, 1 Apr 2015 20:03:29 +0200 Subject: [PATCH 1/2] lavu/dict: add more tests Signed-off-by: Lukasz Marek <lukasz.m.lu...@gmail.com> --- libavutil/dict.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/libavutil/dict.c b/libavutil/dict.c index e30988d..4e4ea5f 100644 --- a/libavutil/dict.c +++ b/libavutil/dict.c @@ -276,6 +276,7 @@ static void test_separators(const AVDictionary *m, const char pair, const char v int main(void) { AVDictionary *dict = NULL; + AVDictionaryEntry *e; char *buffer = NULL; printf("Testing av_dict_get_string() and av_dict_parse_string()\n"); @@ -303,6 +304,58 @@ int main(void) test_separators(dict, '"', '\''); av_dict_free(&dict); + printf("\nTesting av_dict_set()\n"); + av_dict_set(&dict, "a", "a", 0); + av_dict_set(&dict, "b", av_strdup("b"), AV_DICT_DONT_STRDUP_VAL); + av_dict_set(&dict, av_strdup("c"), "c", AV_DICT_DONT_STRDUP_KEY); + av_dict_set(&dict, av_strdup("d"), av_strdup("d"), AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL); + av_dict_set(&dict, "e", "e", AV_DICT_DONT_OVERWRITE); + av_dict_set(&dict, "e", "f", AV_DICT_DONT_OVERWRITE); + av_dict_set(&dict, "f", "f", 0); + av_dict_set(&dict, "f", NULL, 0); + av_dict_set(&dict, "ff", "f", 0); + av_dict_set(&dict, "ff", "f", AV_DICT_APPEND); + e = NULL; + while ((e = av_dict_get(dict, "", e, AV_DICT_IGNORE_SUFFIX))) + printf("%s %s\n", e->key, e->value); + av_dict_free(&dict); + + av_dict_set(&dict, NULL, "a", 0); + av_dict_set(&dict, NULL, "b", 0); + av_dict_get(dict, NULL, NULL, 0); + e = NULL; + while ((e = av_dict_get(dict, "", e, AV_DICT_IGNORE_SUFFIX))) + printf("'%s' '%s'\n", e->key, e->value); + av_dict_free(&dict); + + + //valgrind sensible test + printf("\nTesting av_dict_set_int()\n"); + av_dict_set_int(&dict, "1", 1, AV_DICT_DONT_STRDUP_VAL); + av_dict_set_int(&dict, av_strdup("2"), 2, AV_DICT_DONT_STRDUP_KEY); + av_dict_set_int(&dict, av_strdup("3"), 3, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL); + av_dict_set_int(&dict, "4", 4, 0); + av_dict_set_int(&dict, "5", 5, AV_DICT_DONT_OVERWRITE); + av_dict_set_int(&dict, "5", 6, AV_DICT_DONT_OVERWRITE); + av_dict_set_int(&dict, "12", 1, 0); + av_dict_set_int(&dict, "12", 2, AV_DICT_APPEND); + e = NULL; + while ((e = av_dict_get(dict, "", e, AV_DICT_IGNORE_SUFFIX))) + printf("%s %s\n", e->key, e->value); + av_dict_free(&dict); + + //valgrind sensible test + printf("\nTesting av_dict_set() with existing AVDictionaryEntry.key as key\n"); + av_dict_set(&dict, "key", "old", 0); + e = av_dict_get(dict, "key", NULL, 0); + av_dict_set(&dict, e->key, "new val OK", 0); + e = av_dict_get(dict, "key", NULL, 0); + printf("%s\n", e->value); + av_dict_set(&dict, e->key, e->value, 0); + e = av_dict_get(dict, "key", NULL, 0); + printf("%s\n", e->value); + av_dict_free(&dict); + return 0; } #endif -- 1.9.1
>From 163ff8c56de20fec3fbd32c94b557451592f3a82 Mon Sep 17 00:00:00 2001 From: Lukasz Marek <lukasz.m.lu...@gmail.com> Date: Wed, 1 Apr 2015 03:25:24 +0200 Subject: [PATCH 2/2] fate: add AVDictionary tests Signed-off-by: Lukasz Marek <lukasz.m.lu...@gmail.com> --- tests/fate/libavutil.mak | 4 ++++ tests/ref/fate/dict | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 tests/ref/fate/dict diff --git a/tests/fate/libavutil.mak b/tests/fate/libavutil.mak index 58307ae..ff052e0 100644 --- a/tests/fate/libavutil.mak +++ b/tests/fate/libavutil.mak @@ -53,6 +53,10 @@ fate-des: libavutil/des-test$(EXESUF) fate-des: CMD = run libavutil/des-test fate-des: REF = /dev/null +FATE_LIBAVUTIL += fate-dict +fate-dict: libavutil/dict-test$(EXESUF) +fate-dict: CMD = run libavutil/dict-test + FATE_LIBAVUTIL += fate-eval fate-eval: libavutil/eval-test$(EXESUF) fate-eval: CMD = run libavutil/eval-test diff --git a/tests/ref/fate/dict b/tests/ref/fate/dict new file mode 100644 index 0000000..837f7b0 --- /dev/null +++ b/tests/ref/fate/dict @@ -0,0 +1,43 @@ +Testing av_dict_get_string() and av_dict_parse_string() + +aaa aaa b,b bbb c=c ccc ddd d,d eee e=e f,f f=f g=g g,g +aaa=aaa,b\,b=bbb,c\=c=ccc,ddd=d\,d,eee=e\=e,f\,f=f\=f,g\=g=g\,g +aaa aaa b,b bbb c=c ccc ddd d,d eee e=e f,f f=f g=g g,g +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa=aaa"bbb=bbb"ccc=ccc"\\,\=\'\"=\\,\=\'\" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa=aaa'bbb=bbb'ccc=ccc'\\,\=\'"=\\,\=\'" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa"aaa,bbb"bbb,ccc"ccc,\\\,=\'\""\\\,=\'\" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa'aaa,bbb'bbb,ccc'ccc,\\\,=\'"'\\\,=\'" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa"aaa'bbb"bbb'ccc"ccc'\\,=\'\""\\,=\'\" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa aaa bbb bbb ccc ccc \,='" \,='" +aaa'aaa"bbb'bbb"ccc'ccc"\\,=\'\"'\\,=\'\" +aaa aaa bbb bbb ccc ccc \,='" \,='" + +Testing av_dict_set() +a a +b b +c c +d d +e e +ff ff + +Testing av_dict_set_int() +1 1 +2 2 +3 3 +4 4 +5 5 +12 12 + +Testing av_dict_set() with existing AVDictionaryEntry.key as key +new val OK +new val OK -- 1.9.1
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel