summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordominique.leuenberger <dominique.leuenberger@c587cffe-e639-0410-9787-d7902ae8ed56>2009-09-29 17:26:53 +0000
committerdominique.leuenberger <dominique.leuenberger@c587cffe-e639-0410-9787-d7902ae8ed56>2009-09-29 17:26:53 +0000
commit00deccd5a37b7c2c0f1bb8408fdff418c6b29c59 (patch)
treec971a8517ae8e5937d64a30061ccf51622430b58
parent9aef73013f615e5846667f0ece9a6ce1e76d19e3 (diff)
downloadlibproxy-00deccd5a37b7c2c0f1bb8408fdff418c6b29c59.tar.gz
testsuite: simple test app to verify ini parsers function.
git-svn-id: http://libproxy.googlecode.com/svn/trunk@431 c587cffe-e639-0410-9787-d7902ae8ed56
-rw-r--r--src/bin/Makefile.am6
-rw-r--r--src/bin/iniparse.c16
-rwxr-xr-xtest.d/libproxy_iniparser.test16
-rw-r--r--test.d/test_libproxy_config_file.conf4
4 files changed, 42 insertions, 0 deletions
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 0248879..cbfdcb8 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -1,6 +1,12 @@
bin_PROGRAMS = proxy
+noinst_PROGRAMS = iniparse.test
# Command line interface to libproxy
proxy_SOURCES = proxy.c
proxy_CPPFLAGS = -I$(top_srcdir)/src/lib -std=c99
proxy_LDADD = ../lib/libproxy.la
+
+# a simple test routine parsing ini files.
+iniparse_test_SOURCES = iniparse.c
+iniparse_test_CPPFLAGS = -I$(top_srcdir)/src/lib -std=c99
+iniparse_test_LDADD = ../lib/libproxy_la-strdict.o ../lib/libproxy_la-array.o ../lib/libproxy_la-config_file.o ../lib/libproxy_la-misc.o
diff --git a/src/bin/iniparse.c b/src/bin/iniparse.c
new file mode 100644
index 0000000..05cf5f6
--- /dev/null
+++ b/src/bin/iniparse.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+#include <strdict.h>
+#include <config_file.h>
+
+int main() {
+ pxConfigFile* cf = px_config_file_new("test.d/test_libproxy_config_file.conf");
+ if (!cf) {
+ printf("Could not find conf file.\n.");
+ return 1;
+ }
+ char* val1 = px_config_file_get_value(cf, "SECTION", "inikey1");
+ char* val2 = px_config_file_get_value(cf, "SECTION", "inikey2");
+ printf("val1 -> '%s' / val2 -> '%s'\n", val1 == NULL ? "NULL" : val1, val2 == NULL ? "NULL" : val2);
+ px_config_file_free(cf);
+ return 0;
+}
diff --git a/test.d/libproxy_iniparser.test b/test.d/libproxy_iniparser.test
new file mode 100755
index 0000000..ef27b1d
--- /dev/null
+++ b/test.d/libproxy_iniparser.test
@@ -0,0 +1,16 @@
+#!/bin/sh
+# $Id: libproxy_proxy_and_lib.test 386 2009-06-07 20:15:13Z dominique.leuenberger $
+
+parser=src/bin/iniparse.test
+
+if [ -x "$parser" ]; then
+ result=$($parser)
+fi
+
+echo 'name="libproxy_iniparser"'
+if [ "$result" == "inivalue1 / inivalue2" ]; then
+ echo pass=True
+else
+ echo pass=False
+ echo "reason='iniparser returned $result'"
+fi
diff --git a/test.d/test_libproxy_config_file.conf b/test.d/test_libproxy_config_file.conf
new file mode 100644
index 0000000..4c9894e
--- /dev/null
+++ b/test.d/test_libproxy_config_file.conf
@@ -0,0 +1,4 @@
+[SECTION]
+inikey1=inivalue1
+inikey2=inivalue2
+