diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2009-04-08 17:48:02 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2009-04-08 17:48:02 +0200 |
commit | 7cc7166cb24e50e48cab1cbb3c19c8c17d95ace7 (patch) | |
tree | df78b696c13f5b4fc15f061c1ed03112d631a470 /tests/chkseq.c | |
parent | 51e690f720b4a53a431e7a536b2fe8c25e866f7d (diff) | |
download | rsyslog-7cc7166cb24e50e48cab1cbb3c19c8c17d95ace7.tar.gz rsyslog-7cc7166cb24e50e48cab1cbb3c19c8c17d95ace7.tar.xz rsyslog-7cc7166cb24e50e48cab1cbb3c19c8c17d95ace7.zip |
added new test case for many tcp connections
It is checked that many tcp connections are properly handled. While
adding this test, I noticed that there is a bug in imtcp that prevents
creation of more than 200 connections. This bug still exists, so the
test suite currently fails (what is correct). Will be addressed soon.
Diffstat (limited to 'tests/chkseq.c')
-rw-r--r-- | tests/chkseq.c | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/tests/chkseq.c b/tests/chkseq.c new file mode 100644 index 00000000..3203c250 --- /dev/null +++ b/tests/chkseq.c @@ -0,0 +1,76 @@ +/* Checks if a file consists of line of strictly monotonically + * increasing numbers. An expected start and end number may + * be set. + * + * Params + * argv[1] file to check + * argv[2] start number + * argv[3] end number + * + * 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 <stdlib.h> + +int main(int argc, char *argv[]) +{ + FILE *fp; + int val; + int i; + int ret = 0; + int start, end; + + if(argc != 4) { + printf("Invalid call of chkseq\n"); + printf("Usage: chkseq file start end\n"); + exit(1); + } + + start = atoi(argv[2]); + end = atoi(argv[3]); + + if(start > end) { + printf("start must be less than or equal end!\n"); + exit(1); + } + + /* read file */ + fp = fopen(argv[1], "r"); + if(fp == NULL) { + perror(argv[1]); + exit(1); + } + + for(i = start ; i < end ; ++i) { + if(fscanf(fp, "%d\n", &val) != 1) { + printf("scanf error in index i=%d\n", i); + exit(1); + } + if(val != i) { + printf("read value %d, but expected value %d\n", val, i); + exit(1); + } + } + + exit(ret); +} |