From 1569827e40b9a622c818b806b3a19ab12ff04eb4 Mon Sep 17 00:00:00 2001 From: deva Date: Thu, 30 Jul 2009 12:56:38 +0000 Subject: More unit tests... --- server/src/configurationparser.cc | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'server/src/configurationparser.cc') diff --git a/server/src/configurationparser.cc b/server/src/configurationparser.cc index 1c89655..a3e7532 100644 --- a/server/src/configurationparser.cc +++ b/server/src/configurationparser.cc @@ -128,3 +128,65 @@ void ConfigurationParser::reload() } catch( ... ) { } } + +#ifdef TEST_CONFIGURATIONPARSER + +#define CONFFILE "/tmp/configurationparser.conf" + +#include +#include +#include +#include +#include +#include + +static char conf[] = +"a = 1;\n" +"b = \"hello\";\n" +"c = true;\n" +; + +static char confbad[] = +"a = 1;\n" +"b = \"hello\"\n" +"c = true;\n" +; + +int main() +{ + FILE *fp = fopen(CONFFILE, "w"); + if(!fp) { + printf("Could not write to %s\n", CONFFILE); + return 1; + } + fprintf(fp, conf); + fclose(fp); + try { + ConfigurationParser parser(CONFFILE); + } catch(Exception &e) { + printf("%s\n", e.what()); + return 1; + } + + fp = fopen(CONFFILE, "w"); + if(!fp) { + printf("Could not write to %s\n", CONFFILE); + return 1; + } + fprintf(fp, confbad); + fclose(fp); + try { + ConfigurationParser parser(CONFFILE); + } catch(Exception &e) { + printf("%s\n", e.what()); + goto on; + } + return 1; + on: + + unlink(CONFFILE); + + return 0; +} + +#endif/*TEST_CONFIGURATIONPARSER*/ -- cgit v1.2.3