tests/test-hgwebdir.out
author Brodie Rao <brodie@bitheap.org>
Wed, 22 Sep 2010 16:05:59 -0500
changeset 12373 58885f00b998
parent 12038 9617803b1acb
permissions -rw-r--r--
tests: don't match blank output lines as regexes in unified tests Currently, the following unified test will pass: $ echo foo A blank output line (a line containing just two spaces) will match any output. The patch modifies the unified test runner to ignore empty strings strings when do regular expression matching.

adding a
adding b
adding d
adding c
% should give a 404 - file does not exist
404 Not Found


error: bork@8580ff50825a: not found in manifest
% should succeed
200 Script output follows


/a/
/b/

200 Script output follows

a
200 Script output follows

b
% should give a 404 - repo is not published
404 Not Found


error: repository c not found
% atom-log without basedir
 <link rel="self" href="http://example.com:8080/a/atom-log"/>
 <link rel="alternate" href="http://example.com:8080/a/"/>
  <link href="http://example.com:8080/a/rev/8580ff50825a"/>
% rss-log without basedir
    <guid isPermaLink="true">http://example.com:8080/a/rev/8580ff50825a</guid>
% should succeed, slashy names
200 Script output follows


/t/a/
/b/
/coll/a/
/coll/a/.hg/patches/
/coll/b/
/coll/c/
/rcoll/a/
/rcoll/a/.hg/patches/
/rcoll/b/
/rcoll/b/d/
/rcoll/c/
/star/webdir/a/
/star/webdir/a/.hg/patches/
/star/webdir/b/
/star/webdir/c/
/starstar/webdir/a/
/starstar/webdir/a/.hg/patches/
/starstar/webdir/b/
/starstar/webdir/b/d/
/starstar/webdir/c/

200 Script output follows

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />

<title>Mercurial repositories index</title>
</head>
<body>

<div class="container">
<div class="menu">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
</div>
<div class="main">
<h2>Mercurial Repositories</h2>

<table class="bigtable">
    <tr>
        <th><a href="?sort=name">Name</a></th>
        <th><a href="?sort=description">Description</a></th>
        <th><a href="?sort=contact">Contact</a></th>
        <th><a href="?sort=lastchange">Last modified</a></th>
        <th>&nbsp;</th>
    </tr>
    
<tr class="parity0">
<td><a href="/t/a/?style=paper">t/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/b/?style=paper">b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity0">
<td><a href="/coll/a/?style=paper">coll/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/coll/a/.hg/patches/?style=paper">coll/a/.hg/patches</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity0">
<td><a href="/coll/b/?style=paper">coll/b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/coll/c/?style=paper">coll/c</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity0">
<td><a href="/rcoll/a/?style=paper">rcoll/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/rcoll/a/.hg/patches/?style=paper">rcoll/a/.hg/patches</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity0">
<td><a href="/rcoll/b/?style=paper">rcoll/b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/rcoll/b/d/?style=paper">rcoll/b/d</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity0">
<td><a href="/rcoll/c/?style=paper">rcoll/c</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/star/webdir/a/?style=paper">star/webdir/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity0">
<td><a href="/star/webdir/a/.hg/patches/?style=paper">star/webdir/a/.hg/patches</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/star/webdir/b/?style=paper">star/webdir/b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity0">
<td><a href="/star/webdir/c/?style=paper">star/webdir/c</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/starstar/webdir/a/?style=paper">starstar/webdir/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity0">
<td><a href="/starstar/webdir/a/.hg/patches/?style=paper">starstar/webdir/a/.hg/patches</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/starstar/webdir/b/?style=paper">starstar/webdir/b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity0">
<td><a href="/starstar/webdir/b/d/?style=paper">starstar/webdir/b/d</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

<tr class="parity1">
<td><a href="/starstar/webdir/c/?style=paper">starstar/webdir/c</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

</table>
</div>
</div>


</body>
</html>

200 Script output follows


/t/a/

200 Script output follows


/t/a/

200 Script output follows

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />

<title>Mercurial repositories index</title>
</head>
<body>

<div class="container">
<div class="menu">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
</div>
<div class="main">
<h2>Mercurial Repositories</h2>

<table class="bigtable">
    <tr>
        <th><a href="?sort=name">Name</a></th>
        <th><a href="?sort=description">Description</a></th>
        <th><a href="?sort=contact">Contact</a></th>
        <th><a href="?sort=lastchange">Last modified</a></th>
        <th>&nbsp;</th>
    </tr>
    
<tr class="parity0">
<td><a href="/t/a/?style=paper">a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">seconds ago</td>
<td class="indexlinks"></td>
</tr>

