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

Reply via email to