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
-~----------~----~----~----~------~----~------~--~---

Reply via email to