summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-03-31 20:35:15 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-03-31 20:35:15 +0200
commitd27edc7587dba7b850759d151d90cdad1cb34a35 (patch)
treea8c56137d4509340df975f9bc29238f3c5cdec9a
parent3b9fd5330a6599c00e9c3c0a4080a141f173aa6a (diff)
downloadrsyslog-d27edc7587dba7b850759d151d90cdad1cb34a35.tar.gz
rsyslog-d27edc7587dba7b850759d151d90cdad1cb34a35.tar.xz
rsyslog-d27edc7587dba7b850759d151d90cdad1cb34a35.zip
porting parser tests to solaris
-rw-r--r--tests/Makefile.am12
-rw-r--r--tests/getline.c56
-rw-r--r--tests/rscript.c31
3 files changed, 64 insertions, 35 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 093742db..09d1a0b6 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,9 +1,10 @@
-check_PROGRAMS = rt_init rscript ourtail parsertest
-TESTS = $(check_PROGRAMS) cfg.sh
+TESTRUNS = rt_init rscript parsertest
+check_PROGRAMS = $(TESTRUNS) ourtail
+TESTS = $(TESTRUNS) cfg.sh
TESTS_ENVIRONMENT = RSYSLOG_MODDIR='$(abs_top_builddir)'/runtime/.libs/
DISTCLEANFILES=rsyslog.pid
-
test_files = testbench.h runtime-dummy.c
+
EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
cfg1.cfgtest \
cfg1.testin \
@@ -27,12 +28,15 @@ EXTRA_DIST= 1.rstest 2.rstest 3.rstest err1.rstest \
ourtail_SOURCES = ourtail.c
+parsertest_SOURCES = parsertest.c getline.c
+parsertest_LDADD = $(SOL_LIBS)
+
rt_init_SOURCES = rt-init.c $(test_files)
rt_init_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
rt_init_LDADD = $(RSRT_LIBS) $(ZLIB_LIBS) $(PTHREADS_LIBS) $(SOL_LIBS)
rt_init_LDFLAGS = -export-dynamic
-rscript_SOURCES = rscript.c $(test_files)
+rscript_SOURCES = rscript.c getline.c $(test_files)
rscript_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
rscript_LDADD = $(RSRT_LIBS) $(ZLIB_LIBS) $(PTHREADS_LIBS) $(SOL_LIBS)
rscript_LDFLAGS = -export-dynamic
diff --git a/tests/getline.c b/tests/getline.c
new file mode 100644
index 00000000..10de2ffe
--- /dev/null
+++ b/tests/getline.c
@@ -0,0 +1,56 @@
+/* getline() replacement for platforms that do not have it.
+ *
+ * Part of the testbench for rsyslog.
+ *
+ * Copyright 2009 Rainer Gerhards and Adiscon GmbH.
+ *
+ * This file is part of rsyslog.
+ *
+ * Rsyslog is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Rsyslog is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Rsyslog. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * A copy of the GPL can be found in the file "COPYING" in this distribution.
+ */
+#include "config.h"
+#include <stdio.h>
+#include <malloc.h>
+
+/* we emulate getline (the dirty way) if we do not have it
+ * We do not try very hard, as this is just a test driver.
+ * rgerhards, 2009-03-31
+ */
+#ifndef HAVE_GETLINE
+ssize_t getline(char **lineptr, size_t *n, FILE *fp)
+{
+ int c;
+ int len = 0;
+
+ if(*lineptr == NULL)
+ *lineptr = malloc(4096); /* quick and dirty! */
+
+ c = fgetc(fp);
+ while(c != EOF && c != '\n') {
+ (*lineptr)[len++] = c;
+ c = fgetc(fp);
+ }
+ if(c != EOF) /* need to add NL? */
+ (*lineptr)[len++] = c;
+
+ (*lineptr)[len] = '\0';
+
+ *n = len;
+ //printf("getline returns: '%s'\n", *lineptr);
+
+ return (len > 0) ? len : -1;
+}
+#endif /* #ifndef HAVE_GETLINE */
diff --git a/tests/rscript.c b/tests/rscript.c
index 4906f91a..6b232f5f 100644
--- a/tests/rscript.c
+++ b/tests/rscript.c
@@ -40,37 +40,6 @@ DEFobjCurrIf(ctok_token)
DEFobjCurrIf(vmprg)
-/* we emulate getline (the dirty way) if we do not have it
- * We do not try very hard, as this is just a test driver.
- * rgerhards, 2009-03-31
- */
-#ifndef HAVE_GETLINE
-ssize_t getline(char **lineptr, size_t *n, FILE *fp)
-{
- int c;
- int len = 0;
-
- if(*lineptr == NULL)
- *lineptr = malloc(1024); /* quick and dirty! */
-
- c = fgetc(fp);
- while(c != EOF && c != '\n') {
- (*lineptr)[len++] = c;
- c = fgetc(fp);
- }
- if(c != EOF) /* need to add NL? */
- (*lineptr)[len++] = c;
-
- (*lineptr)[len] = '\0';
-
- *n = len;
- //printf("getline returns: '%s'\n", *lineptr);
-
- return (len > 0) ? len : -1;
-}
-#endif /* #ifndef HAVE_GETLINE */
-
-
BEGINInit
CODESTARTInit
pErrObj = "expr"; CHKiRet(objUse(expr, CORE_COMPONENT));