# HG changeset patch # User Matt Mackall # Date 1285526601 18000 # Node ID 0fcdae13493b5f78593fd551ccccb5e190eb6f1d # Parent fc12114dbaa52451fa4781ff39948534c7b8642f tests: unify test-inotify diff -r fc12114dbaa5 -r 0fcdae13493b tests/test-inotify --- a/tests/test-inotify Sun Sep 26 13:43:21 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -#!/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` diff -r fc12114dbaa5 -r 0fcdae13493b tests/test-inotify.out --- a/tests/test-inotify.out Sun Sep 26 13:43:21 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -adding a -adding b -adding c -adding d -adding dir/bar/foo -adding dir/x -adding dir/y -adding e -updating to branch default -8 files updated, 0 files merged, 0 files removed, 0 files unresolved -M a -% inserve -% cannot start, already bound -abort: inotify-server: cannot start: socket is already bound -? hg.pid -% clean -C a -C b -C c -C d -C dir/bar/foo -C dir/x -C dir/y -C e -% all -? hg.pid -C a -C b -C c -C d -C dir/bar/foo -C dir/x -C dir/y -C e -% path patterns -M dir/x -? hg.pid -M dir/x -M x -% issue 1375 -adding h/h -adding hg.pid -removing h/h -A h -R h/h -M a -1 files updated, 1 files merged, 2 files removed, 0 files unresolved -M a -3 files updated, 1 files merged, 0 files removed, 0 files unresolved -M a -adding 1844/foo diff -r fc12114dbaa5 -r 0fcdae13493b tests/test-inotify.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-inotify.t Sun Sep 26 13:43:21 2010 -0500 @@ -0,0 +1,160 @@ + + $ "$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 + adding a + adding b + adding c + adding d + adding dir/bar/foo + adding dir/x + adding dir/y + adding e + $ cd .. + $ hg clone repo1 repo2 + updating to branch default + 8 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ 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 + M a + +make sure that pidfile worked. Output should be silent. + + $ kill `cat ../hg2.pid` + $ cd ../repo1 + +inserve + + $ hg inserve -d --pid-file=hg.pid + $ cat hg.pid >> "$DAEMON_PIDS" + +let the daemon finish its stuff + + $ sleep 1 + +cannot start, already bound + + $ hg inserve + abort: inotify-server: cannot start: socket is already bound + [255] + +issue907 + + $ hg status + ? hg.pid + +clean + + $ hg status -c + C a + C b + C c + C d + C dir/bar/foo + C dir/x + C dir/y + C e + +all + + $ hg status -A + ? hg.pid + C a + C b + C c + C d + C dir/bar/foo + C dir/x + C dir/y + C e + +path patterns + + $ echo x > dir/x + $ hg status . + M dir/x + ? hg.pid + $ hg status dir + M dir/x + $ cd dir + $ hg status . + M x + $ cd .. + +issue 1375 +testing that we can remove a folder and then add a file with the same name +issue 1375 + + $ mkdir h + $ echo h > h/h + $ hg ci -Am t + adding h/h + adding hg.pid + $ hg rm h + removing h/h + $ echo h >h + $ hg add h + $ hg status + A h + R h/h + $ 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 + M a + $ HGMERGE=internal:local hg up 0 + 1 files updated, 1 files merged, 2 files removed, 0 files unresolved + $ hg st + M a + $ HGMERGE=internal:local hg up + 3 files updated, 1 files merged, 0 files removed, 0 files unresolved + $ hg st + M a + +Test for 1844: "hg ci folder" will not commit all changes beneath "folder" + + $ mkdir 1844 + $ echo a > 1844/foo + $ hg add 1844 + adding 1844/foo + $ 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`