[PATCH rt-tests v3 32/33] ssdd: Add quiet command line option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The quiet option is useful for automated test setups where
only the final result of the run is interesting.

Signed-off-by: Daniel Wagner <dwagner@xxxxxxx>
---
 src/ssdd/ssdd.c | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/src/ssdd/ssdd.c b/src/ssdd/ssdd.c
index 9fa61f39f6e3..50bec824b2e8 100644
--- a/src/ssdd/ssdd.c
+++ b/src/ssdd/ssdd.c
@@ -64,9 +64,11 @@ static const char *get_state_name(int state)
 
 #define unused __attribute__((unused))
 
+static int quiet;
+
 static int got_sigchld;
 
-enum option_value { OPT_NFORKS=1, OPT_NITERS, OPT_HELP };
+enum option_value { OPT_NFORKS=1, OPT_NITERS, OPT_HELP, OPT_QUIET };
 
 static void usage(int error)
 {
@@ -75,6 +77,7 @@ static void usage(int error)
 	       "ssdd <options>\n\n"
 	       "-f       --forks=NUM       number of forks\n"
 	       "-h       --help            print this message\n"
+	       "-q       --quiet           suppress running output\n"
 	       "-i       --iters=NUM       number of iterations\n"
 	       );
 	exit(error);
@@ -176,7 +179,8 @@ static int forktests(int testid)
 	if (!child)
 		child_process();
 
-	printf("forktest#%d/%d/%d: STARTING\n", testid, parent, child);
+	if (!quiet)
+		printf("forktest#%d/%d/%d: STARTING\n", testid, parent, child);
 
 	act.sa_sigaction = sigchld;
 	sigemptyset(&act.sa_mask);
@@ -278,8 +282,8 @@ static int forktests(int testid)
 	/* There is no need for the tracer to kill the tracee. It will
 	 * automatically exit when its owner, ie, us, exits.
 	 */
-
-	printf("forktest#%d/%d: EXITING, no error\n", testid, parent);
+	if (!quiet)
+		printf("forktest#%d/%d: EXITING, no error\n", testid, parent);
 	exit(0);
 }
 
@@ -297,10 +301,11 @@ int main(int argc, char **argv)
 		static struct option long_options[] = {
 			{"forks",		required_argument,	NULL, OPT_NFORKS},
 			{"help",		no_argument,		NULL, OPT_HELP},
+			{"quiet",		no_argument,		NULL, OPT_QUIET},
 			{"iters",		required_argument,	NULL, OPT_NITERS},
 			{NULL, 0, NULL, 0},
 		};
-		int c = getopt_long(argc, argv, "f:hi:", long_options, &option_index);
+		int c = getopt_long(argc, argv, "f:hqi:", long_options, &option_index);
 		if (c == -1)
 			break;
 		switch(c) {
@@ -312,6 +317,10 @@ int main(int argc, char **argv)
 		case OPT_HELP:
 			usage(0);
 			break;
+		case OPT_QUIET:
+		case 'q':
+			quiet = 1;
+			break;
 		case 'i':
 		case OPT_NITERS:
 			nsteps = atoi(optarg);
@@ -322,10 +331,12 @@ int main(int argc, char **argv)
 		}
 	}
 
-	printf("#main : %d\n", getpid());
-	printf("#forks: %d\n", nforks);
-	printf("#steps: %d\n", nsteps);
-	printf("\n");
+	if (!quiet) {
+		printf("#main : %d\n", getpid());
+		printf("#forks: %d\n", nforks);
+		printf("#steps: %d\n", nsteps);
+		printf("\n");
+	}
 
 	for (i = 0; i < nforks; i++) {
 		child = fork();
-- 
2.30.2




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux