Fix issues related to cxxtest in configure.ac (#2226)
authorAndres Noetzli <andres.noetzli@gmail.com>
Fri, 27 Jul 2018 20:22:49 +0000 (13:22 -0700)
committerGitHub <noreply@github.com>
Fri, 27 Jul 2018 20:22:49 +0000 (13:22 -0700)
Fixes #2188. There were two issues related to cxxtest in configure.ac:

- `AC_PATH_PROGS` was used wrong (the third argument is a value to
  assign to the first argument and cannot be used for arbitrary
  commands)
- The `test` command always executes both sides of an "and" (`-a`), so
  `basename` was called without arguments when `CXXTESTGEN` was empty

This commit fixes both issues.

configure.ac

index 1480879c8885c646b328029266ac7caf4a183745..f802fa1c0754754376c377cdf3d0610c422e2d24 100644 (file)
@@ -1078,26 +1078,26 @@ else
   # cxxtest under <cxxtest-root>/bin/cxxtest
   AC_PATH_PROGS(CXXTESTGEN,
                 cxxtestgen.pl cxxtestgen.py cxxtestgen,
-                [
-                  AC_MSG_NOTICE([unit tests disabled, \
-                                 could not find cxxtestgen.pl or \
-                                 cxxtestgen.py or cxxtestgen])
-                  CXXTEST=
-                ],
+                [],
                 [$CXXTEST:$CXXTEST/bin:$PATH])
 
-  if test -n "$CXXTESTGEN" -a "`basename $CXXTESTGEN`" = "cxxtestgen.pl"; then
-    if test -z "$PERL"; then
-      AC_CHECK_PROGS(PERL, perl, perl, [])
-    else
-      AC_CHECK_PROG(PERL, "$PERL", "$PERL", [])
-    fi
+  if test -n "$CXXTESTGEN"; then
+    if "`basename $CXXTESTGEN`" = "cxxtestgen.pl"; then
+      if test -z "$PERL"; then
+        AC_CHECK_PROGS(PERL, perl, perl, [])
+      else
+        AC_CHECK_PROG(PERL, "$PERL", "$PERL", [])
+      fi
 
-    if test -z "$PERL"; then
-      AC_MSG_WARN([unit tests disabled, perl not found.])
-      CXXTESTGEN=
-      CXXTEST=
+      if test -z "$PERL"; then
+        AC_MSG_WARN([unit tests disabled, perl not found.])
+        CXXTESTGEN=
+        CXXTEST=
+      fi
     fi
+  else
+    AC_MSG_NOTICE([unit tests disabled, could not find cxxtestgen.pl or cxxtestgen.py or cxxtestgen])
+    CXXTEST=
   fi
 
   # check if CxxTest headers exist and set include paths accordingly