tests/test-inotify-issue1542.t
author Yuya Nishihara <yuya@tcha.org>
Thu, 12 Jan 2012 00:49:45 +0900
branchstable
changeset 15848 012b285cf643
parent 12455 92b2c876a79d
child 18592 f7c4eb60b0c3
permissions -rw-r--r--
filectx: fix cmp() of file starting with '\1\n' If file data starts with '\1\n', it will be escaped in the revlog to create an empty metadata block, thus adding four bytes to the size in the revlog size index. There's no way to detect that this has happened in filelog.size() faster than decompressing each revision [1]. For filectx.cmp(), we have the size of the file in the working directory available. If it differs by exactly four bytes, it may be this case, so do a full comparison. [1]: http://markmail.org/message/5akdbmmqx7vq2fsg
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7892
67e59a9886d5 Fixing issue1542, adding a relevant test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
     1
12455
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
     2
  $ "$TESTDIR/hghave" inotify || exit 80
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
     3
  $ hg init
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
     4
  $ touch a
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
     5
  $ mkdir dir
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
     6
  $ touch dir/b
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
     7
  $ touch dir/c
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
     8
  $ echo "[extensions]" >> $HGRCPATH
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
     9
  $ echo "inotify=" >> $HGRCPATH
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    10
  $ hg add dir/c
7892
67e59a9886d5 Fixing issue1542, adding a relevant test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    11
12455
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    12
inserve
7892
67e59a9886d5 Fixing issue1542, adding a relevant test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    13
12455
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    14
  $ hg inserve -d --pid-file=hg.pid 2>&1
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    15
  $ cat hg.pid >> "$DAEMON_PIDS"
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    16
  $ hg st
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    17
  A dir/c
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    18
  ? a
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    19
  ? dir/b
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    20
  ? hg.pid
7892
67e59a9886d5 Fixing issue1542, adding a relevant test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    21
12455
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    22
moving dir out
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    23
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    24
  $ mv dir ../tmp-test-inotify-issue1542
7892
67e59a9886d5 Fixing issue1542, adding a relevant test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    25
12455
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    26
status
7892
67e59a9886d5 Fixing issue1542, adding a relevant test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    27
12455
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    28
  $ hg st
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    29
  ! dir/c
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    30
  ? a
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    31
  ? hg.pid
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    32
  $ sleep 1
7892
67e59a9886d5 Fixing issue1542, adding a relevant test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    33
12455
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    34
Are we able to kill the service? if not, the service died on some error
7892
67e59a9886d5 Fixing issue1542, adding a relevant test
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
    35
12455
92b2c876a79d tests: unify test-inotify-issue1542
Matt Mackall <mpm@selenic.com>
parents: 7892
diff changeset
    36
  $ kill `cat hg.pid`