[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