tests/test-wsgicgi.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Wed, 13 Mar 2024 12:02:06 +0100
changeset 51599 b0aaffcb6fcf
parent 50937 04bfcb416745
permissions -rw-r--r--
tags-cache: directly perform a monimal walk for hgtagsfnodescache warming We do something narrower than the path retrieving data. So lets use dedicated code instead. This provides further useful speedup: ### data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog # benchmark.name = hg.debug.debug-update-cache # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.pre-state = warm before-this-series: 19.947581 skip-fnode-filter: 18.916804 (-5.17%, -1.03) use-rev-num: 17.493725 (-12.30%, -2.45) this-changesets: 15.919466 (-20.19%, -4.03)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50937
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
     1
  $ hg init test
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
     2
  $ cat >hgweb.cgi <<HGWEB
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
     3
  > #!$PYTHON
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
     4
  > from mercurial import demandimport; demandimport.enable()
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
     5
  > from mercurial.hgweb import hgweb
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
     6
  > from mercurial.hgweb import wsgicgi
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
     7
  > application = hgweb(b"test", b"Empty test repository")
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
     8
  > wsgicgi.launch(application)
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
     9
  > HGWEB
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
    10
  $ chmod 755 hgweb.cgi
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
    11
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
    12
Check that non-ASCII bytes roundtrip correctly.
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
    13
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
    14
  $ . "$TESTDIR/cgienv"
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
    15
  $ PATH_INFO="/rev/$(python -c 'import sys; sys.stdout.buffer.write(b"\xe2\x80\x94")')"; export PATH_INFO
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
    16
  $ QUERY_STRING="style=raw"; export QUERY_STRING
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
    17
  $ "$PYTHON" ./hgweb.cgi | grep error
04bfcb416745 hgweb: pass strings in WSGI environment correctly from wsgicgi
Manuel Jacob <me@manueljacob.de>
parents:
diff changeset
    18
  error: unknown revision '\xe2\x80\x94' (esc)