tests/test-changelog-exec.t
author Gregory Szorc <gregory.szorc@gmail.com>
Tue, 07 Feb 2017 23:24:47 -0800
changeset 30924 c32454d69b85
parent 22502 e6e7ef68c879
child 37284 009d0283de5f
permissions -rw-r--r--
zstd: vendor python-zstandard 0.7.0 Commit 3054ae3a66112970a091d3939fee32c2d0c1a23e from https://github.com/indygreg/python-zstandard is imported without modifications (other than removing unwanted files). The vendored zstd library within has been upgraded from 1.1.2 to 1.1.3. This version introduced new APIs for threads, thread pools, multi-threaded compression, and a new dictionary builder (COVER). These features are not yet used by python-zstandard (or Mercurial for that matter). However, that will likely change in the next python-zstandard release (and I think there are opportunities for Mercurial to take advantage of the multi-threaded APIs). Relevant to Mercurial, the CFFI bindings are now fully implemented. This means zstd should "just work" with PyPy (although I haven't tried). The python-zstandard test suite also runs all tests against both the C extension and CFFI bindings to ensure feature parity. There is also a "decompress_content_dict_chain()" API. This was derived from discussions with Yann Collet on list about alternate ways of encoding delta chains. The change most relevant to Mercurial is a performance enhancement in the simple decompression API to reuse a data structure across operations. This makes decompression of multiple inputs significantly faster. (This scenario occurs when reading revlog delta chains, for example.) Using python-zstandard's bench.py to measure the performance difference... On changelog chunks in the mozilla-unified repo: decompress discrete decompress() reuse zctx 1.262243 wall; 1.260000 CPU; 1.260000 user; 0.000000 sys 170.43 MB/s (best of 3) 0.949106 wall; 0.950000 CPU; 0.950000 user; 0.000000 sys 226.66 MB/s (best of 4) decompress discrete dict decompress() reuse zctx 0.692170 wall; 0.690000 CPU; 0.690000 user; 0.000000 sys 310.80 MB/s (best of 5) 0.437088 wall; 0.440000 CPU; 0.440000 user; 0.000000 sys 492.17 MB/s (best of 7) On manifest chunks in the mozilla-unified repo: decompress discrete decompress() reuse zctx 1.367284 wall; 1.370000 CPU; 1.370000 user; 0.000000 sys 274.01 MB/s (best of 3) 1.086831 wall; 1.080000 CPU; 1.080000 user; 0.000000 sys 344.72 MB/s (best of 3) decompress discrete dict decompress() reuse zctx 0.993272 wall; 0.990000 CPU; 0.990000 user; 0.000000 sys 377.19 MB/s (best of 3) 0.678651 wall; 0.680000 CPU; 0.680000 user; 0.000000 sys 552.06 MB/s (best of 5) That should make reads on zstd revlogs a bit faster ;) # no-check-commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 17132
diff changeset
     1
#require execbit
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 17132
diff changeset
     2
11875
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     3
b51a8138292a introduced a regression where we would mention in the
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     4
changelog executable files added by the second parent of a merge. Test
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     5
that that doesn't happen anymore
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     6
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     7
  $ hg init repo
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     8
  $ cd repo
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     9
  $ echo foo > foo
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    10
  $ hg ci -qAm 'add foo'
5227
466323968b23 Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    11
11875
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    12
  $ echo bar > bar
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    13
  $ chmod +x bar
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    14
  $ hg ci -qAm 'add bar'
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    15
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    16
manifest of p2:
5227
466323968b23 Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    17
11875
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    18
  $ hg manifest
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    19
  bar
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    20
  foo
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    21
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    22
  $ hg up -qC 0
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    23
  $ echo >> foo
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    24
  $ hg ci -m 'change foo'
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    25
  created new head
5227
466323968b23 Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    26
11875
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    27
manifest of p1:
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    28
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    29
  $ hg manifest
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    30
  foo
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    31
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    32
  $ hg merge
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    33
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    34
  (branch merge, don't forget to commit)
22492
d5261db0011f commit: catch changed exec bit on files from p1 (issue4382)
Matt Mackall <mpm@selenic.com>
parents: 17132
diff changeset
    35
  $ chmod +x foo
11875
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    36
  $ hg ci -m 'merge'
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    37
22492
d5261db0011f commit: catch changed exec bit on files from p1 (issue4382)
Matt Mackall <mpm@selenic.com>
parents: 17132
diff changeset
    38
this should not mention bar but should mention foo:
5227
466323968b23 Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    39
11875
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    40
  $ hg tip -v
22492
d5261db0011f commit: catch changed exec bit on files from p1 (issue4382)
Matt Mackall <mpm@selenic.com>
parents: 17132
diff changeset
    41
  changeset:   3:c53d17ff3380
11875
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    42
  tag:         tip
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    43
  parent:      2:ed1b79f46b9a
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    44
  parent:      1:d394a8db219b
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    45
  user:        test
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    46
  date:        Thu Jan 01 00:00:00 1970 +0000
22492
d5261db0011f commit: catch changed exec bit on files from p1 (issue4382)
Matt Mackall <mpm@selenic.com>
parents: 17132
diff changeset
    47
  files:       foo
11875
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    48
  description:
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    49
  merge
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    50
  
88f5b5c058b5 tests: unify test-changelog-exec
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    51
  
5227
466323968b23 Avoid adding to the changelog executable files added by the second parent.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    52
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 11875
diff changeset
    53
  $ hg debugindex bar
17132
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    54
     rev    offset  length  ..... linkrev nodeid       p1           p2 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    55
       0         0       5  .....       1 b004912a8510 000000000000 000000000000 (re)
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 14182
diff changeset
    56
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 14182
diff changeset
    57
  $ cd ..