looking for leads as to why Infusion Builder tests are failing.
Colin Clark
colinbdclark at gmail.com
Sun Nov 1 17:54:05 UTC 2009
Hi Laurel,
On 27-Oct-09, at 11:44 AM, Laurel A. Williams wrote:
> I'm trying to determine why I have some JS tests failing in the
> Infusion Builder and wondering if anyone has any leads to point me
> to the solution. In FireFox 3.5.3 on XP when the tests are run, a
> bunch of them (specifically 4, 5, 6, 12, 13, 14) fail, but only on
> every second reload of the test page. In IE 8 on XP the tests fail
> (4, 5, 6, 12, 13, 14 and also 8, 16) all the time. This is peculiar
> enough to make me wonder in anyone else has seen anything similar.
>
> If you want to try the tests yourself, check out https://source.fluidproject.org/svn/incubator/custom-build/trunk/
> and run infusion-builder/tests/html/customBuild-tests.html
>
> Thanks in advance for your thoughts.
This didn't ring any bells for me, but I did take some time to trace
through your tests to learn more about what is going on. It looks
pretty clear to me that a call to jQuery UI's simulate() is failing
periodically. The element you are trying to click on is definitely
there, it's just not correctly receiving the event. I'm seeing this,
for example, at line 404 of customBuild-tests.js.
I'd like to hear more from others who know simulate() better than I
do. If necessary, an alternative approach is to programmatically
adjust the "checked" attribute on your checkboxes instead of
simulating click events.
An aside, I found your tests really difficult to debug, due to the
strange way you've structured them. It looks like you committed a big
refactoring to these tests back at r7673, and I'm not sure it was
entirely for the best. By moving your test functions out into these
"generateXyz" functions on a "pseudo-that" called "testingFunctions,"
you make it harder to set breakpoints in a specific test, rather than
for the general case of all similar tests. It also makes readability
more difficult. This feels to me like an attempt to remove repetitive
code, but at the wrong level of abstraction. I really like how
thorough all of these tests are, but I find it hard to quickly see the
difference between utility code, setup code, and the test bodies.
At some point in the future, let's consider what it would take to
split up these tests into smaller units based. That said, I don't
think we want to invest the time in reworking these tests yet again
before we get the Builder released. It's something you'll probably
encounter yourself as you use Firebug to track down this issue, but
something that can wait for a bit.
Hope this helps,
Colin
---
Colin Clark
Technical Lead, Fluid Project
http://fluidproject.org
More information about the fluid-work
mailing list