Test of html Encoding After GET Fails #1922

Closed
opened 2013-02-21 06:26:51 +00:00 by zancas · 11 comments

I cloned from:

https://github.com/tahoe-lafs/tahoe-lafs.git

I installed into a virtualenv with:

python ./setup.py install

I initially observed this failure when I ran:

python ./setup.py test

I subsequently replicated it with:

trial allmydata.test.test_web.Web.test_GET_DIRECTORY_html_filenode_encoding

When I used the version of tahoe installed in the above description I was able to up and download an immutable file.

VERSION:

>tahoe --version
allmydata-tahoe: 1.9.0.post299
foolscap: 0.6.4
pycryptopp: 0.6.0.1206569328141510525648634803928199668821045408958
zfec: 1.4.24
Twisted: 12.3.0
Nevow: 0.10.0
zope.interface: unknown
python: 2.7.3
platform: Linux-Ubuntu_12.04-i686-32bit_ELF
pyOpenSSL: 0.13
simplejson: 3.0.7
pycrypto: 2.6
pyasn1: 0.1.6
mock: 1.0.1
setuptools: 0.6 [distribute]

TEST RESULT:

allmydata.test.test_web
  Web
    test_GET_DIRECTORY_html_filenode_encoding ...                        [FAIL]

===============================================================================
[FAIL]
Traceback (most recent call last):
  File "/home/arc/tpsrc/tahoe_env/local/lib/python2.7/site-packages/allmydata/test/test_web.py", line 1469, in _check
    self.failUnlessIn('value="' + self._htmlname_escaped_attr + '"', html)
  File "/home/arc/tpsrc/tahoe_env/local/lib/python2.7/site-packages/twisted/trial/_synctest.py", line 416, in assertIn
    % (containee, container))
