Update Mozmill/Mozrunner/Jsbridge to allow software update tests for multiple builds

VERIFIED FIXED

Status

Testing Graveyard
Mozmill
VERIFIED FIXED
9 years ago
2 years ago

People

(Reporter: whimboo, Assigned: whimboo)

Tracking

Details

(Whiteboard: [verified-mozmill-1.2.4][mozmill-doc-needed])

Attachments

(3 attachments)

All three components of Mozmill (Mozmill/Mozrunner/JSBridge) have to be updated to allow multiple runs for different builds. This bug will track this work. I have created branches on Github which will show the latest state:

http://github.com/whimboo/mozmill/tree/parser
http://github.com/whimboo/mozrunner/tree/parser
http://github.com/whimboo/jsbridge/tree/parser

I still have to get the following components working:
* Exchange persisted data between Python and the tests itself
* Reset all the data for the next test run
Assignee: nobody → hskupin
Status: NEW → ASSIGNED
(In reply to comment #0)
> * Exchange persisted data between Python and the tests itself

I was able to get this part working. The initial implementation for persisted data was broken when you wanted to initialize the object in the Python script itself. Nothing has been send to the test. The trick with persisted.__dict__ is the right way.

> * Reset all the data for the next test run

A big chunk of code in all modules have been refactored to make it usable for multiple test-runs and that consumers can make it more configurable. All those parts are necessary for my software update tests.

Some more comment to the changes:
* the pre-filled lists for global and normal listeners should be part of MozMill itself and should be called directly when the network is created. That way sub-classes don't have to take care about the assignment to the internal back channel. Mikeal, can you point me to a doc or the code how other listeners could be implemented. Also having the possibility to add callback to Python code would be great.

* Probably we should also get rid of the mozmill_class declaration in each sub class. I believe this should be a part of the constructor and would make it more obvious. I haven't changed it yet. Instead I have added the instantiation directly to the constructor so the .mozmill attribute is always available and can be used in any sub class too, e.g. to set values for the persisted attribute. With a local object as it has been used so far there was no way for me to supply user defined data. 

* I have also removed the second call to clear_profile which has been called if tests fail during the test run.

Mikeal, it would be great when you could have a look at the current parser branch version.
Created attachment 408709 [details] [diff] [review]
Mozmill Patch

That's the final patch for Mozmill
Created attachment 408710 [details] [diff] [review]
JSBridge Patch

That's the final patch for JSBridge
Created attachment 408711 [details] [diff] [review]
Mozrunner Patch

That's the final patch for Mozrunner
Attachment #408710 - Attachment is patch: true
My branch has been merged into Mikeal's master:
http://github.com/mikeal/mozmill/commits/78dac228712a3aa41cb1798d10f37800ca2a2b72
Status: ASSIGNED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
This will need updates to http://mikeal.github.com/mozrunner/#mozrunner.CLI.parser_options
Whiteboard: [mozmill-1.2.4][mozmill-doc-needed]
Yesterdays update tests pass without any issues. Marking verified fixed.
Status: RESOLVED → VERIFIED
Whiteboard: [mozmill-1.2.4][mozmill-doc-needed] → [verified-mozmill-1.2.4][mozmill-doc-needed]
Depends on: 527159
Product: Testing → Testing Graveyard
You need to log in before you can comment on or make changes to this bug.