mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
382c927895
It turns out that relying on the user to check return codes for every command was non-intuitive and resulted in many hard to trace bugs. Now most functinos just return "None", and raise a DMError when there's an exception. The exception to this are functions like dirExists, which now return booleans, and throw exceptions on error. This is a fairly major refactor, and also involved the following internal changes: * Removed FileError and AgentError exceptions, replaced with DMError (having to manage three different types of exceptions was confusing, all the more so when we're raising them) * Docstrings updated to remove references to return values where no longer relevant * pushFile no longer will create a directory to accomodate the file if it doesn't exist (this makes it consistent with devicemanagerADB) * dmSUT we validate the file, but assume that we get something back from the agent, instead of falling back to manual validation in the case that we didn't * isDir and dirExists had the same intention, but different implementations for dmSUT. Replaced the dmSUT impl of getDirectory with that of isDir's (which was much simpler). Removed isDir from devicemanager.py, since it wasn't used externally * killProcess modified to check for process existence before running (since the actual internal kill command will throw an exception if the process doesn't exist) In addition to all this, more unit tests have been added to test these changes for devicemanagerSUT. |
||
---|---|---|
.. | ||
chrome | ||
dynamic | ||
MochiKit | ||
pywebsocket | ||
roboextender | ||
ssltunnel | ||
static | ||
tests | ||
android.json | ||
browser-harness.xul | ||
browser-test-overlay.xul | ||
browser-test.js | ||
cc-analyzer.js | ||
chrome-harness.js | ||
gen_template.pl | ||
harness-overlay.xul | ||
harness.xul | ||
install.rdf | ||
jar.mn | ||
Makefile.in | ||
plain-loop.html | ||
pywebsocket_wrapper.py | ||
README.txt | ||
redirect.html | ||
runtests.py | ||
runtestsb2g.py | ||
runtestsremote.py | ||
runtestsvmware.py | ||
server.js |
---------------- mochitest README ---------------- Steps to get started: 1.) Run the runtests.pl script to start the server. Currently, the test script automatically determines the location of *Firefox*. 2.) gen_template.pl will generate test templates for HTML, XUL, and XHTML. Read the comment at the top of the file for usage instructions. 3.) Write a test. Example test: <!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=345656 --> <head> <title>Test for Bug 345656</title> <script type="text/javascript" src="/MochiKit/MochiKit.js"></script> <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> </head> <body> <p id="display"></p> <div id="content" style="display: none"> </div> <pre id="test"> <script class="testbody" type="text/javascript"> /** Test for Bug 345656 **/ // //add information to show on the test page // $("display").innerHTML = "doing stuff..."; // // The '$' is function is shorthand for getElementById. This is the same thing: // document.getElementById("display").innerHTML = "doing stuff..."; // // you can add content that you don't want to clutter // the display to the content div. // // You can write directly, or you can use MochiKit functions // to do it in JS like this: // appendChildNodes($("content"), DIV({class: "qux"}, SPAN({id: "span42"}, "content")) ); // // the ok() function is like assert // ok(true, "checking to see if true is true); // // this will fail // ok(1==2, "1 equals 2?"); // // this will be marked as a todo. // When we fix 1 so it equals 2, we'll need to change this // function to ok() or is(). // todo(1==2, "1 equals 2?"); // // is() takes two args // myVar = "foo"; is(myVar, "foo", "checking to see if myVar is 'foo'"); // // Tests can run in event handlers. // Call this to tell SimpleTest to wait for SimpleTest.finish() // SimpleTest.waitForExplicitFinish(); // // event handler: // function event_fired(ev) { is(ev.newValue, "width: auto;", "DOMAttrModified event reports correct newValue"); SimpleTest.finish(); // trigger the end of our test sequence } // // Hook up the event. Mochikit.Signal has many conveniences for this, if you want. // $("content").addEventListener("DOMAttrModified", event_fired, false); // // Fire the event. // $("content").style.width = "auto"; </script> </pre> </body> </html>