</table>
</div>
</div>


</body>
</html>

200 Script output follows

<?xml version="1.0" encoding="ascii"?>
<feed xmlns="http://127.0.0.1/2005/Atom">
 <!-- Changelog -->
 <id>http://127.0.0.1/t/a/</id>
 <link rel="self" href="http://127.0.0.1/t/a/atom-log"/>
 <link rel="alternate" href="http://127.0.0.1/t/a/"/>
 <title>t/a Changelog</title>
 <updated>1970-01-01T00:00:01+00:00</updated>

 <entry>
  <title>a</title>
  <id>http://127.0.0.1/t/a/#changeset-8580ff50825a50c8f716709acdf8de0deddcd6ab</id>
  <link href="http://127.0.0.1/t/a/rev/8580ff50825a"/>
  <author>
   <name>test</name>
   <email>&#116;&#101;&#115;&#116;</email>
  </author>
  <updated>1970-01-01T00:00:01+00:00</updated>
  <published>1970-01-01T00:00:01+00:00</published>
  <content type="xhtml">
   <div xmlns="http://127.0.0.1/1999/xhtml">
    <pre xml:space="preserve">a</pre>
   </div>
  </content>
 </entry>

</feed>
200 Script output follows

<?xml version="1.0" encoding="ascii"?>
<feed xmlns="http://127.0.0.1/2005/Atom">
 <!-- Changelog -->
 <id>http://127.0.0.1/t/a/</id>
 <link rel="self" href="http://127.0.0.1/t/a/atom-log"/>
 <link rel="alternate" href="http://127.0.0.1/t/a/"/>
 <title>t/a Changelog</title>
 <updated>1970-01-01T00:00:01+00:00</updated>

 <entry>
  <title>a</title>
  <id>http://127.0.0.1/t/a/#changeset-8580ff50825a50c8f716709acdf8de0deddcd6ab</id>
  <link href="http://127.0.0.1/t/a/rev/8580ff50825a"/>
  <author>
   <name>test</name>
   <email>&#116;&#101;&#115;&#116;</email>
  </author>
  <updated>1970-01-01T00:00:01+00:00</updated>
  <published>1970-01-01T00:00:01+00:00</published>
  <content type="xhtml">
   <div xmlns="http://127.0.0.1/1999/xhtml">
    <pre xml:space="preserve">a</pre>
   </div>
  </content>
 </entry>

</feed>
200 Script output follows

a
200 Script output follows


/coll/a/
/coll/a/.hg/patches/
/coll/b/
/coll/c/

200 Script output follows

a
200 Script output follows


/rcoll/a/
/rcoll/a/.hg/patches/
/rcoll/b/
/rcoll/b/d/
/rcoll/c/

200 Script output follows

d
% test descend = False
200 Script output follows


/c/

200 Script output follows


/t/a/
/t/b/

% test inexistent and inaccessible repo should be ignored silently
200 Script output follows

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />

<title>Mercurial repositories index</title>
</head>
<body>

<div class="container">
<div class="menu">
<a href="http://mercurial.selenic.com/">
<img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
</div>
<div class="main">
<h2>Mercurial Repositories</h2>

<table class="bigtable">
    <tr>
        <th><a href="?sort=name">Name</a></th>
        <th><a href="?sort=description">Description</a></th>
        <th><a href="?sort=contact">Contact</a></th>
        <th><a href="?sort=lastchange">Last modified</a></th>
        <th>&nbsp;</th>
    </tr>
    
</table>
</div>
</div>


</body>
</html>

% collections: should succeed
200 Script output follows


/a/
/a/.hg/patches/
/b/
/c/

200 Script output follows

a
200 Script output follows

b
200 Script output follows

c
% atom-log with basedir /
 <link rel="self" href="http://example.com:8080/a/atom-log"/>
 <link rel="alternate" href="http://example.com:8080/a/"/>
  <link href="http://example.com:8080/a/rev/8580ff50825a"/>
% rss-log with basedir /
    <guid isPermaLink="true">http://example.com:8080/a/rev/8580ff50825a</guid>
% atom-log with basedir /foo/
 <link rel="self" href="http://example.com:8080/foo/a/atom-log"/>
 <link rel="alternate" href="http://example.com:8080/foo/a/"/>
  <link href="http://example.com:8080/foo/a/rev/8580ff50825a"/>
% rss-log with basedir /foo/
    <guid isPermaLink="true">http://example.com:8080/foo/a/rev/8580ff50825a</guid>
% paths errors 1
% paths errors 2
% paths errors 3
% collections errors
% collections errors 2