# HG changeset patch # User Jim Hague # Date 1333625481 -3600 # Node ID f64b25f147d7091fcc34a0f9f0ac6f5c704c2f1f # Parent 16b75661828e2fac2eac8eabb3a64f761d7738c6 tests: avoid test-hup hanging on AIX test-hup hangs on AIX. Under ksh89 on AIX (the default shell), echo Hello; while [ ! -s not-there ]; do true; done produces no output while the loop executes. Replacing 'true' with 'sleep 0' fixes, as does using a less broken shell. ksh93 is fine. Update check-code.py to look for this, and make same change in test-serve.t. In fact test-serve works fine, probably because of additional commands between echo and the loop, but that's a subtlety not easy to test for. diff -r 16b75661828e -r f64b25f147d7 contrib/check-code.py --- a/contrib/check-code.py Thu Apr 05 15:39:07 2012 +0200 +++ b/contrib/check-code.py Thu Apr 05 12:31:21 2012 +0100 @@ -94,6 +94,8 @@ "explicit exit code checks unnecessary"), (uprefix + r'set -e', "don't use set -e"), (uprefixc + r'( *)\t', "don't use tabs to indent"), + (uprefixc + r'.*do\s*true;\s*done', + "don't use true as loop body, use sleep 0"), ], # warnings [] diff -r 16b75661828e -r f64b25f147d7 tests/test-hup.t --- a/tests/test-hup.t Thu Apr 05 15:39:07 2012 +0200 +++ b/tests/test-hup.t Thu Apr 05 12:31:21 2012 +0100 @@ -11,7 +11,7 @@ $ ( > echo lock > echo addchangegroup - > while [ ! -s .hg/store/journal ]; do true; done + > while [ ! -s .hg/store/journal ]; do sleep 0; done > kill -HUP $P > ) > p diff -r 16b75661828e -r f64b25f147d7 tests/test-serve.t --- a/tests/test-serve.t Thu Apr 05 15:39:07 2012 +0200 +++ b/tests/test-serve.t Thu Apr 05 12:31:21 2012 +0100 @@ -14,7 +14,7 @@ > else > kill `cat hg.pid` > fi - > while kill -0 `cat hg.pid` 2>/dev/null; do true; done + > while kill -0 `cat hg.pid` 2>/dev/null; do sleep 0; done > } $ hg init test