tests/test-flagprocessor.t
changeset 30745 c1b7b2285522
child 31833 723c1ab2f77e
equal deleted inserted replaced
30744:e12c0fa1f65b 30745:c1b7b2285522
       
     1 # Create server
       
     2   $ hg init server
       
     3   $ cd server
       
     4   $ cat >> .hg/hgrc << EOF
       
     5   > [extensions]
       
     6   > extension=$TESTDIR/flagprocessorext.py
       
     7   > EOF
       
     8   $ cd ../
       
     9 
       
    10 # Clone server and enable extensions
       
    11   $ hg clone -q server client
       
    12   $ cd client
       
    13   $ cat >> .hg/hgrc << EOF
       
    14   > [extensions]
       
    15   > extension=$TESTDIR/flagprocessorext.py
       
    16   > EOF
       
    17 
       
    18 # Commit file that will trigger the noop extension
       
    19   $ echo '[NOOP]' > noop
       
    20   $ hg commit -Aqm "noop"
       
    21 
       
    22 # Commit file that will trigger the base64 extension
       
    23   $ echo '[BASE64]' > base64
       
    24   $ hg commit -Aqm 'base64'
       
    25 
       
    26 # Commit file that will trigger the gzip extension
       
    27   $ echo '[GZIP]' > gzip
       
    28   $ hg commit -Aqm 'gzip'
       
    29 
       
    30 # Commit file that will trigger noop and base64
       
    31   $ echo '[NOOP][BASE64]' > noop-base64
       
    32   $ hg commit -Aqm 'noop+base64'
       
    33 
       
    34 # Commit file that will trigger noop and gzip
       
    35   $ echo '[NOOP][GZIP]' > noop-gzip
       
    36   $ hg commit -Aqm 'noop+gzip'
       
    37 
       
    38 # Commit file that will trigger base64 and gzip
       
    39   $ echo '[BASE64][GZIP]' > base64-gzip
       
    40   $ hg commit -Aqm 'base64+gzip'
       
    41 
       
    42 # Commit file that will trigger base64, gzip and noop
       
    43   $ echo '[BASE64][GZIP][NOOP]' > base64-gzip-noop
       
    44   $ hg commit -Aqm 'base64+gzip+noop'
       
    45 
       
    46 # TEST: ensure the revision data is consistent
       
    47   $ hg cat noop
       
    48   [NOOP]
       
    49   $ hg debugdata noop 0
       
    50   [NOOP]
       
    51 
       
    52   $ hg cat -r . base64
       
    53   [BASE64]
       
    54   $ hg debugdata base64 0
       
    55   W0JBU0U2NF0K (no-eol)
       
    56 
       
    57   $ hg cat -r . gzip
       
    58   [GZIP]
       
    59   $ hg debugdata gzip 0
       
    60   x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc)
       
    61 
       
    62   $ hg cat -r . noop-base64
       
    63   [NOOP][BASE64]
       
    64   $ hg debugdata noop-base64 0
       
    65   W05PT1BdW0JBU0U2NF0K (no-eol)
       
    66 
       
    67   $ hg cat -r . noop-gzip
       
    68   [NOOP][GZIP]
       
    69   $ hg debugdata noop-gzip 0
       
    70   x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc)
       
    71 
       
    72   $ hg cat -r . base64-gzip
       
    73   [BASE64][GZIP]
       
    74   $ hg debugdata base64-gzip 0
       
    75   eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol)
       
    76 
       
    77   $ hg cat -r . base64-gzip-noop
       
    78   [BASE64][GZIP][NOOP]
       
    79   $ hg debugdata base64-gzip-noop 0
       
    80   eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol)
       
    81 
       
    82 # Push to the server
       
    83   $ hg push
       
    84   pushing to $TESTTMP/server (glob)
       
    85   searching for changes
       
    86   adding changesets
       
    87   adding manifests
       
    88   adding file changes
       
    89   added 7 changesets with 7 changes to 7 files
       
    90 
       
    91 # Initialize new client (not cloning) and setup extension
       
    92   $ cd ..
       
    93   $ hg init client2
       
    94   $ cd client2
       
    95   $ cat >> .hg/hgrc << EOF
       
    96   > [paths]
       
    97   > default = $TESTTMP/server
       
    98   > [extensions]
       
    99   > extension=$TESTDIR/flagprocessorext.py
       
   100   > EOF
       
   101 
       
   102 # Pull from server and update to latest revision
       
   103   $ hg pull default
       
   104   pulling from $TESTTMP/server (glob)
       
   105   requesting all changes
       
   106   adding changesets
       
   107   adding manifests
       
   108   adding file changes
       
   109   added 7 changesets with 7 changes to 7 files
       
   110   (run 'hg update' to get a working copy)
       
   111   $ hg update
       
   112   7 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   113 
       
   114 # TEST: ensure the revision data is consistent
       
   115   $ hg cat noop
       
   116   [NOOP]
       
   117   $ hg debugdata noop 0
       
   118   [NOOP]
       
   119 
       
   120   $ hg cat -r . base64
       
   121   [BASE64]
       
   122   $ hg debugdata base64 0
       
   123   W0JBU0U2NF0K (no-eol)
       
   124 
       
   125   $ hg cat -r . gzip
       
   126   [GZIP]
       
   127   $ hg debugdata gzip 0
       
   128   x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc)
       
   129 
       
   130   $ hg cat -r . noop-base64
       
   131   [NOOP][BASE64]
       
   132   $ hg debugdata noop-base64 0
       
   133   W05PT1BdW0JBU0U2NF0K (no-eol)
       
   134 
       
   135   $ hg cat -r . noop-gzip
       
   136   [NOOP][GZIP]
       
   137   $ hg debugdata noop-gzip 0
       
   138   x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc)
       
   139 
       
   140   $ hg cat -r . base64-gzip
       
   141   [BASE64][GZIP]
       
   142   $ hg debugdata base64-gzip 0
       
   143   eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol)
       
   144 
       
   145   $ hg cat -r . base64-gzip-noop
       
   146   [BASE64][GZIP][NOOP]
       
   147   $ hg debugdata base64-gzip-noop 0
       
   148   eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol)
       
   149 
       
   150 # TEST: ensure a missing processor is handled
       
   151   $ echo '[FAIL][BASE64][GZIP][NOOP]' > fail-base64-gzip-noop
       
   152   $ hg commit -Aqm 'fail+base64+gzip+noop'
       
   153   abort: missing processor for flag '0x1'!
       
   154   [255]
       
   155 
       
   156 # TEST: ensure we cannot register several flag processors on the same flag
       
   157   $ cat >> .hg/hgrc << EOF
       
   158   > [extensions]
       
   159   > extension=$TESTDIR/flagprocessorext.py
       
   160   > duplicate=$TESTDIR/flagprocessorext.py
       
   161   > EOF
       
   162   $ echo 'this should fail' > file
       
   163   $ hg commit -Aqm 'add file'
       
   164   abort: cannot register multiple processors on flag '0x8'.
       
   165   [255]