diff --git a/tests/test-bookmarks-pushpull.t b/tests/test-bookmarks-pushpull.t --- a/tests/test-bookmarks-pushpull.t +++ b/tests/test-bookmarks-pushpull.t @@ -10,7 +10,10 @@ > evolution.exchange=True > EOF - $ TESTHOOK='hooks.txnclose-bookmark.test=echo "test-hook-bookmark: $HG_BOOKMARK: $HG_OLDNODE -> $HG_NODE"' + $ cat > $TESTTMP/hook.sh <<'EOF' + > echo "test-hook-bookmark: $HG_BOOKMARK: $HG_OLDNODE -> $HG_NODE" + > EOF + $ TESTHOOK="hooks.txnclose-bookmark.test=sh $TESTTMP/hook.sh" initialize diff --git a/tests/test-bookmarks.t b/tests/test-bookmarks.t --- a/tests/test-bookmarks.t +++ b/tests/test-bookmarks.t @@ -2,7 +2,10 @@ $ hg init repo $ cd repo - $ TESTHOOK='hooks.txnclose-bookmark.test=echo "test-hook-bookmark: $HG_BOOKMARK: $HG_OLDNODE -> $HG_NODE"' + $ cat > $TESTTMP/hook.sh <<'EOF' + > echo "test-hook-bookmark: $HG_BOOKMARK: $HG_OLDNODE -> $HG_NODE" + > EOF + $ TESTHOOK="hooks.txnclose-bookmark.test=sh $TESTTMP/hook.sh" no bookmarks @@ -1074,8 +1077,8 @@ add hooks: $ cat << EOF >> .hg/hgrc > [hooks] - > pretxnclose-bookmark.force-public = (echo \$HG_BOOKMARK| grep -v NEW > /dev/null) || [ -z "\$HG_NODE" ] || (hg log -r "\$HG_NODE" -T '{phase}' | grep public > /dev/null) - > pretxnclose-bookmark.force-forward = (echo \$HG_BOOKMARK| grep -v NEW > /dev/null) || [ -z "\$HG_NODE" ] || (hg log -r "max(\$HG_OLDNODE::\$HG_NODE)" -T 'MATCH' | grep MATCH > /dev/null) + > pretxnclose-bookmark.force-public = sh -c "(echo \$HG_BOOKMARK| grep -v NEW > /dev/null) || [ -z \"\$HG_NODE\" ] || (hg log -r \"\$HG_NODE\" -T '{phase}' | grep public > /dev/null)" + > pretxnclose-bookmark.force-forward = sh -c "(echo \$HG_BOOKMARK| grep -v NEW > /dev/null) || [ -z \"\$HG_NODE\" ] || (hg log -r \"max(\$HG_OLDNODE::\$HG_NODE)\" -T 'MATCH' | grep MATCH > /dev/null)" > EOF $ hg log -G -T phases diff --git a/tests/test-phases.t b/tests/test-phases.t --- a/tests/test-phases.t +++ b/tests/test-phases.t @@ -1,9 +1,12 @@ + $ cat > $TESTTMP/hook.sh << 'EOF' + > echo "test-hook-close-phase: $HG_NODE: $HG_OLDPHASE -> $HG_PHASE" + > EOF $ cat >> $HGRCPATH << EOF > [extensions] > phasereport=$TESTDIR/testlib/ext-phase-report.py > [hooks] - > txnclose-phase.test = echo "test-hook-close-phase: \$HG_NODE: \$HG_OLDPHASE -> \$HG_PHASE" + > txnclose-phase.test = sh $TESTTMP/hook.sh > EOF $ hglog() { hg log --template "{rev} {phaseidx} {desc}\n" $*; } @@ -796,7 +799,7 @@ Install a hook that prevent b3325c91a4d9 $ cat >> .hg/hgrc << EOF > [hooks] - > pretxnclose-phase.nopublish_D = (echo \$HG_NODE| grep -v b3325c91a4d9>/dev/null) || [ 'public' != \$HG_PHASE ] + > pretxnclose-phase.nopublish_D = sh -c "(echo \$HG_NODE| grep -v b3325c91a4d9>/dev/null) || [ 'public' != \$HG_PHASE ]" > EOF Try various actions. only the draft move should succeed diff --git a/tests/test-push-http.t b/tests/test-push-http.t --- a/tests/test-push-http.t +++ b/tests/test-push-http.t @@ -56,12 +56,16 @@ expect authorization error: must have au expect success + $ cat > $TESTTMP/hook.sh <<'EOF' + > echo "phase-move: $HG_NODE: $HG_OLDPHASE -> $HG_PHASE" + > EOF + $ cat >> .hg/hgrc < allow_push = * > [hooks] > changegroup = sh -c "printenv.py changegroup 0" > pushkey = sh -c "printenv.py pushkey 0" - > txnclose-phase.test = echo "phase-move: \$HG_NODE: \$HG_OLDPHASE -> \$HG_PHASE" + > txnclose-phase.test = sh $TESTTMP/hook.sh > EOF $ req pushing to http://localhost:$HGPORT/