Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Unified Diff: third_party/typ/README.rst

Issue 627763002: Add new 'typ' python testing framework to third_party/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: upload to typ v0.8.1, update README.chromium Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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?)

Powered by Google App Engine
This is Rietveld 408576698