twisted.trial.unittest.FailTest: 'value="&lt;&amp;weirdly\'named"file&gt;&gt;&gt;_&lt;iframe /&gt;.txt"' not in '<html><head>\n  <title>Tahoe-LAFS - Directory SI=cumsn (modifiable)</title>\n  <link href="/tahoe.css" type="text/css" rel="stylesheet" />\n  <link href="/icon.png" rel="shortcut icon" />\n  <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />\n</head><body class="tahoe-directory-page">\n\n<h1>Tahoe-LAFS Directory SI=<span class="data-chars">cumsn</span></h1>\n\n<div class="toolbar">\n  <div class="toolbar-item"><a href="../../..">Return to Welcome page</a></div>\n  <div class="toolbar-item"><a href=".">Refresh</a></div>\n\n  <div class="toolbar-item"><a href="?t=info">More info on this directory</a></div>\n  <div class="toolbar-item"><a href="../../../uri/URI%3ADIR2-RO%3Abqf6cqeu6fuputicebbt724ijm%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/">Read-Only Version</a></div>\n</div>\n\n<div>\n  <table class="tahoe-directory"><tr>\n      <th>Type</th>\n      <th>Filename</th>\n      <th>Size</th>\n      <th>Times</th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr><tr>\n      <td>FILE</td>\n      <td><a href="../../../file/URI%3ACHK%3A4v2o4utxm6ddbpv6tgd6blfdnu%3Ab2vzclz5kxwagmlwvlaejh7t5gsr4c4gmsfcvw7o3xme6vfp277q%3A3%3A10%3A19/@@named=/%3C%26weirdly%27named%22file%3E%3E%3E_%3Ciframe%20%2F%3E.txt">&lt;&amp;weirdly\'named"file&gt;&gt;&gt;_&lt;iframe /&gt;.txt</a></td>\n      <td align="right">19</td>\n      <td>lcr: 2013-02-20_21:53:11.807217<br />lmo: 2013-02-20_21:53:11.807217</td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="&lt;&amp;weirdly\'named&quot;file&gt;&gt;&gt;_&lt;iframe /&gt;.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="&lt;&amp;weirdly\'named&quot;file&gt;&gt;&gt;_&lt;iframe /&gt;.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n      <td><a href="../../../uri/URI%3ACHK%3A4v2o4utxm6ddbpv6tgd6blfdnu%3Ab2vzclz5kxwagmlwvlaejh7t5gsr4c4gmsfcvw7o3xme6vfp277q%3A3%3A10%3A19?t=info">More Info</a></td>\n    </tr><tr>\n      <td>FILE</td>\n      <td><a href="../../../file/URI%3ACHK%3Abbaor23xin5kytzqr6tmz2cciq%3A2gxbmfaavpwtwrhviujoptvfivh7iu474vjr6bmjwnz2ysxsuoia%3A3%3A10%3A19/@@named=/bar.txt">bar.txt</a></td>\n      <td align="right">19</td>\n      <td>lcr: 2013-02-20_21:53:11.795054<br />lmo: 2013-02-20_21:53:11.795054</td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="bar.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="bar.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n      <td><a href="../../../uri/URI%3ACHK%3Abbaor23xin5kytzqr6tmz2cciq%3A2gxbmfaavpwtwrhviujoptvfivh7iu474vjr6bmjwnz2ysxsuoia%3A3%3A10%3A19?t=info">More Info</a></td>\n    </tr><tr>\n      <td>SSK</td>\n      <td><a href="../../../file/URI%3ASSK%3Atguarr37j3jwbwubojabljgydy%3Aceuyljqj45xvyzlkegor5y2ef7hj2kb3ornxkazdlxpaolzb6mpq/@@named=/baz.txt">baz.txt</a></td>\n      <td align="right">?</td>\n      <td>lcr: 2013-02-20_21:53:11.796456<br />lmo: 2013-02-20_21:53:11.796456</td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="baz.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="baz.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n      <td><a href="../../../uri/URI%3ASSK%3Atguarr37j3jwbwubojabljgydy%3Aceuyljqj45xvyzlkegor5y2ef7hj2kb3ornxkazdlxpaolzb6mpq?t=info">More Info</a></td>\n    </tr><tr>\n      <td>FILE</td>\n      <td><a href="../../../file/URI%3ACHK%3Afcufbvprk4rvigk6ygieeebdfm%3Ajtdlnnzqiecv3xcktwzlznqvysmrmaybt4mracks36sg3nwj4tga%3A3%3A10%3A19/@@named=/blockingfile">blockingfile</a></td>\n      <td align="right">19</td>\n      <td>lcr: 2013-02-20_21:53:11.804734<br />lmo: 2013-02-20_21:53:11.804734</td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="blockingfile" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="blockingfile" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n      <td><a href="../../../uri/URI%3ACHK%3Afcufbvprk4rvigk6ygieeebdfm%3Ajtdlnnzqiecv3xcktwzlznqvysmrmaybt4mracks36sg3nwj4tga%3A3%3A10%3A19?t=info">More Info</a></td>\n    </tr><tr>\n      <td>DIR</td>\n      <td><a href="../../../uri/URI%3ADIR2%3Atf3izyfvpoeezcigaiaztmjok4%3A7p37hogm3ibqdl6srup7nqbolkxxnlpjxvylctkgbdasqbwkmtca/">empty</a></td>\n      <td align="right">-</td>\n      <td>lcr: 2013-02-20_21:53:11.799848<br />lmo: 2013-02-20_21:53:11.799848</td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="empty" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="empty" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n      <td><a href="../../../uri/URI%3ADIR2%3Atf3izyfvpoeezcigaiaztmjok4%3A7p37hogm3ibqdl6srup7nqbolkxxnlpjxvylctkgbdasqbwkmtca/?t=info">More Info</a></td>\n    </tr><tr>\n      <td>FILE</td>\n      <td><a href="../../../file/URI%3ACHK%3Abbaor23xin5kytzqr6tmz2cciq%3A2gxbmfaavpwtwrhviujoptvfivh7iu474vjr6bmjwnz2ysxsuoia%3A3%3A10%3A19/@@named=/n%C3%BC.txt">n\xc3\xbc.txt</a></td>\n      <td align="right">19</td>\n      <td>lcr: 2013-02-20_21:53:11.809787<br />lmo: 2013-02-20_21:53:11.809787</td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="n\xc3\xbc.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="n\xc3\xbc.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n      <td><a href="../../../uri/URI%3ACHK%3Abbaor23xin5kytzqr6tmz2cciq%3A2gxbmfaavpwtwrhviujoptvfivh7iu474vjr6bmjwnz2ysxsuoia%3A3%3A10%3A19?t=info">More Info</a></td>\n    </tr><tr>\n      <td>SSK</td>\n      <td><a href="../../../file/URI%3AMDMF%3A2ycirajxbgrb5wxhfinjwrhsmy%3Apckuct3d5y7eongupy76fuaobubz26v2547lyn2vqmgvposlkgbq/@@named=/quux.txt">quux.txt</a></td>\n      <td align="right">?</td>\n      <td>lcr: 2013-02-20_21:53:11.797995<br />lmo: 2013-02-20_21:53:11.797995</td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="quux.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="quux.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n      <td><a href="../../../uri/URI%3AMDMF%3A2ycirajxbgrb5wxhfinjwrhsmy%3Apckuct3d5y7eongupy76fuaobubz26v2547lyn2vqmgvposlkgbq?t=info">More Info</a></td>\n    </tr><tr>\n      <td>DIR</td>\n      <td><a href="../../../uri/URI%3ADIR2%3Apfus7zc3vyn7677mmwc724uydq%3Ag7yt7uybx27hp77p54nqpqonzfqcpzc2avif62xrizprnztqcrkq/">sub</a></td>\n      <td align="right">-</td>\n      <td>lcr: 2013-02-20_21:53:11.802059<br />lmo: 2013-02-20_21:53:11.802059</td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="sub" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n      <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="sub" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n      <td><a href="../../../uri/URI%3ADIR2%3Apfus7zc3vyn7677mmwc724uydq%3Ag7yt7uybx27hp77p54nqpqonzfqcpzc2avif62xrizprnztqcrkq/?t=info">More Info</a></td>\n    </tr></table>\n</div>\n\n<div class="tahoe-directory-footer">\n  <div class="freeform-form"><form action="." method="post" enctype="multipart/form-data"><fieldset><input type="hidden" name="t" value="mkdir" /><input type="hidden" name="when_done" value="." /><legend class="freeform-form-label">Create a new directory in this directory</legend>New directory name:\xc2\xa0\xc2\xa0<input type="text" name="name" />\xc2\xa0\xc2\xa0<input type="submit" value="Create" />\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<input checked="checked" type="radio" id="mkdir-sdmf" value="sdmf" name="format" /><label for="mutable-directory-sdmf"> SDMF</label>\xc2\xa0\xc2\xa0<input type="radio" id="mkdir-mdmf" value="mdmf" name="format" /><label for="mutable-directory-mdmf"> MDMF (experimental)</label></fieldset></form></div><div class="freeform-form"><form action="." method="post" enctype="multipart/form-data"><fieldset><input type="hidden" name="t" value="upload" /><input type="hidden" name="when_done" value="." /><legend class="freeform-form-label">Upload a file to this directory</legend>Choose a file to upload:\xc2\xa0\xc2\xa0<input type="file" class="freeform-input-file" name="file" />\xc2\xa0\xc2\xa0<input type="submit" value="Upload" />\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<input checked="checked" type="radio" id="upload-chk" value="chk" name="format" /><label for="upload-chk"> Immutable</label>\xc2\xa0\xc2\xa0<input type="radio" id="upload-sdmf" value="sdmf" name="format" /><label for="upload-sdmf"> SDMF</label>\xc2\xa0\xc2\xa0<input type="radio" id="upload-mdmf" value="mdmf" name="format" /><label for="upload-mdmf"> MDMF (experimental)</label></fieldset></form></div><div class="freeform-form"><form action="." method="post" enctype="multipart/form-data"><fieldset><input type="hidden" name="t" value="uri" /><input type="hidden" name="when_done" value="." /><legend class="freeform-form-label">Add a link to a file or directory which is already in Tahoe-LAFS.</legend>New child name:\xc2\xa0\xc2\xa0<input type="text" name="name" />\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0URI of new child:\xc2\xa0\xc2\xa0<input type="text" name="uri" />\xc2\xa0\xc2\xa0<input type="submit" value="Attach" /></fieldset></form></div>\n\n  \n</div>\n\n</body></html>'

