Good idea, that worked. Now test runs actually have some assertions run, but apparently the reporting doesn't yet work; all tests end up with a timeout. I'll continue debugging that, of course ideas where to look are very welcome.
Jörn On Sun, Aug 30, 2009 at 6:11 PM, John Resig<[email protected]> wrote: > > In the jQuery tests I was explicitly filtering so the problem probably > wasn't getting hit. > > I wonder if it would work if you changed the URLs to tabs.html?tabs > > The change would probably be: > %SUITES = map { /(\w+).html$/; $1 => "$SUITE/$_?$1"; } > glob("tests/unit/*/*.html") > > --John > > > > On Sun, Aug 30, 2009 at 11:52 AM, Jörn > Zaefferer<[email protected]> wrote: >> >> I have an idea: When running a test directly, the URL has no additonal >> parameters. When its called by TestSwarm, it looks like this: >> http://localhost/changeset/3176/tests/unit/tabs/tabs.html?_=1251647444631&swarmURL=http%3A%2F%2Flocalhost%3Frun_id%3D111%26client_id%3D83%26state%3D >> >> The additional parameters cause QUnit to try and filter the tests to >> run, causing no test at all to run. >> >> Why isn't that happening with your QUnit tests? >> >> Jörn >> >> On Sun, Aug 30, 2009 at 2:13 PM, John Resig<[email protected]> wrote: >>> >>> The script looks fine, so I'm not sure. If you were able to host the >>> static files some where so that I could try and run them, that might >>> work. >>> >>> My guess is that the test files somehow aren't being included >>> properly. Maybe the URLs are off or something, I'm not sure. I would >>> check with Firebug (load up Firebug and see which scripts loaded and >>> which ones didn't). >>> >>> --John >>> >>> >>> >>> On Sun, Aug 30, 2009 at 7:16 AM, Jörn >>> Zaefferer<[email protected]> wrote: >>>> It looks like I have all pieces in place now: The files are served >>>> locally, each with the inject.js included. The links on the left of a >>>> job all point at the correct resources. I've verified that inject.js >>>> is executed correctly (verified via a console.log at the start of >>>> inject.js). Took me a bit to figure out that it doesn't do much unless >>>> its called with the testswarm-url-parameter (or DEBUG is enabled). >>>> >>>> I'm also running the latest QUnit revision, just updated that for >>>> jQuery UI trunk. >>>> >>>> Nonetheless, when having a TestSwarm client run a test, it finishes >>>> immediately, with no tests actually run (zero on black, result link >>>> shows green-passed with 0 of 0 tests passed). >>>> >>>> Any ideas what the culprit could be? >>>> >>>> I'll attach my script, maybe that helps. >>>> >>>> Jörn >>>> >>>> On Sat, Aug 29, 2009 at 6:19 PM, John Resig<[email protected]> wrote: >>>>> >>>>> No, the tests will be loading from wherever you've hosted them - in >>>>> this case, googlecode.com. Note that when I gave you the URL: >>>>> http://jquery-ui.googlecode.com/svn-history/r{REV}/trunk >>>>> >>>>> I left off the trailing slash. >>>>> >>>>> To inject into multiple files you would change this: >>>>> my $INJECT_FILE = "tests/unit/accordion/accordion.html"; >>>>> >>>>> to: >>>>> my $INJECT_FILE = "tests/unit/*/*.html"; >>>>> >>>>> You'll have to physically modify the scripts to include the injection >>>>> script - so unless you physically modify all the tests/*/*.html and >>>>> check those in to SVN, or host them on your own server with the >>>>> modification, it's not going to work. >>>>> >>>>> --John >>>>> >>>>> >>>>> >>>>> On Sat, Aug 29, 2009 at 12:03 PM, Jörn >>>>> Zaefferer<[email protected]> wrote: >>>>>> >>>>>> While the injection worked for the accordion, the test still didn't >>>>>> run properly. The iframe source pointed at >>>>>> http://jquery-ui.googlecode.com/svn-history/r3175/trunk//tests/unit/accordion/accordion.html?_=1251561565876&swarmURL=http%3A%2F%2Flocalhost%3Frun_id%3D33%26client_id%3D23%26state%3D >>>>>> Which doesn't contain the script. The double slash between trunk and >>>>>> tests is odd. Am I right to assume that these tests should be loaded >>>>>> from the local testswarm server, not from googlecode? >>>>>> >>>>>> Jörn >>>>>> >>>>>> On Sat, Aug 29, 2009 at 5:56 PM, Jörn >>>>>> Zaefferer<[email protected]> wrote: >>>>>>> Thanks, that worked. Probably the only remaining issue is the file >>>>>>> injection. Instead of just one file (test/index.html), each module has >>>>>>> a file that needs injection. For accordion it would be: >>>>>>> my $INJECT_FILE = "tests/unit/accordion/accordion.html"; >>>>>>> >>>>>>> So instead of a fixed string, it probably needs another regex for >>>>>>> that, ala "tests/unit/(.*)/*.html". Whats the right format for globa >>>>>>> to produce that $file variable? >>>>>>> >>>>>>> Jörn >>>>>>> >>>>>>> On Sat, Aug 29, 2009 at 5:21 PM, John Resig<[email protected]> wrote: >>>>>>>> >>>>>>>> Almost, it seems like it would be: >>>>>>>> http://jquery-ui.googlecode.com/svn-history/r{REV}/trunk >>>>>>>> >>>>>>>> --John >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Sat, Aug 29, 2009 at 11:05 AM, Jörn >>>>>>>> Zaefferer<[email protected]> wrote: >>>>>>>>> >>>>>>>>> Cool, so I'd use this as $SUITE, right? >>>>>>>>> http://jquery-ui.googlecode.com/svn-history/{REV}/trunk/ >>>>>>>>> >>>>>>>>> Jörn >>>>>>>>> >>>>>>>>> On Sat, Aug 29, 2009 at 5:02 PM, John Resig<[email protected]> wrote: >>>>>>>>>> >>>>>>>>>> Unique URL is important. For example if you submit revision 5 and >>>>>>>>>> it's >>>>>>>>>> half run then submit revision 6 - some people will be running >>>>>>>>>> revision >>>>>>>>>> 6 marked as revision 5, which is not ideal. >>>>>>>>>> >>>>>>>>>> Although, you could use a different URL, this would seem to run: >>>>>>>>>> http://jquery-ui.googlecode.com/svn-history/r3174/trunk/ >>>>>>>>>> >>>>>>>>>> --John >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sat, Aug 29, 2009 at 10:48 AM, Jörn >>>>>>>>>> Zaefferer<[email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>> Could $SUITE just point at the trunk URL? >>>>>>>>>>> http://jquery-ui.googlecode.com/svn/trunk/ >>>>>>>>>>> Or is it important to have each revision at a unique url? >>>>>>>>>>> >>>>>>>>>>> Jörn >>>>>>>>>>> >>>>>>>>>>> On Sat, Aug 29, 2009 at 3:28 PM, John Resig<[email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Well, first can this to point to your base test suite URL: >>>>>>>>>>>> "http://dev.jquery.com/~john/changeset/{REV}" >>>>>>>>>>>> >>>>>>>>>>>> Next it looks like you'd change the rest to: >>>>>>>>>>>> %SUITES = map { /(\w+).html$/; $1 => "$SUITE/$_"; } >>>>>>>>>>>> glob("tests/unit/*/*.html") >>>>>>>>>>>> >>>>>>>>>>>> Hope this helps! >>>>>>>>>>>> >>>>>>>>>>>> --John >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Sat, Aug 29, 2009 at 6:49 AM, Jörn >>>>>>>>>>>> Zaefferer<[email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> I've got TestSwarm working on my local machine, but having trouble >>>>>>>>>>>>> adapting your script, specificially this section: >>>>>>>>>>>>> >>>>>>>>>>>>> # All the suites that you wish to run within this job >>>>>>>>>>>>> # (can be any number of suites) >>>>>>>>>>>>> >>>>>>>>>>>>> my %SUITES = (); >>>>>>>>>>>>> >>>>>>>>>>>>> # Comment these out if you wish to define a custom set of SUITES >>>>>>>>>>>>> above >>>>>>>>>>>>> my $SUITE = "http://dev.jquery.com/~john/changeset/{REV}"; >>>>>>>>>>>>> sub BUILD_SUITES { >>>>>>>>>>>>> %SUITES = map { /(\w+).js$/; $1 => >>>>>>>>>>>>> "$SUITE/test/?$1%20module"; } >>>>>>>>>>>>> glob("test/unit/*.js"); >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> I'd put some hardcoded values into %SUITES, but I don't even know >>>>>>>>>>>>> what >>>>>>>>>>>>> format the script expects for that. How can I adapt that for >>>>>>>>>>>>> jQuery >>>>>>>>>>>>> UI? It would be nice to end up with tests for each widget in >>>>>>>>>>>>> their own >>>>>>>>>>>>> category: http://jquery-ui.googlecode.com/svn/trunk/tests/unit/ >>>>>>>>>>>>> >>>>>>>>>>>>> Jörn >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Aug 27, 2009 at 2:19 AM, John Resig<[email protected]> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> First, make sure that you have a script set up to automate the >>>>>>>>>>>>>> process >>>>>>>>>>>>>> of submitting a job (see the scripts inside the 'scripts' >>>>>>>>>>>>>> directory). >>>>>>>>>>>>>> >>>>>>>>>>>>>> Next, I'd recommend setting up a local TestSwarm to make sure and >>>>>>>>>>>>>> submitting to that to make sure that the code actually works >>>>>>>>>>>>>> correctly. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Finally, if that all works, I can give you your API key to >>>>>>>>>>>>>> submit to >>>>>>>>>>>>>> TestSwarm.com proper. >>>>>>>>>>>>>> >>>>>>>>>>>>>> --John >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wed, Aug 26, 2009 at 7:18 PM, Jörn >>>>>>>>>>>>>> Zaefferer<[email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I'd like to submit tests for jQuery UI. My account is >>>>>>>>>>>>>>> "joernzaefferer". >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Jörn >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> > >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> > >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> > >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> > >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> > >>>>>>>>>> >>>>>>>>> >>>>>>>>> > >>>>>>>>> >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>> >>>>>> >>>>>> > >>>>>> >>>>> >>>>> > >>>>> >>>> >>>> > >>>> >>> >>> > >>> >> >> > >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TestSwarm" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/testswarm?hl=en -~----------~----~----~----~------~----~------~--~---
