tests/test-hgweb-head.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 07 Mar 2023 03:42:40 +0100
branchstable
changeset 50291 862969b6c359
parent 49978 cd125eef4388
permissions -rw-r--r--
undo-files: cleanup legacy files when applicable The "journal" code is much more compact in 6.4, and so is the "undo" files as a result. However the previous version were much noisier, so let us cleanup undo files from older version too.

#require serve

Some tests for hgweb responding to HEAD requests

  $ hg init test
  $ cd test
  $ mkdir da
  $ echo foo > da/foo
  $ echo foo > foo
  $ hg ci -Ambase
  adding da/foo
  adding foo
  $ hg bookmark -r0 '@'
  $ hg bookmark -r0 'a b c'
  $ hg bookmark -r0 'd/e/f'
  $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
  $ cat hg.pid >> $DAEMON_PIDS

manifest

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'file/tip/?style=raw' - date etag server
  200 Script output follows
  content-type: text/plain; charset=ascii
  
  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'file/tip/da?style=raw' - date etag server
  200 Script output follows
  content-type: text/plain; charset=ascii
  

plain file

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'file/tip/foo?style=raw' - date etag server
  200 Script output follows
  content-disposition: inline; filename="foo"
  content-length: 4
  content-type: application/binary
  

should give a 404 - static file that does not exist

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'static/bogus' - date etag server
  404 Not Found
  content-type: text/html; charset=ascii
  
  [1]

should give a 404 - bad revision

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'file/spam/foo?style=raw' - date etag server
  404 Not Found
  content-type: text/plain; charset=ascii
  
  [1]

should give a 400 - bad command

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'file/tip/foo?cmd=spam&style=raw' - date etag server
  400* (glob)
  content-type: text/plain; charset=ascii
  
  [1]

should give a 404 - file does not exist

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'file/tip/bork?style=raw' - date etag server
  404 Not Found
  content-type: text/plain; charset=ascii
  
  [1]

try bad style

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'file/tip/?style=foobar' - date etag server
  200 Script output follows
  content-type: text/html; charset=ascii
  

log

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'log?style=raw' - date etag server
  200 Script output follows
  content-type: text/plain; charset=ascii
  

access bookmarks

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'rev/@?style=paper' - date etag server
  200 Script output follows
  content-type: text/html; charset=ascii
  

static file

  $ get-with-headers.py localhost:$HGPORT --method=HEAD 'static/style-gitweb.css' - date etag server
  200 Script output follows
  content-length: 9074
  content-type: text/css
  

  $ killdaemons.py

  $ cd ..