allmydata.test.test_web.Web.test_GET_DIRECTORY_html_filenode_encoding
-------------------------------------------------------------------------------
Ran 1 tests in 0.063s

FAILED (failures=1)
I cloned from: ``` https://github.com/tahoe-lafs/tahoe-lafs.git ``` I installed into a virtualenv with: ``` python ./setup.py install ``` I initially observed this failure when I ran: ``` python ./setup.py test ``` I subsequently replicated it with: ``` trial allmydata.test.test_web.Web.test_GET_DIRECTORY_html_filenode_encoding ``` When I used the version of tahoe installed in the above description I was able to up and download an immutable file. VERSION: ``` >tahoe --version allmydata-tahoe: 1.9.0.post299 foolscap: 0.6.4 pycryptopp: 0.6.0.1206569328141510525648634803928199668821045408958 zfec: 1.4.24 Twisted: 12.3.0 Nevow: 0.10.0 zope.interface: unknown python: 2.7.3 platform: Linux-Ubuntu_12.04-i686-32bit_ELF pyOpenSSL: 0.13 simplejson: 3.0.7 pycrypto: 2.6 pyasn1: 0.1.6 mock: 1.0.1 setuptools: 0.6 [distribute] ``` TEST RESULT: ``` allmydata.test.test_web Web test_GET_DIRECTORY_html_filenode_encoding ... [FAIL] =============================================================================== [FAIL] Traceback (most recent call last): File "/home/arc/tpsrc/tahoe_env/local/lib/python2.7/site-packages/allmydata/test/test_web.py", line 1469, in _check self.failUnlessIn('value="' + self._htmlname_escaped_attr + '"', html) File "/home/arc/tpsrc/tahoe_env/local/lib/python2.7/site-packages/twisted/trial/_synctest.py", line 416, in assertIn % (containee, container)) twisted.trial.unittest.FailTest: 'value="&lt;&amp;weirdly\'named"file&gt;&gt;&gt;_&lt;iframe /&gt;.txt"' not in '<html><head>\n <title>Tahoe-LAFS - Directory SI=cumsn (modifiable)</title>\n <link href="/tahoe.css" type="text/css" rel="stylesheet" />\n <link href="/icon.png" rel="shortcut icon" />\n <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />\n</head><body class="tahoe-directory-page">\n\n<h1>Tahoe-LAFS Directory SI=<span class="data-chars">cumsn</span></h1>\n\n<div class="toolbar">\n <div class="toolbar-item"><a href="../../..">Return to Welcome page</a></div>\n <div class="toolbar-item"><a href=".">Refresh</a></div>\n\n <div class="toolbar-item"><a href="?t=info">More info on this directory</a></div>\n <div class="toolbar-item"><a href="../../../uri/URI%3ADIR2-RO%3Abqf6cqeu6fuputicebbt724ijm%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/">Read-Only Version</a></div>\n</div>\n\n<div>\n <table class="tahoe-directory"><tr>\n <th>Type</th>\n <th>Filename</th>\n <th>Size</th>\n <th>Times</th>\n <th></th>\n <th></th>\n <th></th>\n </tr><tr>\n <td>FILE</td>\n <td><a href="../../../file/URI%3ACHK%3A4v2o4utxm6ddbpv6tgd6blfdnu%3Ab2vzclz5kxwagmlwvlaejh7t5gsr4c4gmsfcvw7o3xme6vfp277q%3A3%3A10%3A19/@@named=/%3C%26weirdly%27named%22file%3E%3E%3E_%3Ciframe%20%2F%3E.txt">&lt;&amp;weirdly\'named"file&gt;&gt;&gt;_&lt;iframe /&gt;.txt</a></td>\n <td align="right">19</td>\n <td>lcr: 2013-02-20_21:53:11.807217<br />lmo: 2013-02-20_21:53:11.807217</td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="&lt;&amp;weirdly\'named&quot;file&gt;&gt;&gt;_&lt;iframe /&gt;.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="&lt;&amp;weirdly\'named&quot;file&gt;&gt;&gt;_&lt;iframe /&gt;.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n <td><a href="../../../uri/URI%3ACHK%3A4v2o4utxm6ddbpv6tgd6blfdnu%3Ab2vzclz5kxwagmlwvlaejh7t5gsr4c4gmsfcvw7o3xme6vfp277q%3A3%3A10%3A19?t=info">More Info</a></td>\n </tr><tr>\n <td>FILE</td>\n <td><a href="../../../file/URI%3ACHK%3Abbaor23xin5kytzqr6tmz2cciq%3A2gxbmfaavpwtwrhviujoptvfivh7iu474vjr6bmjwnz2ysxsuoia%3A3%3A10%3A19/@@named=/bar.txt">bar.txt</a></td>\n <td align="right">19</td>\n <td>lcr: 2013-02-20_21:53:11.795054<br />lmo: 2013-02-20_21:53:11.795054</td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="bar.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="bar.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n <td><a href="../../../uri/URI%3ACHK%3Abbaor23xin5kytzqr6tmz2cciq%3A2gxbmfaavpwtwrhviujoptvfivh7iu474vjr6bmjwnz2ysxsuoia%3A3%3A10%3A19?t=info">More Info</a></td>\n </tr><tr>\n <td>SSK</td>\n <td><a href="../../../file/URI%3ASSK%3Atguarr37j3jwbwubojabljgydy%3Aceuyljqj45xvyzlkegor5y2ef7hj2kb3ornxkazdlxpaolzb6mpq/@@named=/baz.txt">baz.txt</a></td>\n <td align="right">?</td>\n <td>lcr: 2013-02-20_21:53:11.796456<br />lmo: 2013-02-20_21:53:11.796456</td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="baz.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="baz.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n <td><a href="../../../uri/URI%3ASSK%3Atguarr37j3jwbwubojabljgydy%3Aceuyljqj45xvyzlkegor5y2ef7hj2kb3ornxkazdlxpaolzb6mpq?t=info">More Info</a></td>\n </tr><tr>\n <td>FILE</td>\n <td><a href="../../../file/URI%3ACHK%3Afcufbvprk4rvigk6ygieeebdfm%3Ajtdlnnzqiecv3xcktwzlznqvysmrmaybt4mracks36sg3nwj4tga%3A3%3A10%3A19/@@named=/blockingfile">blockingfile</a></td>\n <td align="right">19</td>\n <td>lcr: 2013-02-20_21:53:11.804734<br />lmo: 2013-02-20_21:53:11.804734</td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="blockingfile" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="blockingfile" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n <td><a href="../../../uri/URI%3ACHK%3Afcufbvprk4rvigk6ygieeebdfm%3Ajtdlnnzqiecv3xcktwzlznqvysmrmaybt4mracks36sg3nwj4tga%3A3%3A10%3A19?t=info">More Info</a></td>\n </tr><tr>\n <td>DIR</td>\n <td><a href="../../../uri/URI%3ADIR2%3Atf3izyfvpoeezcigaiaztmjok4%3A7p37hogm3ibqdl6srup7nqbolkxxnlpjxvylctkgbdasqbwkmtca/">empty</a></td>\n <td align="right">-</td>\n <td>lcr: 2013-02-20_21:53:11.799848<br />lmo: 2013-02-20_21:53:11.799848</td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="empty" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="empty" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n <td><a href="../../../uri/URI%3ADIR2%3Atf3izyfvpoeezcigaiaztmjok4%3A7p37hogm3ibqdl6srup7nqbolkxxnlpjxvylctkgbdasqbwkmtca/?t=info">More Info</a></td>\n </tr><tr>\n <td>FILE</td>\n <td><a href="../../../file/URI%3ACHK%3Abbaor23xin5kytzqr6tmz2cciq%3A2gxbmfaavpwtwrhviujoptvfivh7iu474vjr6bmjwnz2ysxsuoia%3A3%3A10%3A19/@@named=/n%C3%BC.txt">n\xc3\xbc.txt</a></td>\n <td align="right">19</td>\n <td>lcr: 2013-02-20_21:53:11.809787<br />lmo: 2013-02-20_21:53:11.809787</td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="n\xc3\xbc.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="n\xc3\xbc.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n <td><a href="../../../uri/URI%3ACHK%3Abbaor23xin5kytzqr6tmz2cciq%3A2gxbmfaavpwtwrhviujoptvfivh7iu474vjr6bmjwnz2ysxsuoia%3A3%3A10%3A19?t=info">More Info</a></td>\n </tr><tr>\n <td>SSK</td>\n <td><a href="../../../file/URI%3AMDMF%3A2ycirajxbgrb5wxhfinjwrhsmy%3Apckuct3d5y7eongupy76fuaobubz26v2547lyn2vqmgvposlkgbq/@@named=/quux.txt">quux.txt</a></td>\n <td align="right">?</td>\n <td>lcr: 2013-02-20_21:53:11.797995<br />lmo: 2013-02-20_21:53:11.797995</td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="quux.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="quux.txt" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n <td><a href="../../../uri/URI%3AMDMF%3A2ycirajxbgrb5wxhfinjwrhsmy%3Apckuct3d5y7eongupy76fuaobubz26v2547lyn2vqmgvposlkgbq?t=info">More Info</a></td>\n </tr><tr>\n <td>DIR</td>\n <td><a href="../../../uri/URI%3ADIR2%3Apfus7zc3vyn7677mmwc724uydq%3Ag7yt7uybx27hp77p54nqpqonzfqcpzc2avif62xrizprnztqcrkq/">sub</a></td>\n <td align="right">-</td>\n <td>lcr: 2013-02-20_21:53:11.802059<br />lmo: 2013-02-20_21:53:11.802059</td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="post"><input type="hidden" name="t" value="unlink" /><input type="hidden" name="name" value="sub" /><input type="hidden" name="when_done" value="." /><input type="submit" name="unlink" value="unlink" /></form></td>\n <td><form action="../../../uri/URI%3ADIR2%3Adcmuzbsk4rgpnnfgv5ibwsdi7u%3Aha6leiv54ee45xu6lrwkjiuewdo2ynxbtlmaizoj3q6c47s2vvpa/" method="get"><input type="hidden" name="t" value="rename-form" /><input type="hidden" name="name" value="sub" /><input type="hidden" name="when_done" value="." /><input type="submit" name="rename" value="rename/move" /></form></td>\n <td><a href="../../../uri/URI%3ADIR2%3Apfus7zc3vyn7677mmwc724uydq%3Ag7yt7uybx27hp77p54nqpqonzfqcpzc2avif62xrizprnztqcrkq/?t=info">More Info</a></td>\n </tr></table>\n</div>\n\n<div class="tahoe-directory-footer">\n <div class="freeform-form"><form action="." method="post" enctype="multipart/form-data"><fieldset><input type="hidden" name="t" value="mkdir" /><input type="hidden" name="when_done" value="." /><legend class="freeform-form-label">Create a new directory in this directory</legend>New directory name:\xc2\xa0\xc2\xa0<input type="text" name="name" />\xc2\xa0\xc2\xa0<input type="submit" value="Create" />\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<input checked="checked" type="radio" id="mkdir-sdmf" value="sdmf" name="format" /><label for="mutable-directory-sdmf"> SDMF</label>\xc2\xa0\xc2\xa0<input type="radio" id="mkdir-mdmf" value="mdmf" name="format" /><label for="mutable-directory-mdmf"> MDMF (experimental)</label></fieldset></form></div><div class="freeform-form"><form action="." method="post" enctype="multipart/form-data"><fieldset><input type="hidden" name="t" value="upload" /><input type="hidden" name="when_done" value="." /><legend class="freeform-form-label">Upload a file to this directory</legend>Choose a file to upload:\xc2\xa0\xc2\xa0<input type="file" class="freeform-input-file" name="file" />\xc2\xa0\xc2\xa0<input type="submit" value="Upload" />\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<input checked="checked" type="radio" id="upload-chk" value="chk" name="format" /><label for="upload-chk"> Immutable</label>\xc2\xa0\xc2\xa0<input type="radio" id="upload-sdmf" value="sdmf" name="format" /><label for="upload-sdmf"> SDMF</label>\xc2\xa0\xc2\xa0<input type="radio" id="upload-mdmf" value="mdmf" name="format" /><label for="upload-mdmf"> MDMF (experimental)</label></fieldset></form></div><div class="freeform-form"><form action="." method="post" enctype="multipart/form-data"><fieldset><input type="hidden" name="t" value="uri" /><input type="hidden" name="when_done" value="." /><legend class="freeform-form-label">Add a link to a file or directory which is already in Tahoe-LAFS.</legend>New child name:\xc2\xa0\xc2\xa0<input type="text" name="name" />\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0URI of new child:\xc2\xa0\xc2\xa0<input type="text" name="uri" />\xc2\xa0\xc2\xa0<input type="submit" value="Attach" /></fieldset></form></div>\n\n \n</div>\n\n</body></html>' allmydata.test.test_web.Web.test_GET_DIRECTORY_html_filenode_encoding ------------------------------------------------------------------------------- Ran 1 tests in 0.063s FAILED (failures=1) ```
zancas added the
unknown
normal
defect
1.9.2
labels 2013-02-21 06:26:51 +00:00
zancas added this to the undecided milestone 2013-02-21 06:26:51 +00:00
Author

