tests/test-execute-bit
author Patrick Mezard <pmezard@gmail.com>
Mon, 26 Apr 2010 22:30:40 +0200
branchstable
changeset 11010 18e81d42ee5c
parent 6158 23ffe82615d8
permissions -rwxr-xr-x
util: fix default termwidth() under Windows sys.stdout.write('-'*80 + '\n') or sys.stdout.write('-'*80 + '\r') do not work on Windows as they do on unix. On a 80 columns Windows console, the extra CR or LF are interpreted as if belonging to the next line, so the first command displays 2 lines (only one on unix) and the second one leave the line visible and move back to the following line. To avoid this, we sacrifice one column under Windows.

#!/bin/sh

"$TESTDIR/hghave" execbit || exit 80

hg init
echo a > a
hg ci -Am'not executable'

chmod +x a
hg ci -m'executable'
hg id

echo '% make sure we notice the change of mode if the cached size == -1'
hg rm a
hg revert -r 0 a
hg debugstate
hg st

hg up 0
hg id
test -x a && echo executable -- eek || echo not executable -- whew