Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/tests/test_expr.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_expr.c')
-rw-r--r--tests/test_expr.c134
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();