I piped the test output into a file and tried to get more information from the long html string.

I ran the following on the html from the assertion:

>python -u -c 'for x in [filtered for filtered in open("testerror","r").readlines()[11].split() if "weirdly" in filtered]: print x'

I got the following result:

href="../../../file/URI%3ACHK%3A253an7chojvpwztqkh67o6v2nq%3Acvuxtujfzqp5kf7krx36cnnm72nupsljnieuaa7trlxuhbg7dliq%3A3%3A10%3A19/@@named=/%3C%26weirdly%27named%22file%3E%3E%3E_%3Ciframe%20%2F%3E.txt">&lt;&amp;weirdly\'named"file&gt;&gt;&gt;_&lt;iframe
value="&lt;&amp;weirdly\'named&quot;file&gt;&gt;&gt;_&lt;iframe
value="&lt;&amp;weirdly\'named&quot;file&gt;&gt;&gt;_&lt;iframe

I may dig deeper later. The next obvious step is to find the value of "self" in this context.

I piped the test output into a file and tried to get more information from the long html string. I ran the following on the html from the assertion: ``` >python -u -c 'for x in [filtered for filtered in open("testerror","r").readlines()[11].split() if "weirdly" in filtered]: print x' ``` I got the following result: ``` href="../../../file/URI%3ACHK%3A253an7chojvpwztqkh67o6v2nq%3Acvuxtujfzqp5kf7krx36cnnm72nupsljnieuaa7trlxuhbg7dliq%3A3%3A10%3A19/@@named=/%3C%26weirdly%27named%22file%3E%3E%3E_%3Ciframe%20%2F%3E.txt">&lt;&amp;weirdly\'named"file&gt;&gt;&gt;_&lt;iframe value="&lt;&amp;weirdly\'named&quot;file&gt;&gt;&gt;_&lt;iframe value="&lt;&amp;weirdly\'named&quot;file&gt;&gt;&gt;_&lt;iframe ``` I may dig deeper later. The next obvious step is to find the value of "self" in this context.
davidsarah commented 2013-02-22 06:06:29 +00:00
Owner

