TPCCLIB
Loading...
Searching...
No Matches
libtpcabss.c
1/******************************************************************************
2 * This file is not compiled into the library, but it contains main()
3 * which is compiled to an executable, used to test the library functions.
4 *****************************************************************************/
5
6/*****************************************************************************/
7#include "tpcclibConfig.h"
8/*****************************************************************************/
9#include <stdio.h>
10#include <stdlib.h>
11#include <math.h>
12#include <time.h>
13#include <string.h>
14#include <ctype.h>
15#include <unistd.h>
16/*****************************************************************************/
17#include "tpcextensions.h"
18#include "tpctac.h"
19/*****************************************************************************/
20#include "tpcabss.h"
21#include "test_tpcabss.h"
22/*****************************************************************************/
23
24/*****************************************************************************/
25static char *info[] = {
26 "Usage: @P [options]",
27 " ",
28 "Options:",
29 " -stdoptions", // List standard options like --help, -v, etc
30 " -t, --test",
31 " Run all tests for library functions.",
32 0};
33/*****************************************************************************/
34
35/*****************************************************************************/
40int main(
42 int argc,
44 char *argv[ ]
45) {
46 int i, help=0, version=0, verbose=1, error=0, test=0;
47 int ret;
48 char *cptr;
49
50 if(argc==1) {tpcPrintUsage(argv[0], info, stdout); return(0);}
51 for(i=1; i<argc; i++) {
52 if(tpcProcessStdOptions(argv[i], &help, &version, &verbose)==0) continue;
53 cptr=argv[i]; if(*cptr=='-') cptr++; if(*cptr=='-') cptr++;
54 if(strncasecmp(cptr, "TEST", 1)==0) {
55 test=1; continue;
56 } else {
57 error++; break;
58 }
59 }
60 if(error>0) {
61 fprintf(stderr, "Error: specify --help for usage.\n");
62 return(1);
63 }
64 /* Print help or version? */
65 if(help) {tpcPrintUsage(argv[0], info, stdout); return(0);}
66 if(version) {tpcPrintBuild(argv[0], stdout); return(0);}
67
68 if(test==0) return(0);
69
70 if(verbose>0) printf("running tests for library functions...\n");
71 TPCSTATUS status; statusInit(&status); status.verbose=verbose;
72 statusSet(&status, __func__, __FILE__, __LINE__, 0);
73 i=10;
74
75 /* abssio */
76 i++; if((ret=test_abssIdFromFName(verbose))!=0) {
77 fprintf(stderr, "failed (%d).\n", ret); return(i);}
78 i++; if((ret=test_abssWrite(verbose))!=0) {
79 fprintf(stderr, "failed (%d).\n", ret); return(i);}
80
81 /* abss */
82 i++; if((ret=test_abssAboveZero(verbose))!=0) {
83 fprintf(stderr, "failed (%d).\n", ret); return(i);}
84 i++; if((ret=test_abssHigherCounts(verbose))!=0) {
85 fprintf(stderr, "failed (%d).\n", ret); return(i);}
86 i++; if((ret=test_abssCalculateRatio(verbose))!=0) {
87 fprintf(stderr, "failed (%d).\n", ret); return(i);}
88 i++; if((ret=test_abssFixChannel(verbose))!=0) {
89 fprintf(stderr, "failed (%d).\n", ret); return(i);}
90 i++; if((ret=test_abssCalculateCps(verbose))!=0) {
91 fprintf(stderr, "failed (%d).\n", ret); return(i);}
92 i++; if((ret=test_abssChannelMean(verbose))!=0) {
93 fprintf(stderr, "failed (%d).\n", ret); return(i);}
94
95
96 if(verbose>0) printf("\nAll tests passed.\n\n");
97 statusFree(&status);
98 return(0);
99}
100/*****************************************************************************/
101
102/*****************************************************************************/
int tpcProcessStdOptions(const char *s, int *print_usage, int *print_version, int *verbose_level)
Definition proginfo.c:47
void tpcPrintBuild(const char *program, FILE *fp)
Definition proginfo.c:339
void tpcPrintUsage(const char *program, char *text[], FILE *fp)
Definition proginfo.c:114
void statusInit(TPCSTATUS *s)
Definition statusmsg.c:104
void statusSet(TPCSTATUS *s, const char *func, const char *srcfile, int srcline, tpcerror error)
Definition statusmsg.c:142
void statusFree(TPCSTATUS *s)
Definition statusmsg.c:126
int verbose
Verbose level, used by statusPrint() etc.
Header file for libtpcabss.
Header file for library libtpcextensions.
Header file for library libtpctac.