tests/test-hgweb-no-request-uri.t
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 14 Mar 2018 16:53:30 -0700
changeset 37058 c5e9c3b47366
parent 33720 27fb986e54d0
child 39660 a12916cfef9e
permissions -rw-r--r--
wireproto: support for receiving multiple requests Now that we have request IDs on each frame and a specification that allows multiple requests to be issued simultaneously, possibly interleaved, let's teach the server to deal with that. Instead of tracking the state for *the* active command request, we instead track the state of each receiving command by its request ID. The multiple states in our state machine for processing each command's state has been collapsed into a single state for "receiving commands." Tests have been added so our branch coverage covers all meaningful branches. However, we did lose some logical coverage. The implementation of this new feature opens up the door to a server having partial command requests when end of input is reached. We will probably want a mechanism to deal with partial requests. For now, I've tracked that as a known issue in the class docstring. I've also noted an abuse vector that becomes a little bit easier to exploit with this feature. Differential Revision: https://phab.mercurial-scm.org/D2870
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     1
This tests if hgweb and hgwebdir still work if the REQUEST_URI variable is
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     2
no longer passed with the request. Instead, SCRIPT_NAME and PATH_INFO
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     3
should be used from d74fc8dec2b4 onward to route the request.
5579
e15f7db0f0ee Use SCRIPT_NAME and PATH_INFO instead of REQUEST_URI. This is required by WSGI (fixes issue846).
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     4
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 12743
diff changeset
     5
  $ hg init repo
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     6
  $ cd repo
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     7
  $ echo foo > bar
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     8
  $ hg add bar
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
     9
  $ hg commit -m "test"
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    10
  $ hg tip
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    11
  changeset:   0:61c9426e69fe
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    12
  tag:         tip
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    13
  user:        test
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    14
  date:        Thu Jan 01 00:00:00 1970 +0000
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    15
  summary:     test
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    16
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    17
  $ cat > request.py <<EOF
28858
ba7809b053fd py3: use absolute_import in test-hgweb-no-request-uri.t
timeless <timeless@mozdev.org>
parents: 21117
diff changeset
    18
  > from __future__ import absolute_import
ba7809b053fd py3: use absolute_import in test-hgweb-no-request-uri.t
timeless <timeless@mozdev.org>
parents: 21117
diff changeset
    19
  > import os
ba7809b053fd py3: use absolute_import in test-hgweb-no-request-uri.t
timeless <timeless@mozdev.org>
parents: 21117
diff changeset
    20
  > import sys
ba7809b053fd py3: use absolute_import in test-hgweb-no-request-uri.t
timeless <timeless@mozdev.org>
parents: 21117
diff changeset
    21
  > from mercurial.hgweb import (
ba7809b053fd py3: use absolute_import in test-hgweb-no-request-uri.t
timeless <timeless@mozdev.org>
parents: 21117
diff changeset
    22
  >     hgweb,
ba7809b053fd py3: use absolute_import in test-hgweb-no-request-uri.t
timeless <timeless@mozdev.org>
parents: 21117
diff changeset
    23
  >     hgwebdir,
ba7809b053fd py3: use absolute_import in test-hgweb-no-request-uri.t
timeless <timeless@mozdev.org>
parents: 21117
diff changeset
    24
  > )
28861
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    25
  > from mercurial import (
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    26
  >     util,
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    27
  > )
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    28
  > stringio = util.stringio
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    29
  > 
28861
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    30
  > errors = stringio()
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    31
  > input = stringio()
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    32
  > 
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    33
  > def startrsp(status, headers):
33720
27fb986e54d0 tests: fix simple heredoc print statements to work on Py3
Augie Fackler <augie@google.com>
parents: 32940
diff changeset
    34
  >     print('---- STATUS')
27fb986e54d0 tests: fix simple heredoc print statements to work on Py3
Augie Fackler <augie@google.com>
parents: 32940
diff changeset
    35
  >     print(status)
27fb986e54d0 tests: fix simple heredoc print statements to work on Py3
Augie Fackler <augie@google.com>
parents: 32940
diff changeset
    36
  >     print('---- HEADERS')
