tests: cosmetic changes in t/extra-sources.sh
[platform/upstream/automake.git] / t / make-dryrun.tap
old mode 100755 (executable)
new mode 100644 (file)
index 09d0d97..0dbe3bb
@@ -18,7 +18,7 @@
 
 . test-init.sh
 
-plan_ 18
+plan_ 60
 
 if echo "all: ; +@printf %sbb%s aa cc" | $MAKE -n -f - | grep aabbcc; then
   make_plus_silence () { return 0; }
@@ -26,7 +26,7 @@ else
   make_plus_silence () { return 1; }
 fi
 
-mkdir none
+mkdir none # Also used later.
 if echo nil: | $MAKE -I none -f -; then
   make_supports_option_I () { return 0; }
 else
@@ -38,19 +38,17 @@ echo AC_OUTPUT >> configure.ac
 cat > Makefile.am <<'END'
 all:
        : Dummy, nothing to do.
-foo:
-       $(MAKE) all
 run:
-       @echo ":: $$MAKEFLAGS ::"; : For debugging.
+       @echo ":: $$MAKEFLAGS :: $$MFLAGS ::" ;: For debugging.
        $(am__make_dryrun) && exit 1; echo ok > from-run
 dry:
-       +@echo ":: $$MAKEFLAGS ::"; : For debugging.
+       +@echo ":: $$MAKEFLAGS :: $$MFLAGS ::" ;: For debugging.
        +$(am__make_dryrun) || exit 1; echo ok > from-dry
 END
 
 check_make ()
 {
-  r=ok msg= mode= condition=: directive= reason= skip_reason=
+  msg= mode= condition=: directive= reason= skip_reason=
   case $1 in
     --dry) mode=dry;;
     --run) mode=run;;
@@ -61,23 +59,25 @@ check_make ()
     case $1 in
       -C) condition=$2 skip_reason=$3; shift; shift;;
       -M) msg=$2; shift;;
-      -X) directive=TODO;;
       --) shift; break;;
        *) break;;
     esac
     shift
   done
-  msg=${mode}${msg:+" [$msg]"}
-  if $condition; then
-    $MAKE "$mode" ${1+"$@"} || r='not ok'
-    test -f from-$mode      || r='not ok'
-    test ! -e bad           || r='not ok'
-    rm -f bad from-*        || fatal_ "cleaning up"
-  else
-    directive=SKIP reason=$skip_reason
-  fi
-  result_ "$r" -D "$directive" -r "$reason" "$msg"
-  unset r msg mode condition directive reason skip_reason
+  for opts in '' '-s'  '-s -r'; do
+    r=ok
+    pmsg=${mode}${msg:+" [$msg]"}${opts:+" ($opts)"}
+    if $condition; then
+      $MAKE $opts "$mode" ${1+"$@"} || r='not ok'
+      test -f from-$mode            || r='not ok'
+      test ! -e bad                 || r='not ok'
+      rm -f bad from-*              || fatal_ "cleaning up"
+    else
+      directive=SKIP reason=$skip_reason
+    fi
+    result_ "$r" -D "$directive" -r "$reason" "$pmsg"
+  done
+  unset r msg pmsg opts mode condition directive reason skip_reason
 }
 
 # ----------------------------------------------------------------------
@@ -138,7 +138,9 @@ check_metachars MYFLAGS='-knf2\ n\ \\n'
 check_metachars MYFLAGS="(&) | ; \" \` '"
 check_metachars MYFLAGS=" ' # ' "
 check_metachars MYFLAGS='$(foo)'
+check_metachars MYFLAGS='$(foo -n)'
 check_metachars MYFLAGS='`touch bad`'
+check_metachars MYFLAGS='`touch --dry-run bad`'
 
 # ----------------------------------------------------------------------