| Index: third_party/typ/README.rst
|
| diff --git a/third_party/typ/README.rst b/third_party/typ/README.rst
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..217683f24487ba6db47e7eeeeefb0609c47fa03d
|
| --- /dev/null
|
| +++ b/third_party/typ/README.rst
|
| @@ -0,0 +1,71 @@
|
| +typ (Test Your Program)
|
| +=======================
|
| +typ is a simple program for testing command line executables and Python code.
|
| +
|
| +When testing Python code, it is basically a wrapper around the standard
|
| +unittest module, but it provides the following bits of additional
|
| +functionality:
|
| +
|
| +* Parallel test execution.
|
| +* Clean output in the style of the Ninja build tool.
|
| +* A more flexible mechanism for discovering tests from the
|
| + command line and controlling how they are run:
|
| +
|
| + * Support for importing tests by directory, filename, or module.
|
| + * Support for specifying tests to skip, tests to run in parallel,
|
| + and tests that need to be run by themselves
|
| +
|
| +* Support for producing traces of test times compatible with Chrome's
|
| + tracing infrastructure (trace_viewer).
|
| +* Integrated test coverage reporting (including parallel coverage).
|
| +* Integrated support for debugging tests.
|
| +* Support for uploading test results automatically to a server
|
| + (useful for continuous integration monitoring of test results).
|
| +* An abstraction of operating system functionality called the
|
| + Host class. This can be used by other python code to write more
|
| + portable and easily testable code by wrapping the multiprocessing,
|
| + os, subprocess, and time modules.
|
| +* Simple libraries for integrating Ninja-style statistics and line
|
| + printing into your own code (the Stats and Printer classes).
|
| +* Support for processing arbitrary arguments from calling code to
|
| + test cases.
|
| +* Support for once-per-process setup and teardown hooks.
|
| +
|
| +(These last two bullet points allow one to write tests that do not require
|
| +Python globals).
|
| +
|
| +History
|
| +-------
|
| +
|
| +typ originated out of work on the Blink and Chromium projects, as a way to
|
| +provide a friendlier interface to the Python unittest modules.
|
| +
|
| +Work remaining
|
| +--------------
|
| +
|
| +typ is still a work in progress, but it's getting close to being done.
|
| +Things remaining for 1.0, roughly in priority order:
|
| +
|
| +- Add input validation on all of the public APIs.
|
| +- Get test coverage for the remaining untested code.
|
| +- Implement a non-python file format for testing command line interfaces
|
| +- Write documentation
|
| +
|
| +Possible future work
|
| +--------------------
|
| +
|
| +- MainTestCase.check() improvements:
|
| +
|
| + - check all arguments and show all errors at once?
|
| + - make multi-line regexp matches easier to follow?
|
| +
|
| +- --debugger improvements:
|
| +
|
| + - make it skip the initial breakpoint?
|
| + - make it play nicely w/ TestCase.check()?
|
| +
|
| +- Support testing javascript, java, c++/gtest-style binaries?
|
| +- Support for test sharding in addition to parallel execution (so that
|
| + run-webkit-tests can re-use as much of the code as possible)?
|
| +- Support for non-unittest runtest invocation (for run-webkit-tests,
|
| + other harnesses?)
|
|
|