xfstests: fsstress add command line style output for show_opts
authorDmitry Monakhov <dmonakhov@openvz.org>
Thu, 3 Nov 2011 17:55:45 +0000 (21:55 +0400)
committerChristoph Hellwig <hch@lst.de>
Thu, 3 Nov 2011 19:01:13 +0000 (19:01 +0000)
Once some combination of seed+fs_ops result in regression it is
reasonable to document that combination. It is usefull to dump
that configuration in command line style. Later this line may be
simply hardcoded in to regression test.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
070
117
ltp/fsstress.c

diff --git a/070 b/070
index 4458011825494c181968fe018b8df3b56345d358..f48c33cf1796f9bcdba0998bfcd7fbe72c9e81c2 100755 (executable)
--- a/070
+++ b/070
@@ -62,7 +62,7 @@ $FSSTRESS_PROG \
        -f unresvsp=0 \
        -f attr_set=100 \
        -f attr_remove=100 \
-       -S -p 1 -n 10000 >$seq.full 2>&1
+        -p 1 -n 10000 -S c >$seq.full 2>&1
 
 status=$?
 exit
diff --git a/117 b/117
index fcf048588d80f1f31e20d03c5435b9385f1aaa2b..edec1572772c8487345bd0363771b7eca9884e99 100755 (executable)
--- a/117
+++ b/117
@@ -85,7 +85,7 @@ while [ $i -lt $ITERATIONS ]; do
        -f attr_set=100 \
        -f attr_remove=100 \
         -s $seed \
-       -S -p 1 -n 1000 >>$seq.full 2>&1
+       -p 1 -n 1000 -S c >>$seq.full 2>&1
 
     let i=$i+1
 done
index 133a247a3fcc253420649e2d60658363224ac24b..f9d7d6e5e63c2efefab56bda85f0ac3fc5eb5d16 100644 (file)
@@ -284,7 +284,7 @@ int main(int argc, char **argv)
        nops = sizeof(ops) / sizeof(ops[0]);
        ops_end = &ops[nops];
        myprog = argv[0];
-       while ((c = getopt(argc, argv, "d:e:f:i:m:n:o:p:rs:vwzHS")) != -1) {
+       while ((c = getopt(argc, argv, "d:e:f:i:m:n:o:p:rs:S:vwzH")) != -1) {
                switch (c) {
                case 'd':
                        dirname = optarg;
@@ -345,7 +345,10 @@ int main(int argc, char **argv)
                        zero_freq();
                        break;
                case 'S':
-                       show_ops(0, NULL);
+                       i = 0;
+                       if (optarg[0] == 'c')
+                               i = 1;
+                       show_ops(1, NULL);
                        printf("\n");
                         nousage=1;
                        break;
@@ -1310,7 +1313,8 @@ show_ops(int flag, char *lead_str)
                         x+=printf("%s ", p->name);
                 }
                 printf("\n");
-        } else {
+        } else if (flag == 0) {
+               /* Table view style */
                int             f;
                for (f = 0, p = ops; p < ops_end; p++)
                        f += p->freq;
@@ -1327,6 +1331,15 @@ show_ops(int flag, char *lead_str)
                                (p->iswrite == 0) ? " " : "write op");
                        }
                 }
+       } else {
+               /* Command line style */
+               if (lead_str != NULL)
+                       printf("%s", lead_str);
+               printf ("-z -s %ld -m %d -n %d -p %d \\\n", seed, idmodulo,
+                       operations, nproc);
+               for (p = ops; p < ops_end; p++)
+                       if (p->freq > 0)
+                               printf("-f %s=%d \\\n",p->name, p->freq);
        }
 }
 
@@ -1433,7 +1446,7 @@ usage(void)
        printf("   -v               specifies verbose mode\n");
        printf("   -w               zeros frequencies of non-write operations\n");
        printf("   -z               zeros frequencies of all operations\n");
-       printf("   -S               prints the table of operations (omitting zero frequency)\n");
+       printf("   -S [c,t]         prints the list of operations (omitting zero frequency) in command line or table style\n");
        printf("   -H               prints usage and exits\n");
 }