Revision created by MOE tool init_codebases.

Revision created by MOE tool push_codebase.
MOE_MIGRATION=
Update apputils to latest version.
Change on 2011-01-13 12:28:30-08:00 by dbentley

	Add functions to basetest.


Revision created by MOE tool push_codebase.
MOE_MIGRATION=276
Revision created by MOE tool push_codebase.
MOE_MIGRATION=
Update of apputils


Revision created by MOE tool push_codebase.
MOE_MIGRATION=
Updates!


Revision created by MOE tool push_codebase.
MOE_MIGRATION=
Change on 2011-03-14 12:47:59-07:00

	Make StopWatch.results not corrupt the 'overhead' timer by calculating overhead
	without using a timer.

Other updates.

Revision created by MOE tool push_codebase.
MOE_MIGRATION=1263
Changes to app and basetest.


Revision created by MOE tool push_codebase.
MOE_MIGRATION=
- Increment version number
- Include ez_setup.py in download tarball so that "python setup.py install" works


Revision created by MOE tool push_codebase.
MOE_MIGRATION=1763
Change on 2011-06-14 14:51:50-07:00

	Added assertRaisesWithPredicateMatch() to allow arbitrary inspection of the raised exception; refactored more specialized assertRaisesWithRegexpMatch to use it.

Change on 2011-06-20 10:04:39-07:00

	Provide a better failure message for assertRaisesWithRegexpMatch.

	Implement the try/except/else logic directly so we can give a
	more informative error message than the text 'does not match
	predicate "<function _Predicate at 0xa3fce2c>"'

Change on 2011-07-12 02:34:12-07:00

	basetest: use re.search() instead of re.match()

	Existing assertRegexMatch() method used re.match() method with
	explicitly added "(.|\n)*" at the beginning and end of the
	regex that it built.

	First of all, the "(.|\n)*" at the end of the regex is not
	needed at all since re.match() matches from the beginning of
	the string but does not care about regex matching till the end
	(ie. it adds implicit "^" at the beginning of regex but no "$"
	at the end).

	Second of all, since we don't even care about matching from
	the beginning of the string, there is no need to use
	re.match() anyway.

	Because of the above, this CL replaces re.match() by
	re.search() and removes "(.|\n)*" from the created regex.

	Secondly, this CL removes regex compilation since the regex is
	used only once so there is no much point in worrying about
	compiling it (re.search() will do that anyway).  The call to
	re.compile() just added code that was not needed.

	Thirdly, this CL makes the function use non-capturing version
	of regular parentheses.  This is just a micro-optimisation
	made so that Python regex library does not need to worry about
	capturing the groups.

Change on 2011-07-18 13:59:25-07:00

	Add assertRaisesWithLiteralMatch.  Fix typo in the version from
	basetest_test.py and fix corresponding test.  Simplify formatting in other
	assertRaises methods.

Change on 2011-07-27 13:49:52-07:00

	Adding command alias support allowing the ability to have a short
	command name in addition to a standard command name.

Change on 2011-07-27 15:25:07-07:00

	Backtraces are useful for debugging, please don't hide them :-)

Change on 2011-07-28 15:56:53-07:00

	Adding the ability to display a different help message when multiple
	commands are displayed vs. the entire help with flags for a single
	command.

Change on 2011-08-04 09:57:05-07:00

	Updating doc note for cmd_names.

Change on 2011-09-14 16:02:02-07:00

	Loosen the dependency on a particular gflags version in google-apputils. This is
	needed for external programs, since python-gflags-1.4 isn't the current version
	(and no longer seems to be available on pypi or c.g.c).

	Bumped the rev to reflect the change.

Revision created by MOE tool push_codebase.
MOE_MIGRATION=3261
Update google-apputils-python.

Important changes:
-Use "google" as a namespace package so as not to conflict with other Google
 python projects.
-Make basetest.TestCase inherit from unittest2.TestCase (the implementation of
 which was originally derived from basetest).
-Fix a bug preventing the tests from being run.
-Depend on dateutil<2, since the latest version is not python2.x compatible.

Condensed change log:
-Fix BeforeAfterTestCaseMeta to allow multiple metaclasses.
-Fix 'help cmd' where 'cmd' is an alias.
-Allow arbitrary appcommand factory.
-Style fixes in app.py.
-Increase default maxDiff in TestCase.
-Use cProfile for profiling (by default).
Bump google-apputils-python version number.

Revision created by MOE tool push_codebase.
MOE_MIGRATION=4305
Update google-apputils-python.

Now requires at least python 2.6, and conversion to Python 3 compatibility is
well underway.

Other notable changes:
-Add a new humanize module for human-readable English naming.
-Add/improve a few asserts in basetest.
-Allow flag values to be registered via decorator.
-Support saving profile data to a file.

Revision created by MOE tool push_codebase.
MOE_MIGRATION=
Fix an over-strict dependency, update to 0.4.1.

There was an overzealous constraint on the dateutil module, which was causing
trouble for external users. This push fixes the problem, and picks up a few
small tweaks along the way.