tests/test-push-validation.t
author Bryan O'Sullivan <bos@serpentine.com>
Wed, 23 Dec 2015 16:22:20 -0800
changeset 27535 0d0f4070f6d7
parent 18506 ef60083b5536
child 28114 2a03a365f645
permissions -rw-r--r--
test-demandimport: ensure that relative imports are deferred This adds a test not just at our local "top level" (the mercurial package), but also one level deeper (mercurial.hgweb).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
     1
  $ hg init test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
     2
  $ cd test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
     3
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
     4
  $ cat > .hg/hgrc <<EOF
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
     5
  > [server]
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
     6
  > validate=1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
     7
  > EOF
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
     8
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
     9
  $ echo alpha > alpha
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    10
  $ echo beta > beta
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    11
  $ hg addr
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    12
  adding alpha
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    13
  adding beta
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    14
  $ hg ci -m 1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    15
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    16
  $ cd ..
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    17
  $ hg clone test test-clone
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    18
  updating to branch default
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    19
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    20
18422
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    21
Test spurious filelog entries:
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    22
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    23
  $ cd test-clone
18422
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    24
  $ echo blah >> beta
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    25
  $ cp .hg/store/data/beta.i tmp1
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    26
  $ hg ci -m 2
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    27
  $ cp .hg/store/data/beta.i tmp2
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    28
  $ hg -q rollback
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    29
  $ mv tmp2 .hg/store/data/beta.i
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    30
  $ echo blah >> beta
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    31
  $ hg ci -m '2 (corrupt)'
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    32
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    33
Expected to fail:
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    34
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    35
  $ hg verify
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    36
  checking changesets
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    37
  checking manifests
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    38
  crosschecking files in changesets and manifests
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    39
  checking files
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    40
   beta@1: dddc47b3ba30 not in manifests
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    41
  2 files, 2 changesets, 4 total revisions
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    42
  1 integrity errors encountered!
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    43
  (first damaged changeset appears to be 1)
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    44
  [1]
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    45
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    46
  $ hg push
18506
ef60083b5536 tests: fix for windows - slashes and no serve
Mads Kiilerich <madski@unity3d.com>
parents: 18422
diff changeset
    47
  pushing to $TESTTMP/test (glob)
18422
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    48
  searching for changes
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    49
  adding changesets
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    50
  adding manifests
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    51
  adding file changes
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    52
  transaction abort!
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    53
  rollback completed
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    54
  abort: received spurious file revlog entry
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    55
  [255]
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    56
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    57
  $ hg -q rollback
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    58
  $ mv tmp1 .hg/store/data/beta.i
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    59
  $ echo beta > beta
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    60
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    61
Test missing filelog entries:
f009804e2a43 validate: check for spurious incoming filelog entries
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
    62
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    63
  $ cp .hg/store/data/beta.i tmp
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    64
  $ echo blah >> beta
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    65
  $ hg ci -m '2 (corrupt)'
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    66
  $ mv tmp .hg/store/data/beta.i
10418
5fc090ba08a6 localrepo: add optional validation (defaults to off) for incoming changes
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    67
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    68
Expected to fail:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    69
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    70
  $ hg verify
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    71
  checking changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    72
  checking manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    73
  crosschecking files in changesets and manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    74
  checking files
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    75
   beta@1: dddc47b3ba30 in manifests not found
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    76
  2 files, 2 changesets, 2 total revisions
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    77
  1 integrity errors encountered!
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    78
  (first damaged changeset appears to be 1)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12279
diff changeset
    79
  [1]
10418
5fc090ba08a6 localrepo: add optional validation (defaults to off) for incoming changes
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    80
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    81
  $ hg push
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
    82
  pushing to $TESTTMP/test (glob)
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    83
  searching for changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    84
  adding changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    85
  adding manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    86
  adding file changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    87
  transaction abort!
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    88
  rollback completed
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    89
  abort: missing file data for beta:dddc47b3ba30e54484720ce0f4f768a0f4b6efb9 - run hg verify
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12279
diff changeset
    90
  [255]
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
    91
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
    92
  $ cd ..