27fb986e54d0 tests: fix simple heredoc print statements to work on Py3
Augie Fackler <augie@google.com>
parents: 32940
diff changeset
    37
  >     print([i for i in headers if i[0] != 'ETag'])
27fb986e54d0 tests: fix simple heredoc print statements to work on Py3
Augie Fackler <augie@google.com>
parents: 32940
diff changeset
    38
  >     print('---- DATA')
12743
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    39
  >     return output.write
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    40
  > 
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    41
  > env = {
12743
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    42
  >     'wsgi.version': (1, 0),
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    43
  >     'wsgi.url_scheme': 'http',
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    44
  >     'wsgi.errors': errors,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    45
  >     'wsgi.input': input,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    46
  >     'wsgi.multithread': False,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    47
  >     'wsgi.multiprocess': False,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    48
  >     'wsgi.run_once': False,
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    49
  >     'REQUEST_METHOD': 'GET',
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    50
  >     'SCRIPT_NAME': '',
31008
636cf3f7620d tests: use LOCALIP
Jun Wu <quark@fb.com>
parents: 29519
diff changeset
    51
  >     'SERVER_NAME': '$LOCALIP',
12743
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    52
  >     'SERVER_PORT': os.environ['HGPORT'],
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    53
  >     'SERVER_PROTOCOL': 'HTTP/1.0'
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    54
  > }
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    55
  > 
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    56
  > def process(app):
12743
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    57
  >     content = app(env, startrsp)
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    58
  >     sys.stdout.write(output.getvalue())
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12643
diff changeset
    59
  >     sys.stdout.write(''.join(content))
18646
c6a81e54c209 hgweb: make the test suite use hgweb in a more WSGI compliant way
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
    60
  >     getattr(content, 'close', lambda : None)()
33720
27fb986e54d0 tests: fix simple heredoc print statements to work on Py3
Augie Fackler <augie@google.com>
parents: 32940
diff changeset
    61
  >     print('---- ERRORS')
27fb986e54d0 tests: fix simple heredoc print statements to work on Py3
Augie Fackler <augie@google.com>
parents: 32940
diff changeset
    62
  >     print(errors.getvalue())
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    63
  > 
28861
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    64
  > output = stringio()
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    65
  > env['PATH_INFO'] = '/'
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    66
  > env['QUERY_STRING'] = 'style=atom'
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    67
  > process(hgweb('.', name = 'repo'))
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    68
  > 
28861
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    69
  > output = stringio()
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    70
  > env['PATH_INFO'] = '/file/tip/'
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    71
  > env['QUERY_STRING'] = 'style=raw'
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    72
  > process(hgweb('.', name = 'repo'))
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    73
  > 
28861
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    74
  > output = stringio()
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    75
  > env['PATH_INFO'] = '/'
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    76
  > env['QUERY_STRING'] = 'style=raw'
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    77
  > process(hgwebdir({'repo': '.'}))
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    78
  > 
28861
86db5cb55d46 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org>
parents: 28858
diff changeset
    79
  > output = stringio()
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    80
  > env['PATH_INFO'] = '/repo/file/tip/'
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    81
  > env['QUERY_STRING'] = 'style=raw'
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    82
  > process(hgwebdir({'repo': '.'}))
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    83
  > EOF
32940
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 31008
diff changeset
    84
  $ $PYTHON request.py
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    85
  ---- STATUS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    86
  200 Script output follows
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    87
  ---- HEADERS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    88
  [('Content-Type', 'application/atom+xml; charset=ascii')]
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    89
  ---- DATA
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    90
  <?xml version="1.0" encoding="ascii"?>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    91
  <feed xmlns="http://www.w3.org/2005/Atom">
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    92
   <!-- Changelog -->
31008
636cf3f7620d tests: use LOCALIP
Jun Wu <quark@fb.com>
parents: 29519
diff changeset
    93
   <id>http://$LOCALIP:$HGPORT/</id> (glob)
