tests/test-websub.t
author Siddharth Agarwal <sid0@fb.com>
Fri, 01 Aug 2014 18:30:18 -0700
branchstable
changeset 21990 48e32c2c499b
parent 18629 013fcd112f13
child 22046 7a9cbb315d84
permissions -rw-r--r--
context: call normal on the right object dirstate.normal is the method that marks files as unchanged/normal. Rev 20a30cd41d21 started caching dirstate.normal in order to improve performance. However, there was an error in the patch: taking the wlock, under some conditions depending on platform, can cause a new dirstate object to be created. Caching dirstate.normal before calling wlock would then cause the fixup calls below to be on the old dirstate object, effectively disappearing into the ether. On Unix and Unix-like OSes, the condition under which we create a new dirstate object is 'the dirstate file has been modified since the last time we opened it'. This happens pretty rarely, so the object is usually the same -- there's little impact. On Windows, the condition is 'always'. This means files in the lookup state are never marked normal, so the bug has a serious performance impact since all the files in the lookup state are re-read every time hg status is run.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15446
c5c9ca3719f9 tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents: 12126
diff changeset
     1
  $ "$TESTDIR/hghave" serve || exit 80
c5c9ca3719f9 tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents: 12126
diff changeset
     2
12126
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
     3
  $ hg init test
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
     4
  $ cd test
10473
634b0e7561ec test-interhg: test the extension
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     5
12126
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
     6
  $ cat > .hg/hgrc <<EOF
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
     7
  > [extensions]
18629
013fcd112f13 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 17017
diff changeset
     8
  > # this is only necessary to check that the mapping from
013fcd112f13 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 17017
diff changeset
     9
  > # interhg to websub works
12126
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    10
  > interhg =
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    11
  > 
18629
013fcd112f13 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 17017
diff changeset
    12
  > [websub]
013fcd112f13 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 17017
diff changeset
    13
  > issues = s|Issue(\d+)|<a href="http://bts.example.org/issue\1">Issue\1</a>|
013fcd112f13 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 17017
diff changeset
    14
  > 
12126
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    15
  > [interhg]
18629
013fcd112f13 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 17017
diff changeset
    16
  > # check that we maintain some interhg backwards compatibility...
12126
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    17
  > # yes, 'x' is a weird delimiter...
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    18
  > markbugs = sxbugx<i class="\x">bug</i>x
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    19
  > EOF
10473
634b0e7561ec test-interhg: test the extension
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    20
12126
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    21
  $ touch foo
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    22
  $ hg add foo
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    23
  $ hg commit -d '1 0' -m 'Issue123: fixed the bug!'
10473
634b0e7561ec test-interhg: test the extension
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    24
12126
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    25
  $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    26
  $ cat hg.pid >> $DAEMON_PIDS
10473
634b0e7561ec test-interhg: test the extension
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    27
12126
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    28
log
10473
634b0e7561ec test-interhg: test the extension
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    29
18629
013fcd112f13 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 17017
diff changeset
    30
  $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT "rev/tip" | grep bts
013fcd112f13 extensions: obsolete and remove interhg extension
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 17017
diff changeset
    31
  <div class="description"><a href="http://bts.example.org/issue123">Issue123</a>: fixed the <i class="x">bug</i>!</div>
12126
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    32
errors
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    33
779098953457 tests: unify test-interhg
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10473
diff changeset
    34
  $ cat errors.log
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
    35
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
    36
  $ cd ..