This test was added in https://github.com/tahoe-lafs/tahoe-lafs/commit/1df7f114b7094dab8d7ffea8b390b10c0070b0fd in order to test the fix for #1143. Assigning to MK_FG who wrote that code.

This test was added in <https://github.com/tahoe-lafs/tahoe-lafs/commit/1df7f114b7094dab8d7ffea8b390b10c0070b0fd> in order to test the fix for #1143. Assigning to MK_FG who wrote that code.
tahoe-lafs added
code-frontend-web
and removed
unknown
labels 2013-02-22 06:06:29 +00:00
tahoe-lafs modified the milestone from undecided to 1.10.0 2013-02-22 06:06:29 +00:00
davidsarah commented 2013-02-25 18:37:51 +00:00
Owner

Zancas, can you run bin/tahoe --version-and-path to see which versions of dependencies (particularly Nevow) are being used?

Zancas, can you run `bin/tahoe --version-and-path` to see which versions of dependencies (particularly Nevow) are being used?
Author

This is the output from running "--version-and-path". The format is PROMPT \n OUTPUT \n PROMPT. My PROMPTs start with "(tahoe_env)" and end with ">COMMAND(S)" on the following line:

(tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env :
>which tahoe
/home/arc/tpsrc/tahoe_env/bin/tahoe
(tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env :
>tahoe --version-and-path
allmydata-tahoe: 1.9.0.post299 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
foolscap: 0.6.4 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
pycryptopp: 0.6.0.1206569328141510525648634803928199668821045408958 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
zfec: 1.4.24 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
Twisted: 12.3.0 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
Nevow: 0.10.0 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
zope.interface: unknown (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages/zope)
python: 2.7.3 (/home/arc/tpsrc/tahoe_env/bin/python)
platform: Linux-Ubuntu_12.04-i686-32bit_ELF (None)
pyOpenSSL: 0.13 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
simplejson: 3.0.7 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
pycrypto: 2.6 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
pyasn1: 0.1.6 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages)
mock: 1.0.1 (/home/arc/tpsrc/tahoe_env/lib/python2.7)
setuptools: 0.6 [distribute] (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg)

(tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env :
>
This is the output from running "--version-and-path". The format is PROMPT \n OUTPUT \n PROMPT. My PROMPTs start with "(tahoe_env)" and end with ">COMMAND(S)" on the following line: ``` (tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env : >which tahoe /home/arc/tpsrc/tahoe_env/bin/tahoe (tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env : >tahoe --version-and-path allmydata-tahoe: 1.9.0.post299 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) foolscap: 0.6.4 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) pycryptopp: 0.6.0.1206569328141510525648634803928199668821045408958 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) zfec: 1.4.24 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) Twisted: 12.3.0 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) Nevow: 0.10.0 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) zope.interface: unknown (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages/zope) python: 2.7.3 (/home/arc/tpsrc/tahoe_env/bin/python) platform: Linux-Ubuntu_12.04-i686-32bit_ELF (None) pyOpenSSL: 0.13 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) simplejson: 3.0.7 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) pycrypto: 2.6 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) pyasn1: 0.1.6 (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages) mock: 1.0.1 (/home/arc/tpsrc/tahoe_env/lib/python2.7) setuptools: 0.6 [distribute] (/home/arc/tpsrc/tahoe_env/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg) (tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env : > ```
davidsarah commented 2013-02-25 21:09:32 +00:00
Owner

Hmm, that's the same version of Nevow as me (and I don't get this test failure), which rules out one possibility.

Hmm, that's the same version of Nevow as me (and I don't get this test failure), which rules out one possibility.
davidsarah commented 2013-02-25 21:12:07 +00:00
Owner

