jQuery UI is now on TestSwarm: http://testswarm.com/user/jqueryui/
Submitting jobs is not yet fully automated, but otherwise it works! Thanks to John for creating TestSwarm and helping us getting it running, as well as everyone who is participating as test clients. Jörn On Tue, Sep 1, 2009 at 3:23 PM, John Resig <[email protected]> wrote: > I should also mention that you can always use the online form located at: > http://localhost/?state=addjob > > Knowing that you should be able to automate it as you please. > > --John > > > On Tue, Sep 1, 2009 at 9:22 AM, John Resig <[email protected]> wrote: >> >> Yeah, you would do: >> >> ( >> 'accordion' => >> "http://jquery-ui.googlecode.com/svn-history/r{REV}/trunk/tests/unit/accordion/accordion.html", >> 'tabs' => >> http://jquery-ui.googlecode.com/svn-history/r{REV}/trunk/tests/unit/tabs/tabs.html", >> ... >> ) >> >> If you do that you should probably comment out the logic for downloading >> the code from SVN and write new logic for detecting when a new commit has >> occurred. >> >> --John >> >> >> On Tue, Sep 1, 2009 at 5:06 AM, Jörn Zaefferer >> <[email protected]> wrote: >>> >>> Also, I'd like to include the inject-stuff in jQuery UI's testsuite, >>> allowing us to run testswarm jobs directly from Googlecode. >>> >>> How can I predefine the suites to run in the script? >>> >>> my %SUITES = ([insert something here]?); >>> >>> It should end up with something like this: >>> >>> [{accordion: >>> "http://jquery-ui.googlecode.com/svn-history/r{REV}/trunk/tests/unit/accordion/accordion.html", >>> {tabs: >>> http://jquery-ui.googlecode.com/svn-history/r{REV}/trunk/tests/unit/tabs/tabs.html"}, >>> ...] >>> >>> Jörn >>> >>> On Tue, Sep 1, 2009 at 10:54 AM, Jörn >>> Zaefferer<[email protected]> wrote: >>> > Not really getting anywhere with that. I noticed that the testSwarm >>> > url looks like this: http://localhost?run_id=137&client_id=93&state= >>> > >>> > Seems the state-paremeter is missing. Any idea how that could happen? >>> > And what should be the correct value? "saverun"? >>> > >>> > Jörn >>> > >>> > On Mon, Aug 31, 2009 at 2:43 AM, John Resig<[email protected]> wrote: >>> >> >>> >> Hmm, sounds like the reporting callback isn't getting triggered. Make >>> >> sure that QUnit is current and that the correct URL is being loaded in >>> >> the iframe. I'd load up the iframe URL in a new window and if no >>> >> errors are being thrown then it's a problem with the inject script >>> >> being loaded/attached. >>> >> >>> >> You could always copy the inject script local and turn DEBUG = true >>> >> (just make sure to put it back to the normal script before moving on). >>> >> >>> >> --John >>> >> >>> >> >>> >> >>> >> On Sun, Aug 30, 2009 at 3:47 PM, Jörn >>> >> Zaefferer<[email protected]> wrote: >>> >>> >>> >>> 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 -~----------~----~----~----~------~----~------~--~---
