gecko-dev/testing/mozbase
William Lachance c5f092dab4 Bug 795496 - Make mozdevice raise exceptions on error;r=ahal,jmaher
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.
2012-10-04 11:28:07 -04:00
..
manifestdestiny Bug 793739 - mirror mozbase to m-c for week of Sept 24, 2012 @ b12b008846;r=jhammel 2012-09-25 09:35:14 -07:00
mozb2g Bug 797144 - mirror mozbase -> m-c for bug 796863 @ db7f115a9e;r=wlach 2012-10-03 09:13:21 -07:00
mozcrash Bug 788842 - Mirror mozbase to m-c, r=jhammel 2012-09-07 17:58:39 -07:00
mozdevice Bug 795496 - Make mozdevice raise exceptions on error;r=ahal,jmaher 2012-10-04 11:28:07 -04:00
mozfile Bug 795943 - Mirror mozbase -> m-c for week of Oct 1 @ 22aa0aee78;r=wlach 2012-10-01 14:00:55 -07:00
mozhttpd Bug 788842 - Mirror mozbase to m-c, r=jhammel 2012-09-07 17:58:39 -07:00
mozinfo Bug 788842 - Mirror mozbase to m-c, r=jhammel 2012-09-07 17:58:39 -07:00
mozinstall Bug 790018 - bump version of manifestdestiny and mirror to m-c;r=mcote 2012-09-11 19:46:39 -07:00
mozlog Bug 788842 - Mirror mozbase to m-c, r=jhammel 2012-09-07 17:58:39 -07:00
mozprocess Bug 797144 - mirror mozbase -> m-c for bug 796863 @ db7f115a9e;r=wlach 2012-10-03 09:13:21 -07:00
mozprofile Bug 790018 - bump version of manifestdestiny and mirror to m-c;r=mcote 2012-09-11 19:46:39 -07:00
mozrunner Bug 790018 - bump version of manifestdestiny and mirror to m-c;r=mcote 2012-09-11 19:46:39 -07:00
moztest Bug 790018 - bump version of manifestdestiny and mirror to m-c;r=mcote 2012-09-11 19:46:39 -07:00
docs.manifest Bug 713256 - Mirror mozbase changes for working properly on buildslaves into m-c r=ctalbert 2011-12-23 12:46:37 -05:00
generate_diff.py bug 702832 follow up: add license header;r=wlach DONTBUILD because NPOTB 2012-09-14 14:17:32 -07:00
Makefile.in Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
README Bug 791716 - mirror mozbase -> m-c for week of Sept 17, 2012;r=wlach 2012-09-17 15:13:45 -07:00
setup_development.py Bug 775127 - Bump mozInstall version and release to pypi and update mozbase on mozilla central. r=ahalberstadt 2012-07-20 20:19:38 -04:00
test-manifest.ini Bug 795943 - Mirror mozbase -> m-c for week of Oct 1 @ 22aa0aee78;r=wlach 2012-10-01 14:00:55 -07:00
test.py Bug 790018 - bump version of manifestdestiny and mirror to m-c;r=mcote 2012-09-11 19:46:39 -07:00

This is the git repository for the Mozilla mozbase suite of python utilities.

MozBase is composed of several python packages. These packages work
together to form the basis of a test harness.

* Firefox is launched via [mozrunner](https://github.com/mozilla/mozbase/tree/master/mozrunner)
** which sets up a profile with preferences and extensions using
   [mozprofile ](https://github.com/mozilla/mozbase/tree/master/mozprofile)
** and runs the application under test using [mozprocess](https://github.com/mozilla/mozbase/tree/master/mozprocess)
* [mozInstall](https://github.com/mozilla/mozbase/tree/master/mozinstall) is used to install the test application
* A test harness may direct Firefox to load web pages. These may be
  served using [mozhttpd](https://github.com/mozilla/mozbase/tree/master/mozhttpd) for testing
* The machine environment is introspected by [mozinfo](https://github.com/mozilla/mozbase/tree/master/mozinfo)
* A test manifest may be read to determine the tests to be run. These
  manifests are processed by [ManifestDestiny](https://github.com/mozilla/mozbase/tree/master/manifestdestiny)
* For mobile testing, the test runner communicates to the test agent
  using [mozdevice](https://github.com/mozilla/mozbase/tree/master/mozdevice)

Learn more about mozbase here:
https://wiki.mozilla.org/Auto-tools/Projects/MozBase

Bugs live at
https://bugzilla.mozilla.org/buglist.cgi?resolution=---&component=Mozbase&product=Testing and https://bugzilla.mozilla.org/buglist.cgi?resolution=---&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=mozbase

To file a bug, go to
https://bugzilla.mozilla.org/enter_bug.cgi?product=Testing&component=Mozbase