chiark / gitweb /
test suite: lib-build-modes: Honour $cleanmodes_dpkgsource_extra
[dgit.git] / tests / lib-build-modes
index dbceb42e8089eb28e2cb0810f39565d8d27e3c20..232d322e139fe983b3a730be15b7f80e717dd2f1 100644 (file)
@@ -34,7 +34,9 @@ bm-prep () {
                        dpkgbuildpackage_deps_for_clean=false
        fi
 
-       cleanmodes_default="git none dpkg-source dpkg-source-d"
+       cleanmodes_default="git none"
+       cleanmodes_default+=" dpkg-source$cleanmodes_dpkgsource_extra"
+       cleanmodes_default+=" dpkg-source-d$cleanmodes_dpkgsource_extra"
        cleanmodes_all="$cleanmodes_default git-ff check"
        cleanmodes="$cleanmodes_default"
 }
@@ -127,17 +129,17 @@ bm-compute-expected () {
        *[^\ ]*)
                ;;
        *)
-               # dgit won't bother cleaning the tree
-               # if no build is going to be run
-               eff_cleanmode=none
+               # if no build is going to be run, dgit will only check
+               # cleanliness rather than actually cleaning
+               eff_cleanmode=C$cleanmode
                ;;
        esac
 
        case "$act" in
        sbuild*)
-               # dgit sbuild won't bother cleaning the tree
+               # dgit sbuild will only check cleanliness
                # because it doesn't need to to make a .dsc for sbuild
-               eff_cleanmode=none
+               eff_cleanmode=C$cleanmode
                ;;
        esac
 
@@ -148,12 +150,16 @@ bm-compute-expected () {
        case $eff_cleanmode in
        git)            echo >&4 'BUILD-MODES PROGRAM git clean -xdf' ;;
        git-ff)         echo >&4 'BUILD-MODES PROGRAM git clean -xdff' ;;
-       check)          echo >&4 'BUILD-MODES PROGRAM git clean -xdn' ;;
-       dpkg-source-d)  echo >&4 "EXAMPLE RULES TARGET clean" ;;
-       dpkg-source)    bm-build-deps-ok || tolerate_fail=tolerate
+       check|Ccheck)   echo >&4 'BUILD-MODES PROGRAM git clean -dn -x' ;;
+       dpkg-source-d)
+                       echo >&4 "EXAMPLE RULES TARGET clean"
+                       ;;
+       dpkg-source)
+                       bm-build-deps-ok || tolerate_fail=tolerate
                        echo >&4 "EXAMPLE RULES TARGET clean"
                        ;;
        none)           ;;
+       C*)             echo "TODO bm eff_cleanmode=$eff_cleanmode" ;;
        *)              fail "t-compute-expected-run $cleanmode ??" ;;
        esac