diff options
Diffstat (limited to 'tests/test_expr.c')
-rw-r--r-- | tests/test_expr.c | 134 |
1 files changed, 67 insertions, 67 deletions
diff --git a/tests/test_expr.c b/tests/test_expr.c index da8f46a..ed86a6c 100644 --- a/tests/test_expr.c +++ b/tests/test_expr.c @@ -2,7 +2,7 @@ test_expr.c - simple tests for the expr module This file is part of the nss-pam-ldapd library. - Copyright (C) 2009, 2011 Arthur de Jong + Copyright (C) 2009, 2011, 2012 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -35,22 +35,22 @@ static void test_parse_name(void) { char buffer[20]; int i; - i=0; - assert(parse_name("fooBar",&i,buffer,sizeof(buffer))!=NULL); - assert(i==6); - i=0; - assert(parse_name("nameThatWillNotFitInBuffer",&i,buffer,sizeof(buffer))==NULL); - i=0; - assert(parse_name("foo Bar",&i,buffer,sizeof(buffer))!=NULL); - assert(i==3); - assertstreq(buffer,"foo"); + i = 0; + assert(parse_name("fooBar", &i, buffer, sizeof(buffer)) != NULL); + assert(i == 6); + i = 0; + assert(parse_name("nameThatWillNotFitInBuffer", &i, buffer, sizeof(buffer)) == NULL); + i = 0; + assert(parse_name("foo Bar", &i, buffer, sizeof(buffer)) != NULL); + assert(i == 3); + assertstreq(buffer, "foo"); } -static const char *expanderfn(const char *name,void UNUSED(*expander_attr)) +static const char *expanderfn(const char *name, void UNUSED(*expander_attr)) { - if (strcmp(name,"empty")==0) + if (strcmp(name, "empty") == 0) return ""; - if (strcmp(name,"null")==0) + if (strcmp(name, "null") == 0) return NULL; else return "foobar"; @@ -59,82 +59,82 @@ static const char *expanderfn(const char *name,void UNUSED(*expander_attr)) static void test_expr_parse(void) { char buffer[1024]; - assert(expr_parse("$test1",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"foobar"); - assert(expr_parse("\\$test1",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"$test1"); - assert(expr_parse("$empty",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,""); - assert(expr_parse("$foo1$empty-$foo2",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"foobar-foobar"); - assert(expr_parse("$foo1+$null+$foo2",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"foobar++foobar"); - assert(expr_parse("${test1}\\$",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"foobar$"); - assert(expr_parse("${test1:-default}",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"foobar"); - assert(expr_parse("${empty:-default}",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"default"); - assert(expr_parse("${test1:+setset}",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"setset"); - assert(expr_parse("${empty:+setset}",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,""); - assert(expr_parse("${empty:-$test1}",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"foobar"); - assert(expr_parse("a/$test1/b",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"a/foobar/b"); - assert(expr_parse("a/$empty/b",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"a//b"); - assert(expr_parse("a${test1}b",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"afoobarb"); - assert(expr_parse("a${test1}b${test2:+${test3:-d$test4}e}c",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"afoobarbfoobarec"); - assert(expr_parse("a${test1}b${test2:+${empty:-d$test4}e}c",buffer,sizeof(buffer),expanderfn,NULL)!=NULL); - assertstreq(buffer,"afoobarbdfoobarec"); + assert(expr_parse("$test1", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "foobar"); + assert(expr_parse("\\$test1", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "$test1"); + assert(expr_parse("$empty", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, ""); + assert(expr_parse("$foo1$empty-$foo2", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "foobar-foobar"); + assert(expr_parse("$foo1+$null+$foo2", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "foobar++foobar"); + assert(expr_parse("${test1}\\$", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "foobar$"); + assert(expr_parse("${test1:-default}", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "foobar"); + assert(expr_parse("${empty:-default}", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "default"); + assert(expr_parse("${test1:+setset}", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "setset"); + assert(expr_parse("${empty:+setset}", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, ""); + assert(expr_parse("${empty:-$test1}", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "foobar"); + assert(expr_parse("a/$test1/b", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "a/foobar/b"); + assert(expr_parse("a/$empty/b", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "a//b"); + assert(expr_parse("a${test1}b", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "afoobarb"); + assert(expr_parse("a${test1}b${test2:+${test3:-d$test4}e}c", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "afoobarbfoobarec"); + assert(expr_parse("a${test1}b${test2:+${empty:-d$test4}e}c", buffer, sizeof(buffer), expanderfn, NULL) != NULL); + assertstreq(buffer, "afoobarbdfoobarec"); /* these are errors */ - assert(expr_parse("$&",buffer,sizeof(buffer),expanderfn,NULL)==NULL); - assert(expr_parse("${a",buffer,sizeof(buffer),expanderfn,NULL)==NULL); + assert(expr_parse("$&", buffer, sizeof(buffer), expanderfn, NULL) == NULL); + assert(expr_parse("${a", buffer, sizeof(buffer), expanderfn, NULL) == NULL); } static void test_buffer_overflow(void) { char buffer[10]; - assert(expr_parse("$test1$empty$test1",buffer,sizeof(buffer),expanderfn,NULL)==NULL); - assert(expr_parse("long test value",buffer,sizeof(buffer),expanderfn,NULL)==NULL); - assert(expr_parse("${test1:-long test value}",buffer,sizeof(buffer),expanderfn,NULL)==NULL); + assert(expr_parse("$test1$empty$test1", buffer, sizeof(buffer), expanderfn, NULL) == NULL); + assert(expr_parse("long test value", buffer, sizeof(buffer), expanderfn, NULL) == NULL); + assert(expr_parse("${test1:-long test value}", buffer, sizeof(buffer), expanderfn, NULL) == NULL); } static void test_expr_vars(void) { SET *set; /* simple test */ - set=set_new(); - assert(expr_vars("$a",set)!=NULL); - assert(set_contains(set,"a")); - assert(!set_contains(set,"$a")); + set = set_new(); + assert(expr_vars("$a", set) != NULL); + assert(set_contains(set, "a")); + assert(!set_contains(set, "$a")); set_free(set); /* more elaborate test */ - set=set_new(); - assert(expr_vars("\"${gecos:-$cn}\"",set)!=NULL); - assert(set_contains(set,"gecos")); - assert(set_contains(set,"cn")); + set = set_new(); + assert(expr_vars("\"${gecos:-$cn}\"", set) != NULL); + assert(set_contains(set, "gecos")); + assert(set_contains(set, "cn")); set_free(set); /* more elaborate test */ - set=set_new(); - assert(expr_vars("\"${homeDirectory:-/home/$uidNumber/$uid}\"",set)!=NULL); - assert(set_contains(set,"homeDirectory")); - assert(set_contains(set,"uidNumber")); - assert(set_contains(set,"uid")); + set = set_new(); + assert(expr_vars("\"${homeDirectory:-/home/$uidNumber/$uid}\"", set) != NULL); + assert(set_contains(set, "homeDirectory")); + assert(set_contains(set, "uidNumber")); + assert(set_contains(set, "uid")); set_free(set); /* a test with attribute options */ - set=set_new(); - assert(expr_vars("\"${homeDirectory;foo:-/home/something}\"",set)!=NULL); - assert(set_contains(set,"homeDirectory;foo")); + set = set_new(); + assert(expr_vars("\"${homeDirectory;foo:-/home/something}\"", set) != NULL); + assert(set_contains(set, "homeDirectory;foo")); set_free(set); } /* the main program... */ -int main(int UNUSED(argc),char UNUSED(*argv[])) +int main(int UNUSED(argc), char UNUSED(*argv[])) { test_parse_name(); test_expr_parse(); |