tests/test-inotify
author Mads Kiilerich <mads@kiilerich.com>
Mon, 09 Aug 2010 21:43:39 +0200
branchstable
changeset 11772 423ece53380e
parent 11545 db9d16233787
permissions -rwxr-xr-x
test-dispatch: Make test of removed working directory work on AIX (issue2315) AIX sh won't delete its own working directory. Removing it from another process works. Also hide the actual OS error message - operating systems returns different errors when getcwd fails.

#!/bin/sh

"$TESTDIR/hghave" inotify || exit 80

hg init repo1
cd repo1

touch a b c d e
mkdir dir
mkdir dir/bar
touch dir/x dir/y dir/bar/foo

hg ci -Am m
cd ..
hg clone repo1 repo2

echo "[extensions]" >> $HGRCPATH
echo "inotify=" >> $HGRCPATH

cd repo2
echo b >> a
# check that daemon started automatically works correctly
# and make sure that inotify.pidfile works
hg --config "inotify.pidfile=../hg2.pid" status

# make sure that pidfile worked. Output should be silent.
kill `cat ../hg2.pid`

cd ../repo1
echo % inserve
hg inserve -d --pid-file=hg.pid
cat hg.pid >> "$DAEMON_PIDS"

# let the daemon finish its stuff
sleep 1

echo % cannot start, already bound
hg inserve

# issue907
hg status
echo % clean
hg status -c
echo % all
hg status -A

echo '% path patterns'
echo x > dir/x
hg status .
hg status dir
cd dir
hg status .
cd ..

#issue 1375
#Testing that we can remove a folder and then add a file with the same name
echo % issue 1375

mkdir h
echo h > h/h
hg ci -Am t
hg rm h

echo h >h
hg add h

hg status
hg ci -m0

# Test for issue1735: inotify watches files in .hg/merge
hg st

echo a > a

hg ci -Am a
hg st

echo b >> a
hg ci -m ab
hg st

echo c >> a
hg st

HGMERGE=internal:local hg up 0
hg st

HGMERGE=internal:local hg up
hg st

# Test for 1844: "hg ci folder" will not commit all changes beneath "folder"
mkdir 1844
echo a > 1844/foo
hg add 1844
hg ci -m 'working'

echo b >> 1844/foo
hg ci 1844 -m 'broken'

# Test for issue884: "Build products not ignored until .hgignore is touched"
echo '^build$' > .hgignore
hg add .hgignore
hg ci .hgignore -m 'ignorelist'

# Now, lets add some build products...
mkdir build
touch build/x
touch build/y

# build/x & build/y shouldn't appear in "hg st"
hg st

kill `cat hg.pid`