[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2663: spurious failure in test_web.Web.test_welcome* with Nevow 0.12.0/Twisted 15.5.0

Tahoe-LAFS trac at tahoe-lafs.org
Sat Jan 16 01:25:57 UTC 2016


#2663: spurious failure in test_web.Web.test_welcome* with Nevow 0.12.0/Twisted
15.5.0
----------------------------------+----------------------------------------
     Reporter:  daira             |      Owner:
         Type:  defect            |     Status:  new
     Priority:  major             |  Milestone:  1.10.3
    Component:  code-frontend-    |    Version:  1.10.2
  web                             |
   Resolution:                    |   Keywords:  tests nevow blocks-release
Launchpad Bug:                    |
----------------------------------+----------------------------------------

Comment (by leif):

 Unfortunately I don't think that will work.

 I think there are two ways attributes get there: via `<n:attr>` tags in
 templates (like [https://github.com/tahoe-lafs/tahoe-
 lafs/blob/master/src/allmydata/web/welcome.xhtml#L141 this]) and via named
 arguments in the call to Nevow's `T` function (like [https://github.com
 /tahoe-lafs/tahoe-lafs/blob/master/src/allmydata/web/root.py#L400 this]).
 I'm pretty sure that in both cases the old Nevow does not let us control
 the order either: at least in the `T` case the attributes are rendered in
 dictionary order (via `iteritems()`) and from the Nevow commit in my
 previous comment I suspect attributes from `<n:attr>` tags are too.

 I actually tried the crazy idea of passing a subclass of `dict` which
 sorts its `iteritems` to see if a function like `T` with `**` in its
 signature would actually receive my special dictionary... but
 (unsurprisingly) when I call `f(**d)` the dictionary `f` receives is not
 an instance of my class.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2663#comment:6>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list