mirror of
https://bitbucket.org/jsuto/piler.git
synced 2024-12-26 06:30:13 +01:00
added option to specify a different config file for pilertest
Signed-off-by: Janos SUTO <sj@acts.hu>
This commit is contained in:
parent
e284d15801
commit
52d44ddee1
87
src/test.c
87
src/test.c
@ -15,8 +15,19 @@
|
|||||||
#include <piler.h>
|
#include <piler.h>
|
||||||
|
|
||||||
|
|
||||||
|
void usage(){
|
||||||
|
printf("\nusage: pilertest\n\n");
|
||||||
|
|
||||||
|
printf(" [-c <config file>] Config file to use if not the default\n");
|
||||||
|
printf(" -m <message eml file> Message in EML format\n");
|
||||||
|
printf(" -a <extra recipient> Extra recipient\n");
|
||||||
|
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv){
|
int main(int argc, char **argv){
|
||||||
int i;
|
int i, c;
|
||||||
time_t retention_seconds=0;
|
time_t retention_seconds=0;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
struct session_data sdata;
|
struct session_data sdata;
|
||||||
@ -24,25 +35,75 @@ int main(int argc, char **argv){
|
|||||||
struct config cfg;
|
struct config cfg;
|
||||||
struct data data;
|
struct data data;
|
||||||
struct import import;
|
struct import import;
|
||||||
char *rule;
|
char *configfile=CONFIG_FILE, *rule, *emlfile=NULL;
|
||||||
|
|
||||||
|
import.extra_recipient = NULL;
|
||||||
|
|
||||||
srand(getpid());
|
srand(getpid());
|
||||||
|
|
||||||
if(argc < 2){
|
while(1){
|
||||||
fprintf(stderr, "usage: %s <message> [<extra recipient>]\n", argv[0]);
|
|
||||||
exit(1);
|
#ifdef _GNU_SOURCE
|
||||||
|
static struct option long_options[] =
|
||||||
|
{
|
||||||
|
{"config", required_argument, 0, 'c' },
|
||||||
|
{"message", required_argument, 0, 'm' },
|
||||||
|
{"extra-recipient", required_argument, 0, 'a' },
|
||||||
|
{0,0,0,0}
|
||||||
|
};
|
||||||
|
|
||||||
|
int option_index = 0;
|
||||||
|
|
||||||
|
|
||||||
|
c = getopt_long(argc, argv, "c:m:a:hv?", long_options, &option_index);
|
||||||
|
#else
|
||||||
|
c = getopt(argc, argv, "c:m:a:hv?");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if(c == -1) break;
|
||||||
|
|
||||||
|
switch(c){
|
||||||
|
|
||||||
|
case 'c' :
|
||||||
|
configfile = optarg;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'm' :
|
||||||
|
emlfile = optarg;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'a':
|
||||||
|
import.extra_recipient = optarg;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default :
|
||||||
|
usage();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(emlfile == NULL) usage();
|
||||||
|
|
||||||
if(!can_i_write_directory(NULL)) __fatal("cannot write current directory!");
|
if(!can_i_write_directory(NULL)) __fatal("cannot write current directory!");
|
||||||
|
|
||||||
if(stat(argv[1], &st) != 0){
|
if(stat(emlfile, &st) != 0){
|
||||||
fprintf(stderr, "%s is not found\n", argv[1]);
|
fprintf(stderr, "%s is not found\n", emlfile);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(!can_i_write_directory(NULL)) __fatal("cannot write current directory!");
|
||||||
|
|
||||||
|
if(stat(emlfile, &st) != 0){
|
||||||
|
fprintf(stderr, "%s is not found\n", emlfile);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
(void) openlog("test", LOG_PID, LOG_MAIL);
|
(void) openlog("test", LOG_PID, LOG_MAIL);
|
||||||
|
|
||||||
cfg = read_config(CONFIG_FILE);
|
cfg = read_config(configfile);
|
||||||
|
|
||||||
if(open_database(&sdata, &cfg) == ERR) return 0;
|
if(open_database(&sdata, &cfg) == ERR) return 0;
|
||||||
|
|
||||||
@ -51,10 +112,6 @@ int main(int argc, char **argv){
|
|||||||
|
|
||||||
printf("build: %d\n", get_build());
|
printf("build: %d\n", get_build());
|
||||||
|
|
||||||
import.extra_recipient = NULL;
|
|
||||||
|
|
||||||
if(argc > 2) import.extra_recipient = argv[2];
|
|
||||||
|
|
||||||
data.import = &import;
|
data.import = &import;
|
||||||
|
|
||||||
data.folder = 0;
|
data.folder = 0;
|
||||||
@ -79,9 +136,9 @@ int main(int argc, char **argv){
|
|||||||
sdata.tot_len = st.st_size;
|
sdata.tot_len = st.st_size;
|
||||||
sdata.import = 1;
|
sdata.import = 1;
|
||||||
|
|
||||||
snprintf(sdata.ttmpfile, SMALLBUFSIZE-1, "%s", argv[1]);
|
snprintf(sdata.ttmpfile, SMALLBUFSIZE-1, "%s", emlfile);
|
||||||
snprintf(sdata.filename, SMALLBUFSIZE-1, "%s", argv[1]);
|
snprintf(sdata.filename, SMALLBUFSIZE-1, "%s", emlfile);
|
||||||
snprintf(sdata.tmpframe, SMALLBUFSIZE-1, "%s.m", argv[1]);
|
snprintf(sdata.tmpframe, SMALLBUFSIZE-1, "%s.m", emlfile);
|
||||||
|
|
||||||
printf("parsing...\n");
|
printf("parsing...\n");
|
||||||
state = parse_message(&sdata, 1, &data, &cfg);
|
state = parse_message(&sdata, 1, &data, &cfg);
|
||||||
|
Loading…
Reference in New Issue
Block a user