diff mbox series

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

Message ID 20210320183829.1318-33-dwagner@suse.de
State New
Headers show
Series JSON cleanups and more tests updated | expand

Commit Message

Daniel Wagner March 20, 2021, 6:38 p.m. UTC
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@suse.de>
---
 src/ssdd/ssdd.c | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

Comments

John Kacur May 7, 2021, 5 p.m. UTC | #1
On Sat, 20 Mar 2021, Daniel Wagner wrote:

> 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@suse.de>

> ---

>  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

> 

> 

Signed-off-by: John Kacur <jkacur@redhat.com>
diff mbox series

Patch

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();