I can reproduce with Twisted 12.3.0, but not with 12.2.0.

To confirm that, please set the Twisted dependency in src/allmydata/_auto_deps.py to "Twisted == 12.2.0", then make clean before running tests again.

I can reproduce with Twisted 12.3.0, but not with 12.2.0. To confirm that, please set the Twisted dependency in `src/allmydata/_auto_deps.py` to "Twisted == 12.2.0", then `make clean` before running tests again.
Author

Per Zooko's request:

(tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env :
>python allmydata-tahoe-1.9.0.post373/misc/build_helpers/show-tool-versions.py | grep -i 'charset\|enco\|locale'
locale: LANG=en_CA.UTF-8 LANGUAGE=en_CA:en LC_CTYPE="en_CA.UTF-8" LC_NUMERIC="en_CA.UTF-8" LC_TIME="en_CA.UTF-8" LC_COLLATE="en_CA.UTF-8" LC_MONETARY="en_CA.UTF-8" LC_MESSAGES="en_CA.UTF-8" LC_PAPER="en_CA.UTF-8" LC_NAME="en_CA.UTF-8" LC_ADDRESS="en_CA.UTF-8" LC_TELEPHONE="en_CA.UTF-8" LC_MEASUREMENT="en_CA.UTF-8" LC_IDENTIFICATION="en_CA.UTF-8" LC_ALL= 
filesystem.encoding: UTF-8
locale.getpreferredencoding: UTF-8
locale.defaultlocale: ('en_CA', 'UTF-8')
locale.locale: (None, None)
(tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env :
>
Per Zooko's request: ``` (tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env : >python allmydata-tahoe-1.9.0.post373/misc/build_helpers/show-tool-versions.py | grep -i 'charset\|enco\|locale' locale: LANG=en_CA.UTF-8 LANGUAGE=en_CA:en LC_CTYPE="en_CA.UTF-8" LC_NUMERIC="en_CA.UTF-8" LC_TIME="en_CA.UTF-8" LC_COLLATE="en_CA.UTF-8" LC_MONETARY="en_CA.UTF-8" LC_MESSAGES="en_CA.UTF-8" LC_PAPER="en_CA.UTF-8" LC_NAME="en_CA.UTF-8" LC_ADDRESS="en_CA.UTF-8" LC_TELEPHONE="en_CA.UTF-8" LC_MEASUREMENT="en_CA.UTF-8" LC_IDENTIFICATION="en_CA.UTF-8" LC_ALL= filesystem.encoding: UTF-8 locale.getpreferredencoding: UTF-8 locale.defaultlocale: ('en_CA', 'UTF-8') locale.locale: (None, None) (tahoe_env)0 b:master /home/arc/tpsrc/tahoe_env : > ```
mk.fg commented 2013-02-27 17:34:00 +00:00
Owner

twisted.web.html.escape was used to produce html-encoded string (to then look it up in "value" attribute), but behavior of that function has changed between Twisted 12.2.0 (simple custom implementation) and 12.3.0 (imported from stdlib cgi module).
cgi.escape() requires quote=True parameter to escape double-quote characters.

Fixed now in 1922_fix_test_web_test_GET_DIRECTORY_html_filenode_encoding branch (non-official repo), github pull request #31 by simply using reliable cgi.escape to produce html-escaped string for tests.

Pretty sure I used twisted.web.html.escape because Nevow also used it, but looks like currently it properly quotes attribute values, so guess different func is used for attributes there.

twisted.web.html.escape was used to produce html-encoded string (to then look it up in "value" attribute), but behavior of that function has changed between Twisted 12.2.0 (simple custom implementation) and 12.3.0 (imported from stdlib cgi module). cgi.escape() requires quote=True parameter to escape double-quote characters. Fixed now in [1922_fix_test_web_test_GET_DIRECTORY_html_filenode_encoding branch](https://github.com/mk-fg/tahoe-lafs/tree/1922_fix_test_web_test_GET_DIRECTORY_html_filenode_encoding) (non-official repo), github [pull request #31](https://github.com/tahoe-lafs/tahoe-lafs/pull/31) by simply using reliable cgi.escape to produce html-escaped string for tests. Pretty sure I used twisted.web.html.escape because Nevow also used it, but looks like currently it properly quotes attribute values, so guess different func is used for attributes there.
davidsarah commented 2013-02-28 04:35:03 +00:00
Owner
+1. Committed as <https://github.com/tahoe-lafs/tahoe-lafs/commit/0f499873b043f6e6df86121564b84783b0444fb5> with no changes.
tahoe-lafs added the
fixed
label 2013-02-28 04:35:03 +00:00
davidsarah commented 2013-02-28 04:37:14 +00:00
Owner

Thanks mk.fg. Zancas, please check that current trunk works for you.

Thanks mk.fg. Zancas, please check that current trunk works for you.
Author
>trial allmydata.test.test_web.Web.test_GET_DIRECTORY_html_filenode_encoding
allmydata.test.test_web
> Web
    test_GET_DIRECTORY_html_filenode_encoding ...                          OK

-------------------------------------------------------------------------------
Ran 1 tests in 0.065s

PASSED (successes=1)
``` >trial allmydata.test.test_web.Web.test_GET_DIRECTORY_html_filenode_encoding allmydata.test.test_web > Web test_GET_DIRECTORY_html_filenode_encoding ... OK ------------------------------------------------------------------------------- Ran 1 tests in 0.065s PASSED (successes=1) ```
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Reference: tahoe-lafs/trac-2024-07-25#1922
No description provided.