636cf3f7620d tests: use LOCALIP
Jun Wu <quark@fb.com>
parents: 29519
diff changeset
    94
   <link rel="self" href="http://$LOCALIP:$HGPORT/atom-log"/> (glob)
636cf3f7620d tests: use LOCALIP
Jun Wu <quark@fb.com>
parents: 29519
diff changeset
    95
   <link rel="alternate" href="http://$LOCALIP:$HGPORT/"/> (glob)
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    96
   <title>repo Changelog</title>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    97
   <updated>1970-01-01T00:00:00+00:00</updated>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    98
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
    99
   <entry>
21056
d70703954a2a hgweb: adding branch, tags, bookmarks, user, and file list to atom feed entries
Aaron Jensen <ajensen@webmd.net>
parents: 18646
diff changeset
   100
    <title>[default] test</title>
31008
636cf3f7620d tests: use LOCALIP
Jun Wu <quark@fb.com>
parents: 29519
diff changeset
   101
    <id>http://$LOCALIP:$HGPORT/#changeset-61c9426e69fef294feed5e2bbfc97d39944a5b1c</id> (glob)
636cf3f7620d tests: use LOCALIP
Jun Wu <quark@fb.com>
parents: 29519
diff changeset
   102
    <link href="http://$LOCALIP:$HGPORT/rev/61c9426e69fe"/> (glob)
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   103
    <author>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   104
     <name>test</name>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   105
     <email>&#116;&#101;&#115;&#116;</email>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   106
    </author>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   107
    <updated>1970-01-01T00:00:00+00:00</updated>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   108
    <published>1970-01-01T00:00:00+00:00</published>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   109
    <content type="xhtml">
29439
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   110
     <table xmlns="http://www.w3.org/1999/xhtml">
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   111
      <tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   112
       <th style="text-align:left;">changeset</th>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   113
       <td>61c9426e69fe</td>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   114
      </tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   115
      <tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   116
       <th style="text-align:left;">branch</th>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   117
       <td>default</td>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   118
      </tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   119
      <tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   120
       <th style="text-align:left;">bookmark</th>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   121
       <td></td>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   122
      </tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   123
      <tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   124
       <th style="text-align:left;">tag</th>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   125
       <td>tip</td>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   126
      </tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   127
      <tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   128
       <th style="text-align:left;">user</th>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   129
       <td>&#116;&#101;&#115;&#116;</td>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   130
      </tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   131
      <tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   132
       <th style="text-align:left;vertical-align:top;">description</th>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   133
       <td>test</td>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   134
      </tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   135
      <tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   136
       <th style="text-align:left;vertical-align:top;">files</th>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   137
       <td>bar<br /></td>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   138
      </tr>
c42a3fd5c1fc hgweb: reindent atom/changelogentry.tmpl
Anton Shestakov <av6@dwimlabs.net>
parents: 28861
diff changeset
   139
     </table>
12439
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   140
    </content>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   141
   </entry>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   142
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   143
  </feed>
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   144
  ---- ERRORS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   145
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   146
  ---- STATUS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   147
  200 Script output follows
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   148
  ---- HEADERS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   149
  [('Content-Type', 'text/plain; charset=ascii')]
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   150
  ---- DATA
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   151
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   152
  -rw-r--r-- 4 bar
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   153
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   154
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   155
  ---- ERRORS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   156
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   157
  ---- STATUS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   158
  200 Script output follows
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   159
  ---- HEADERS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   160
  [('Content-Type', 'text/plain; charset=ascii')]
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   161
  ---- DATA
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   162
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   163
  /repo/
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   164
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   165
  ---- ERRORS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   166
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   167
  ---- STATUS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   168
  200 Script output follows
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   169
  ---- HEADERS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   170
  [('Content-Type', 'text/plain; charset=ascii')]
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   171
  ---- DATA
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   172
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   173
  -rw-r--r-- 4 bar
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   174
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   175
  
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   176
  ---- ERRORS
31ea3ce83a92 tests: unify test-hgweb-no-request-uri
Matt Mackall <mpm@selenic.com>
parents: 12183
diff changeset
   177
  
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   178
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   179
  $ cd ..