test-inotify: test symlink indirection for unix sockets
authorBryan O'Sullivan <bryano@fb.com>
Wed, 19 Dec 2012 10:40:34 -0800
changeset 18095 8cbe0fed0c1f
parent 18094 8ceabb34f1cb
child 18096 cd53e40ab0e2
test-inotify: test symlink indirection for unix sockets The inotify code performs a delicate dance to work around the 108-byte limit on unix domain socket path names on Linux. This change sets us up to safely refactor that code without breaking it. (It is redundant with part of test-inotify-issue1208.t, but we will shortly make that test go away.)
tests/test-inotify.t
--- a/tests/test-inotify.t	Wed Dec 19 10:02:43 2012 +0100
+++ b/tests/test-inotify.t	Wed Dec 19 10:40:34 2012 -0800
@@ -160,3 +160,16 @@
   $ kill `cat hg.pid`
 
   $ cd ..
+
+Ensure that if the repo is in a directory whose name is too long, the
+unix domain socket is reached through a symlink (issue1208).
+
+  $ mkdir 0_3456789_10_456789_20_456789_30_456789_40_456789_50_45678_
+  $ cd 0_3456789_10_456789_20_456789_30_456789_40_456789_50_45678_
+  $ mkdir 60_456789_70_456789_80_456789_90_456789_100_56789_
+  $ cd 60_456789_70_456789_80_456789_90_456789_100_56789_
+
+  $ hg --config inotify.pidfile=hg3.pid clone -q ../../repo1
+  $ readlink repo1/.hg/inotify.sock
+  */inotify.sock (glob)
+  $ kill `cat hg3.pid`