<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments for Traceback (most recent call last):</title>
	<atom:link href="http://www.mikealrogers.com/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mikealrogers.com</link>
	<description></description>
	<pubDate>Wed, 07 Jan 2009 12:39:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>Comment on Windmill Reporting by mikeal</title>
		<link>http://www.mikealrogers.com/archives/46#comment-110</link>
		<dc:creator>mikeal</dc:creator>
		<pubDate>Mon, 29 Dec 2008 20:56:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=46#comment-110</guid>
		<description>So functest (the framework that windmill embeds) traverses up all your test modules. Any directory with __init__.py is a valid test module. You can use the directory/module hierarchy to separate out different test functionality. If you're writing a reporter class you probably want it to work with all your tests so you would want to stick it at the top of the module hierarchy.

But regardless of where you put the class, if it's in a test module that gets run it will be registered when the module is loaded. So if you put it in the folder your test is in, it should work, if not then something is wrong.

If something seems very off you can come on to IRC in #windmill on irc.freenode.net and someone should be around to help you debug it. Although right now during the holidays people seem to have been away a bit more.</description>
		<content:encoded><![CDATA[<p>So functest (the framework that windmill embeds) traverses up all your test modules. Any directory with __init__.py is a valid test module. You can use the directory/module hierarchy to separate out different test functionality. If you&#8217;re writing a reporter class you probably want it to work with all your tests so you would want to stick it at the top of the module hierarchy.</p>
<p>But regardless of where you put the class, if it&#8217;s in a test module that gets run it will be registered when the module is loaded. So if you put it in the folder your test is in, it should work, if not then something is wrong.</p>
<p>If something seems very off you can come on to IRC in #windmill on irc.freenode.net and someone should be around to help you debug it. Although right now during the holidays people seem to have been away a bit more.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Windmill Reporting by cyril</title>
		<link>http://www.mikealrogers.com/archives/46#comment-109</link>
		<dc:creator>cyril</dc:creator>
		<pubDate>Mon, 29 Dec 2008 20:48:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=46#comment-109</guid>
		<description>Hi,

I am not fluent at all in python so I don t know where I should put this __init__.py 

I try putting it in the same folder than my test but it did not work.

The response is probably here "you add a simple class to the highest level __init__.py with your report code" but I don t understand the meaning of this sentence.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I am not fluent at all in python so I don t know where I should put this __init__.py </p>
<p>I try putting it in the same folder than my test but it did not work.</p>
<p>The response is probably here &#8220;you add a simple class to the highest level __init__.py with your report code&#8221; but I don t understand the meaning of this sentence.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Windmill 0.9.1 Released by FireUnit first impressions &#124; Traceback (most recent call last):</title>
		<link>http://www.mikealrogers.com/archives/168#comment-95</link>
		<dc:creator>FireUnit first impressions &#124; Traceback (most recent call last):</dc:creator>
		<pubDate>Fri, 19 Dec 2008 00:37:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=168#comment-95</guid>
		<description>[...] web than Firebug. A big part of Windmill&#8217;s debugging strategy is it&#8217;s integration of Firebug and Firebug Lite because there is just no better tool in the world. Firebug [...]</description>
		<content:encoded><![CDATA[<p>[...] web than Firebug. A big part of Windmill&#8217;s debugging strategy is it&#8217;s integration of Firebug and Firebug Lite because there is just no better tool in the world. Firebug [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on MozMill 1.0RC2 w/ Test Recorder by Standard8&#8217;s Blog &#187; Blog Archive &#187; Random Happenings 2</title>
		<link>http://www.mikealrogers.com/archives/248#comment-84</link>
		<dc:creator>Standard8&#8217;s Blog &#187; Blog Archive &#187; Random Happenings 2</dc:creator>
		<pubDate>Thu, 11 Dec 2008 10:38:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=248#comment-84</guid>
		<description>[...] been working on integrating MozMill into our Leak and Bloat scripts. This still needs one issue resolving then some tidy up, hoping to [...]</description>
		<content:encoded><![CDATA[<p>[...] been working on integrating MozMill into our Leak and Bloat scripts. This still needs one issue resolving then some tidy up, hoping to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using the mozmill menu API by mikeal</title>
		<link>http://www.mikealrogers.com/archives/262#comment-77</link>
		<dc:creator>mikeal</dc:creator>
		<pubDate>Wed, 03 Dec 2008 23:55:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=262#comment-77</guid>
		<description>This menu API is intended for functional test developers to have an easy way to simulate menu usage in their tests. Doing them by name is the simplest API for that use case. 

If the localization testers want a different API then we can write one specifically for that use case, but having the default API for functional test developers be by position or id requires them to know more about the menu definition internals than any of our functional testers know.

Not having an abstraction API like this one for your specific needs doesn't block you from testing the menu's the way you would like, you'll just need to pull out the elements on your own. You can look at the menu API code to get you on your feet;

http://code.google.com/p/mozmill/source/browse/trunk/mozmill/extension/resource/modules/controller.js#115
http://code.google.com/p/mozmill/source/browse/trunk/mozmill/extension/resource/modules/controller.js#141</description>
		<content:encoded><![CDATA[<p>This menu API is intended for functional test developers to have an easy way to simulate menu usage in their tests. Doing them by name is the simplest API for that use case. </p>
<p>If the localization testers want a different API then we can write one specifically for that use case, but having the default API for functional test developers be by position or id requires them to know more about the menu definition internals than any of our functional testers know.</p>
<p>Not having an abstraction API like this one for your specific needs doesn&#8217;t block you from testing the menu&#8217;s the way you would like, you&#8217;ll just need to pull out the elements on your own. You can look at the menu API code to get you on your feet;</p>
<p><a href="http://code.google.com/p/mozmill/source/browse/trunk/mozmill/extension/resource/modules/controller.js#115" rel="nofollow">http://code.google.com/p/mozmill/source/browse/trunk/mozmill/extension/resource/modules/controller.js#115</a><br />
<a href="http://code.google.com/p/mozmill/source/browse/trunk/mozmill/extension/resource/modules/controller.js#141" rel="nofollow">http://code.google.com/p/mozmill/source/browse/trunk/mozmill/extension/resource/modules/controller.js#141</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using the mozmill menu API by Axel Hecht</title>
		<link>http://www.mikealrogers.com/archives/262#comment-76</link>
		<dc:creator>Axel Hecht</dc:creator>
		<pubDate>Wed, 03 Dec 2008 15:07:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=262#comment-76</guid>
		<description>I'd welcome APIs to either refer to menu items by position or by id, for the same reasons that Sebastian mentioned.

I have a testing extension that opens all menu items one by one, and being able to do that in a cross platform manner would be cool. But I'd need to have it in a way that's independent of the localization used.

Same would go for testing localized extensions, something I'm thinking about as well.</description>
		<content:encoded><![CDATA[<p>I&#8217;d welcome APIs to either refer to menu items by position or by id, for the same reasons that Sebastian mentioned.</p>
<p>I have a testing extension that opens all menu items one by one, and being able to do that in a cross platform manner would be cool. But I&#8217;d need to have it in a way that&#8217;s independent of the localization used.</p>
<p>Same would go for testing localized extensions, something I&#8217;m thinking about as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using the mozmill menu API by mikeal</title>
		<link>http://www.mikealrogers.com/archives/262#comment-74</link>
		<dc:creator>mikeal</dc:creator>
		<pubDate>Wed, 03 Dec 2008 10:47:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=262#comment-74</guid>
		<description>The menu is created by looking up elements by name, so in a localized Firefox the names should be localized.</description>
		<content:encoded><![CDATA[<p>The menu is created by looking up elements by name, so in a localized Firefox the names should be localized.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using the mozmill menu API by Sebastian Redl</title>
		<link>http://www.mikealrogers.com/archives/262#comment-73</link>
		<dc:creator>Sebastian Redl</dc:creator>
		<pubDate>Wed, 03 Dec 2008 08:07:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=262#comment-73</guid>
		<description>This sounds completely useless. What happens in a localized Firefox?</description>
		<content:encoded><![CDATA[<p>This sounds completely useless. What happens in a localized Firefox?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using mozmill for unittests by Boris</title>
		<link>http://www.mikealrogers.com/archives/252#comment-71</link>
		<dc:creator>Boris</dc:creator>
		<pubDate>Wed, 03 Dec 2008 04:47:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=252#comment-71</guid>
		<description>mikeal, as long as you have the tests themselves (which does require a build tree), you can in fact point a nightly at them (by having the python script just run it).  All the python script is needed for, really, is setting up the special profile.  We could get an effect similar to what you describe in terms of write/run/debug against any build at all by packaging up the tests and the profile creator (or even a created profile) and making those available.  If we package the profile creator that still requires python; if we don't, it just requires starting with the -profile option pointing to the given profile.

That said, simulating user interaction well is in fact something that we're missing from our testing story (it's possible to do a bit of it in mochitest, but it's cumbersome, often buggy, and certainly painful to use for things like popups or menus), and it's great to hear that this will fill that gap!  This certainly answers my question about what the goal is.

As far as covering the gaps in mochitest and our other tests... those gaps aren't due to boundaries per se, certainly not in mochitest.  All sorts of things _can_ be accomplished in mochitest right now (e.g. one could create signed jars on the fly).  The real problem is the lack of helpers to make those tasks easy to accomplish, which prevents effective writing of tests that exercise certain parts of the codebase.</description>
		<content:encoded><![CDATA[<p>mikeal, as long as you have the tests themselves (which does require a build tree), you can in fact point a nightly at them (by having the python script just run it).  All the python script is needed for, really, is setting up the special profile.  We could get an effect similar to what you describe in terms of write/run/debug against any build at all by packaging up the tests and the profile creator (or even a created profile) and making those available.  If we package the profile creator that still requires python; if we don&#8217;t, it just requires starting with the -profile option pointing to the given profile.</p>
<p>That said, simulating user interaction well is in fact something that we&#8217;re missing from our testing story (it&#8217;s possible to do a bit of it in mochitest, but it&#8217;s cumbersome, often buggy, and certainly painful to use for things like popups or menus), and it&#8217;s great to hear that this will fill that gap!  This certainly answers my question about what the goal is.</p>
<p>As far as covering the gaps in mochitest and our other tests&#8230; those gaps aren&#8217;t due to boundaries per se, certainly not in mochitest.  All sorts of things _can_ be accomplished in mochitest right now (e.g. one could create signed jars on the fly).  The real problem is the lack of helpers to make those tasks easy to accomplish, which prevents effective writing of tests that exercise certain parts of the codebase.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using mozmill for unittests by mikeal</title>
		<link>http://www.mikealrogers.com/archives/252#comment-70</link>
		<dc:creator>mikeal</dc:creator>
		<pubDate>Wed, 03 Dec 2008 02:15:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikealrogers.com/?p=252#comment-70</guid>
		<description>To my knowledge, you cannot download a nightly or release build of Firefox and run mochittests against it. You also cannot run the tests without running the Python script.

MozMill tests don't need to be defined "as chrome" (in the chrome manifest) in order to run in the privileged environment, the scripts are imported and run in that environment dynamically. 

MozMill was originally designed for funcitonal testing, it has a very large API set for simulating user interactions. Taking on unittesting is new to MozMill, this is our first set of features specifically targeted at unittesting. You can also mix and match unittesting and fucntional testing in MozMill (simulate some user interactions to trigger a certain code path, then use the jum to assert various properties).

The main advantage to using MozMill is that anyone in the community can install the extension and write/run/debug test scripts with ease against any release, debug, or nightly build. When tests are run in continuous integration the Python side (using jsbridge) integrates seamlessly but Python is not required to write/run/debug tests.

I'm not familiar enough with the problems you've described with mochitests to say whether MozMill handles them or not. MozMill's environment is intended to be simple and flexible in order to avoid most of the problems that come with creating big "framework" environments for testing, so it's possible that the boundaries you're seeing with mochitest don't exist in MozMill but I can't tell without more knowledge about the depth of the problems.</description>
		<content:encoded><![CDATA[<p>To my knowledge, you cannot download a nightly or release build of Firefox and run mochittests against it. You also cannot run the tests without running the Python script.</p>
<p>MozMill tests don&#8217;t need to be defined &#8220;as chrome&#8221; (in the chrome manifest) in order to run in the privileged environment, the scripts are imported and run in that environment dynamically. </p>
<p>MozMill was originally designed for funcitonal testing, it has a very large API set for simulating user interactions. Taking on unittesting is new to MozMill, this is our first set of features specifically targeted at unittesting. You can also mix and match unittesting and fucntional testing in MozMill (simulate some user interactions to trigger a certain code path, then use the jum to assert various properties).</p>
<p>The main advantage to using MozMill is that anyone in the community can install the extension and write/run/debug test scripts with ease against any release, debug, or nightly build. When tests are run in continuous integration the Python side (using jsbridge) integrates seamlessly but Python is not required to write/run/debug tests.</p>
<p>I&#8217;m not familiar enough with the problems you&#8217;ve described with mochitests to say whether MozMill handles them or not. MozMill&#8217;s environment is intended to be simple and flexible in order to avoid most of the problems that come with creating big &#8220;framework&#8221; environments for testing, so it&#8217;s possible that the boundaries you&#8217;re seeing with mochitest don&#8217;t exist in MozMill but I can&#8217;t tell without more knowledge about the depth of the problems.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
