]> granicus.if.org Git - libjpeg-turbo/commitdiff
TJBench/TJUnitTest: Don't ignore mistyped args
authorDRC <information@libjpeg-turbo.org>
Mon, 13 Nov 2017 22:00:35 +0000 (16:00 -0600)
committerDRC <information@libjpeg-turbo.org>
Mon, 13 Nov 2017 22:00:35 +0000 (16:00 -0600)
ChangeLog.md
java/TJBench.java
java/TJUnitTest.java
tjbench.c
tjunittest.c

index 8ecd04fb57d5b7f6ea37e103d4c23a8c383b27be..10738b41101b407d912cc5c7bf1e916dc0aa5bef 100644 (file)
@@ -14,6 +14,10 @@ testing BufferedImage encoding/decoding on big endian systems.
 is selected along with the `-crop` option.  That option does not currently work
 with other output image formats.
 
+4. TJBench (both C and Java versions) will now display usage information if any
+command-line argument is unrecognized.  This prevents the program from silently
+ignoring typos.
+
 
 1.5.2
 =====
index 5185d6585d2351dc40e95b517480e5fea2f3a6f8..ddc414c1ea99987f1b0cb4ece653b7711ff8d99d 100644 (file)
@@ -721,37 +721,37 @@ class TJBench {
           if (argv[i].equalsIgnoreCase("-tile")) {
             doTile = true;  xformOpt |= TJTransform.OPT_CROP;
           }
-          if (argv[i].equalsIgnoreCase("-fastupsample")) {
+          else if (argv[i].equalsIgnoreCase("-fastupsample")) {
             System.out.println("Using fast upsampling code\n");
             flags |= TJ.FLAG_FASTUPSAMPLE;
           }
-          if (argv[i].equalsIgnoreCase("-fastdct")) {
+          else if (argv[i].equalsIgnoreCase("-fastdct")) {
             System.out.println("Using fastest DCT/IDCT algorithm\n");
             flags |= TJ.FLAG_FASTDCT;
           }
-          if (argv[i].equalsIgnoreCase("-accuratedct")) {
+          else if (argv[i].equalsIgnoreCase("-accuratedct")) {
             System.out.println("Using most accurate DCT/IDCT algorithm\n");
             flags |= TJ.FLAG_ACCURATEDCT;
           }
-          if (argv[i].equalsIgnoreCase("-rgb"))
+          else if (argv[i].equalsIgnoreCase("-rgb"))
             pf = TJ.PF_RGB;
-          if (argv[i].equalsIgnoreCase("-rgbx"))
+          else if (argv[i].equalsIgnoreCase("-rgbx"))
             pf = TJ.PF_RGBX;
-          if (argv[i].equalsIgnoreCase("-bgr"))
+          else if (argv[i].equalsIgnoreCase("-bgr"))
             pf = TJ.PF_BGR;
-          if (argv[i].equalsIgnoreCase("-bgrx"))
+          else if (argv[i].equalsIgnoreCase("-bgrx"))
             pf = TJ.PF_BGRX;
-          if (argv[i].equalsIgnoreCase("-xbgr"))
+          else if (argv[i].equalsIgnoreCase("-xbgr"))
             pf = TJ.PF_XBGR;
-          if (argv[i].equalsIgnoreCase("-xrgb"))
+          else if (argv[i].equalsIgnoreCase("-xrgb"))
             pf = TJ.PF_XRGB;
-          if (argv[i].equalsIgnoreCase("-bottomup"))
+          else if (argv[i].equalsIgnoreCase("-bottomup"))
             flags |= TJ.FLAG_BOTTOMUP;
-          if (argv[i].equalsIgnoreCase("-quiet"))
+          else if (argv[i].equalsIgnoreCase("-quiet"))
             quiet = 1;
-          if (argv[i].equalsIgnoreCase("-qq"))
+          else if (argv[i].equalsIgnoreCase("-qq"))
             quiet = 2;
-          if (argv[i].equalsIgnoreCase("-scale") && i < argv.length - 1) {
+          else if (argv[i].equalsIgnoreCase("-scale") && i < argv.length - 1) {
             int temp1 = 0, temp2 = 0;
             boolean match = false, scanned = true;
             Scanner scanner = new Scanner(argv[++i]).useDelimiter("/");
@@ -774,25 +774,25 @@ class TJBench {
             } else
               usage();
           }
-          if (argv[i].equalsIgnoreCase("-hflip"))
+          else if (argv[i].equalsIgnoreCase("-hflip"))
             xformOp = TJTransform.OP_HFLIP;
-          if (argv[i].equalsIgnoreCase("-vflip"))
+          else if (argv[i].equalsIgnoreCase("-vflip"))
             xformOp = TJTransform.OP_VFLIP;
-          if (argv[i].equalsIgnoreCase("-transpose"))
+          else if (argv[i].equalsIgnoreCase("-transpose"))
             xformOp = TJTransform.OP_TRANSPOSE;
-          if (argv[i].equalsIgnoreCase("-transverse"))
+          else if (argv[i].equalsIgnoreCase("-transverse"))
             xformOp = TJTransform.OP_TRANSVERSE;
-          if (argv[i].equalsIgnoreCase("-rot90"))
+          else if (argv[i].equalsIgnoreCase("-rot90"))
             xformOp = TJTransform.OP_ROT90;
-          if (argv[i].equalsIgnoreCase("-rot180"))
+          else if (argv[i].equalsIgnoreCase("-rot180"))
             xformOp = TJTransform.OP_ROT180;
-          if (argv[i].equalsIgnoreCase("-rot270"))
+          else if (argv[i].equalsIgnoreCase("-rot270"))
             xformOp = TJTransform.OP_ROT270;
-          if (argv[i].equalsIgnoreCase("-grayscale"))
+          else if (argv[i].equalsIgnoreCase("-grayscale"))
             xformOpt |= TJTransform.OPT_GRAY;
-          if (argv[i].equalsIgnoreCase("-nooutput"))
+          else if (argv[i].equalsIgnoreCase("-nooutput"))
             xformOpt |= TJTransform.OPT_NOOUTPUT;
-          if (argv[i].equalsIgnoreCase("-benchtime") && i < argv.length - 1) {
+          else if (argv[i].equalsIgnoreCase("-benchtime") && i < argv.length - 1) {
             double temp = -1;
             try {
               temp = Double.parseDouble(argv[++i]);
@@ -802,11 +802,11 @@ class TJBench {
             else
               usage();
           }
-          if (argv[i].equalsIgnoreCase("-yuv")) {
+          else if (argv[i].equalsIgnoreCase("-yuv")) {
             System.out.println("Testing YUV planar encoding/decoding\n");
             doYUV = true;
           }
-          if (argv[i].equalsIgnoreCase("-yuvpad") && i < argv.length - 1) {
+          else if (argv[i].equalsIgnoreCase("-yuvpad") && i < argv.length - 1) {
             int temp = 0;
             try {
              temp = Integer.parseInt(argv[++i]);
@@ -814,7 +814,7 @@ class TJBench {
             if (temp >= 1)
               yuvpad = temp;
           }
-          if (argv[i].equalsIgnoreCase("-subsamp") && i < argv.length - 1) {
+          else if (argv[i].equalsIgnoreCase("-subsamp") && i < argv.length - 1) {
             i++;
             if (argv[i].toUpperCase().startsWith("G"))
               subsamp = TJ.SAMP_GRAY;
@@ -829,11 +829,11 @@ class TJBench {
             else if (argv[i].equals("411"))
               subsamp = TJ.SAMP_411;
           }
-          if (argv[i].equalsIgnoreCase("-componly"))
+          else if (argv[i].equalsIgnoreCase("-componly"))
             compOnly = true;
-          if (argv[i].equalsIgnoreCase("-nowrite"))
+          else if (argv[i].equalsIgnoreCase("-nowrite"))
             write = false;
-          if (argv[i].equalsIgnoreCase("-warmup") && i < argv.length - 1) {
+          else if (argv[i].equalsIgnoreCase("-warmup") && i < argv.length - 1) {
             double temp = -1;
             try {
              temp = Double.parseDouble(argv[++i]);
@@ -844,8 +844,7 @@ class TJBench {
             } else
               usage();
           }
-          if (argv[i].equalsIgnoreCase("-?"))
-            usage();
+          else usage();
         }
       }
 
index 24be8ebff6763ea0c9df46f4dd5ecaa00fe6dff2..47ff7bba4e262ad552b9b3aa3a7466b12be51e56 100644 (file)
@@ -902,15 +902,13 @@ public class TJUnitTest {
       for (int i = 0; i < argv.length; i++) {
         if (argv[i].equalsIgnoreCase("-yuv"))
           doYUV = true;
-        if (argv[i].equalsIgnoreCase("-noyuvpad"))
+        else if (argv[i].equalsIgnoreCase("-noyuvpad"))
           pad = 1;
-        if (argv[i].substring(0, 1).equalsIgnoreCase("-h") ||
-            argv[i].equalsIgnoreCase("-?"))
-          usage();
-        if (argv[i].equalsIgnoreCase("-bi")) {
+        else if (argv[i].equalsIgnoreCase("-bi")) {
           bi = true;
           testName = "javabitest";
-        }
+        } else
+          usage();
       }
       if (doYUV)
         _4byteFormats[4] = -1;
index 21b297c62897576b5c4b44557f6620caf5314bb9..dfe66019ac2a4397ef87e53030fd904bbd237a50 100644 (file)
--- a/tjbench.c
+++ b/tjbench.c
@@ -835,32 +835,32 @@ int main(int argc, char *argv[])
                        {
                                dotile=1;  xformopt|=TJXOPT_CROP;
                        }
-                       if(!strcasecmp(argv[i], "-fastupsample"))
+                       else if(!strcasecmp(argv[i], "-fastupsample"))
                        {
                                printf("Using fast upsampling code\n\n");
                                flags|=TJFLAG_FASTUPSAMPLE;
                        }
-                       if(!strcasecmp(argv[i], "-fastdct"))
+                       else if(!strcasecmp(argv[i], "-fastdct"))
                        {
                                printf("Using fastest DCT/IDCT algorithm\n\n");
                                flags|=TJFLAG_FASTDCT;
                        }
-                       if(!strcasecmp(argv[i], "-accuratedct"))
+                       else if(!strcasecmp(argv[i], "-accuratedct"))
                        {
                                printf("Using most accurate DCT/IDCT algorithm\n\n");
                                flags|=TJFLAG_ACCURATEDCT;
                        }
-                       if(!strcasecmp(argv[i], "-rgb")) pf=TJPF_RGB;
-                       if(!strcasecmp(argv[i], "-rgbx")) pf=TJPF_RGBX;
-                       if(!strcasecmp(argv[i], "-bgr")) pf=TJPF_BGR;
-                       if(!strcasecmp(argv[i], "-bgrx")) pf=TJPF_BGRX;
-                       if(!strcasecmp(argv[i], "-xbgr")) pf=TJPF_XBGR;
-                       if(!strcasecmp(argv[i], "-xrgb")) pf=TJPF_XRGB;
-                       if(!strcasecmp(argv[i], "-cmyk")) pf=TJPF_CMYK;
-                       if(!strcasecmp(argv[i], "-bottomup")) flags|=TJFLAG_BOTTOMUP;
-                       if(!strcasecmp(argv[i], "-quiet")) quiet=1;
-                       if(!strcasecmp(argv[i], "-qq")) quiet=2;
-                       if(!strcasecmp(argv[i], "-scale") && i<argc-1)
+                       else if(!strcasecmp(argv[i], "-rgb")) pf=TJPF_RGB;
+                       else if(!strcasecmp(argv[i], "-rgbx")) pf=TJPF_RGBX;
+                       else if(!strcasecmp(argv[i], "-bgr")) pf=TJPF_BGR;
+                       else if(!strcasecmp(argv[i], "-bgrx")) pf=TJPF_BGRX;
+                       else if(!strcasecmp(argv[i], "-xbgr")) pf=TJPF_XBGR;
+                       else if(!strcasecmp(argv[i], "-xrgb")) pf=TJPF_XRGB;
+                       else if(!strcasecmp(argv[i], "-cmyk")) pf=TJPF_CMYK;
+                       else if(!strcasecmp(argv[i], "-bottomup")) flags|=TJFLAG_BOTTOMUP;
+                       else if(!strcasecmp(argv[i], "-quiet")) quiet=1;
+                       else if(!strcasecmp(argv[i], "-qq")) quiet=2;
+                       else if(!strcasecmp(argv[i], "-scale") && i<argc-1)
                        {
                                int temp1=0, temp2=0, match=0;
                                if(sscanf(argv[++i], "%d/%d", &temp1, &temp2)==2)
@@ -878,43 +878,42 @@ int main(int argc, char *argv[])
                                }
                                else usage(argv[0]);
                        }
-                       if(!strcasecmp(argv[i], "-hflip")) xformop=TJXOP_HFLIP;
-                       if(!strcasecmp(argv[i], "-vflip")) xformop=TJXOP_VFLIP;
-                       if(!strcasecmp(argv[i], "-transpose")) xformop=TJXOP_TRANSPOSE;
-                       if(!strcasecmp(argv[i], "-transverse")) xformop=TJXOP_TRANSVERSE;
-                       if(!strcasecmp(argv[i], "-rot90")) xformop=TJXOP_ROT90;
-                       if(!strcasecmp(argv[i], "-rot180")) xformop=TJXOP_ROT180;
-                       if(!strcasecmp(argv[i], "-rot270")) xformop=TJXOP_ROT270;
-                       if(!strcasecmp(argv[i], "-grayscale")) xformopt|=TJXOPT_GRAY;
-                       if(!strcasecmp(argv[i], "-custom")) customFilter=dummyDCTFilter;
-                       if(!strcasecmp(argv[i], "-nooutput")) xformopt|=TJXOPT_NOOUTPUT;
-                       if(!strcasecmp(argv[i], "-benchtime") && i<argc-1)
+                       else if(!strcasecmp(argv[i], "-hflip")) xformop=TJXOP_HFLIP;
+                       else if(!strcasecmp(argv[i], "-vflip")) xformop=TJXOP_VFLIP;
+                       else if(!strcasecmp(argv[i], "-transpose")) xformop=TJXOP_TRANSPOSE;
+                       else if(!strcasecmp(argv[i], "-transverse")) xformop=TJXOP_TRANSVERSE;
+                       else if(!strcasecmp(argv[i], "-rot90")) xformop=TJXOP_ROT90;
+                       else if(!strcasecmp(argv[i], "-rot180")) xformop=TJXOP_ROT180;
+                       else if(!strcasecmp(argv[i], "-rot270")) xformop=TJXOP_ROT270;
+                       else if(!strcasecmp(argv[i], "-grayscale")) xformopt|=TJXOPT_GRAY;
+                       else if(!strcasecmp(argv[i], "-custom")) customFilter=dummyDCTFilter;
+                       else if(!strcasecmp(argv[i], "-nooutput")) xformopt|=TJXOPT_NOOUTPUT;
+                       else if(!strcasecmp(argv[i], "-benchtime") && i<argc-1)
                        {
                                double temp=atof(argv[++i]);
                                if(temp>0.0) benchtime=temp;
                                else usage(argv[0]);
                        }
-                       if(!strcasecmp(argv[i], "-warmup") && i<argc-1)
+                       else if(!strcasecmp(argv[i], "-warmup") && i<argc-1)
                        {
                                double temp=atof(argv[++i]);
                                if(temp>=0.0) warmup=temp;
                                else usage(argv[0]);
                                printf("Warmup time = %.1f seconds\n\n", warmup);
                        }
-                       if(!strcmp(argv[i], "-?")) usage(argv[0]);
-                       if(!strcasecmp(argv[i], "-alloc")) flags&=(~TJFLAG_NOREALLOC);
-                       if(!strcasecmp(argv[i], "-bmp")) ext="bmp";
-                       if(!strcasecmp(argv[i], "-yuv"))
+                       else if(!strcasecmp(argv[i], "-alloc")) flags&=(~TJFLAG_NOREALLOC);
+                       else if(!strcasecmp(argv[i], "-bmp")) ext="bmp";
+                       else if(!strcasecmp(argv[i], "-yuv"))
                        {
                                printf("Testing YUV planar encoding/decoding\n\n");
                                doyuv=1;
                        }
-                       if(!strcasecmp(argv[i], "-yuvpad") && i<argc-1)
+                       else if(!strcasecmp(argv[i], "-yuvpad") && i<argc-1)
                        {
                                int temp=atoi(argv[++i]);
                                if(temp>=1) yuvpad=temp;
                        }
-                       if(!strcasecmp(argv[i], "-subsamp") && i<argc-1)
+                       else if(!strcasecmp(argv[i], "-subsamp") && i<argc-1)
                        {
                                i++;
                                if(toupper(argv[i][0])=='G') subsamp=TJSAMP_GRAY;
@@ -931,8 +930,9 @@ int main(int argc, char *argv[])
                                        }
                                }
                        }
-                       if(!strcasecmp(argv[i], "-componly")) componly=1;
-                       if(!strcasecmp(argv[i], "-nowrite")) dowrite=0;
+                       else if(!strcasecmp(argv[i], "-componly")) componly=1;
+                       else if(!strcasecmp(argv[i], "-nowrite")) dowrite=0;
+                       else usage(argv[0]);
                }
        }
 
index 7b2054e926762a93c928b04b0373b953dcc95d2b..f793796166ae186d3c82d38d53b5ce6e1e1742fe 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C)2009-2014 D. R. Commander.  All Rights Reserved.
+ * Copyright (C)2009-2014, 2017 D. R. Commander.  All Rights Reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -697,10 +697,9 @@ int main(int argc, char *argv[])
                for(i=1; i<argc; i++)
                {
                        if(!strcasecmp(argv[i], "-yuv")) doyuv=1;
-                       if(!strcasecmp(argv[i], "-noyuvpad")) pad=1;
-                       if(!strcasecmp(argv[i], "-alloc")) alloc=1;
-                       if(!strncasecmp(argv[i], "-h", 2) || !strcasecmp(argv[i], "-?"))
-                               usage(argv[0]);
+                       else if(!strcasecmp(argv[i], "-noyuvpad")) pad=1;
+                       else if(!strcasecmp(argv[i], "-alloc")) alloc=1;
+                       else usage(argv[0]);
                }
        }
        if(alloc) printf("Testing automatic buffer allocation\n");