From: <ag...@us...> - 2012-10-28 15:46:52
|
Revision: 2420 http://nagios.svn.sourceforge.net/nagios/?rev=2420&view=rev Author: ageric Date: 2012-10-28 15:46:42 +0000 (Sun, 28 Oct 2012) Log Message: ----------- lib/test-kvvec: Test the new behaviour for kvvec library Signed-off-by: Andreas Ericsson <ae...@op...> Modified Paths: -------------- nagioscore/trunk/lib/test-kvvec.c Modified: nagioscore/trunk/lib/test-kvvec.c =================================================================== --- nagioscore/trunk/lib/test-kvvec.c 2012-10-28 15:46:26 UTC (rev 2419) +++ nagioscore/trunk/lib/test-kvvec.c 2012-10-28 15:46:42 UTC (rev 2420) @@ -45,6 +45,16 @@ NULL, }; +static const char *pair_term_missing[] = { + "foo=bar;lul=bar;haha=lulu", + "foo=bar;lul=bar;haha=lulu;", + "hobbit=palace;gandalf=wizard1", + "hobbit=palace;gandalf=wizard1;", + "0=0;1=1;2=2;3=3;4=4", + "0=0;1=1;2=2;3=3;4=4;", + NULL, +}; + static void add_vars(struct kvvec *kvv, const char **ary, int len) { int i; @@ -62,9 +72,10 @@ int main(int argc, char **argv) { - int i; + int i, j; struct kvvec *kvv, *kvv2, *kvv3; struct kvvec_buf *kvvb, *kvvb2; + struct kvvec k = KVVEC_INITIALIZER; t_set_colors(0); @@ -125,6 +136,18 @@ kvvec_destroy(kvv, 1); kvvec_destroy(kvv3, KVVEC_FREE_ALL); + for (j = 0; pair_term_missing[j]; j++) { + buf2kvvec_prealloc(&k, strdup(pair_term_missing[j]), strlen(pair_term_missing[j]), '=', ';', KVVEC_COPY); + for (i = 0; i < k.kv_pairs; i++) { + struct key_value *kv = &k.kv[i]; + test(kv->key_len == kv->value_len, "%d.%d; key_len=%d; value_len=%d (%s = %s)", + j, i, kv->key_len, kv->value_len, kv->key, kv->value); + test(kv->value_len == strlen(kv->value), + "%d.%d; kv->value_len(%d) == strlen(%s)(%d)", + j, i, kv->value_len, kv->value, (int)strlen(kv->value)); + } + } + t_end(); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |