gecko-dev/testing/mozbase
Gregory Szorc 63c60857b5 Bug 1116194 - Catch errors calling psutil; r=ted
The build system / mach currently has a very hacky virtualenv setup.
Essentially, it resorts to sys.path munging instead of a proper,
isolated environment.

During initialization, mach installs python/psutil in sys.path. Later
on, some code does an |import psutil|. This fails iff the psutil C
extension can't be found.

If there is a psutil C extension installed outside of mach and
python/psutil, |import psutil| may load it. The version mismatch isn't
detected until an extension-using psutil API is called. This has
manifested inside |mach build| via the resource monitor as an
|AttributeError: 'module' object has no attribute 'linux_sysinfo'|
exception during psutil.virtual_memory().

The proper fix for this is for the Python environment to ensure the
psutil C extension is built before attempting to import and use psutil.
Arguably, psutil itself should perform some kind of version check when
it imports the C extension to ensure things are in sync and fail at
import time.

Fixing mach and the build system Python environment to build psutil
earlier/properly is a long outstanding bug. It needs to be addressed.
But it is considerable effort. This patch continues the long history of
wallpapering over psutil import/run failures because using a proper
virutalenv from mach/build system is a lot of work. Sad panda.

--HG--
extra : rebase_source : 5c449d69c0fd907ea8359ac721ef6287baa4f10e
2014-12-29 12:06:21 -08:00
..
docs Bug 1055765 - Implement log buffering as a handler in mozlog.;r=jgraham 2014-12-12 12:08:31 -05:00
manifestparser Bug 1113284 - Bump manifestparser to 0.9. r=ahal 2014-12-18 21:00:35 +01:00
mozcrash Bug 1093328 - Limit crashreports to first 10 minidumps; r=ted 2014-11-04 08:17:19 -07:00
mozdebug Bug 1075072 - Pass debuggerArgs as a string to get_debugger_info. r=ted 2014-10-24 09:40:00 -04:00
mozdevice Bug 1110817 - [mozdevice] - adb_android.is_device_ready - UnboundLocalError: local variable 'data' referenced before assignment, r=wlach. 2014-12-14 18:18:39 -08:00
mozfile Bug 859422 - Document why mozfile.remove works better than shutil.rmtree. r=wlach 2014-10-11 10:33:00 -04:00
mozhttpd
mozinfo Bug 1008943 - mozinfo should be cheaper to import. r=ahal 2014-10-20 02:57:00 +02:00
mozinstall Bug 1095151 - [mozinstall] Don't show finder window when installing a dmg on mac. r=whimboo 2014-11-06 23:29:03 +01:00
mozlog Bug 1065406 - [mozlog] Split test class and name for XUnit formatter. r=jgraham 2014-12-16 16:02:00 +01:00
moznetwork
mozprocess Backed out changeset 88a15054f99f (bug 794984) for suspicion of "causing" Mulet mochitest crashes (and possible Linux32 mochitest-e10s-dt as well). 2014-12-18 18:11:13 -05:00
mozprofile Bug 1058433 - nsPermissionManager now records the mod-time of a permission and allows removal of ones modified since a specified time. r=ehsan 2014-09-15 11:33:12 +10:00
mozrunner Bug 1111727 - Bump mozrunner to version 6.7, r=whimboo 2014-12-16 09:31:06 -05:00
mozsystemmonitor Bug 1116194 - Catch errors calling psutil; r=ted 2014-12-29 12:06:21 -08:00
moztest Bug 1065406 - [mozlog] Split test class and name for XUnit formatter. r=jgraham 2014-12-16 16:02:00 +01:00
mozversion Bug 1105995 - [mozversion] Bump version to 1.1. r=wlachance 2014-12-02 05:31:07 -08:00
Makefile.in Bug 976733 - part 3 - convert testing/mozbase/ to use TEST_HARNESS_FILES; r=gps 2014-08-29 11:03:11 -04:00
moz.build Bug 976733 - part 3 - convert testing/mozbase/ to use TEST_HARNESS_FILES; r=gps 2014-08-29 11:03:11 -04:00
packages.txt
README.md
setup_development.py
test-manifest.ini
test.py Bug 1078869 - Structured logging for mozbase unit tests. r=ahal 2014-10-06 20:20:38 -04:00
versioninfo.py

Mozbase

Mozbase is a set of easy-to-use Python packages forming a supplemental standard library for Mozilla. It provides consistency and reduces redundancy in automation and other system-level software. All of Mozilla's test harnesses use mozbase to some degree, including Talos, mochitest, reftest, Autophone, and Eideticker.

Learn more about mozbase at the project page.

Read detailed docs online, or build them locally by running "make html" in the docs directory.

Consult open bugs and feel free to file new bugs.