OLD | NEW |
| (Empty) |
1 typ (Test Your Program) | |
2 ======================= | |
3 typ is a simple program for testing command line executables and Python code. | |
4 | |
5 When testing Python code, it is basically a wrapper around the standard | |
6 unittest module, but it provides the following bits of additional | |
7 functionality: | |
8 | |
9 * Parallel test execution. | |
10 * Clean output in the style of the Ninja build tool. | |
11 * A more flexible mechanism for discovering tests from the | |
12 command line and controlling how they are run: | |
13 | |
14 * Support for importing tests by directory, filename, or module. | |
15 * Support for specifying tests to skip, tests to run in parallel, | |
16 and tests that need to be run by themselves | |
17 | |
18 * Support for producing traces of test times compatible with Chrome's | |
19 tracing infrastructure (trace_viewer). | |
20 * Integrated test coverage reporting (including parallel coverage). | |
21 * Integrated support for debugging tests. | |
22 * Support for uploading test results automatically to a server | |
23 (useful for continuous integration monitoring of test results). | |
24 * An abstraction of operating system functionality called the | |
25 Host class. This can be used by other python code to write more | |
26 portable and easily testable code by wrapping the multiprocessing, | |
27 os, subprocess, and time modules. | |
28 * Simple libraries for integrating Ninja-style statistics and line | |
29 printing into your own code (the Stats and Printer classes). | |
30 * Support for processing arbitrary arguments from calling code to | |
31 test cases. | |
32 * Support for once-per-process setup and teardown hooks. | |
33 | |
34 (These last two bullet points allow one to write tests that do not require | |
35 Python globals). | |
36 | |
37 History | |
38 ------- | |
39 | |
40 typ originated out of work on the Blink and Chromium projects, as a way to | |
41 provide a friendlier interface to the Python unittest modules. | |
42 | |
43 Work remaining | |
44 -------------- | |
45 | |
46 typ is still a work in progress, but it's getting close to being done. | |
47 Things remaining for 1.0, roughly in priority order: | |
48 | |
49 - Implement a non-python file format for testing command line interfaces | |
50 - Write documentation | |
51 | |
52 Possible future work | |
53 -------------------- | |
54 | |
55 - MainTestCase.check() improvements: | |
56 | |
57 - check all arguments and show all errors at once? | |
58 - make multi-line regexp matches easier to follow? | |
59 | |
60 - --debugger improvements: | |
61 | |
62 - make it skip the initial breakpoint? | |
63 | |
64 - Support testing javascript, java, c++/gtest-style binaries? | |
65 - Support for test sharding in addition to parallel execution (so that | |
66 run-webkit-tests can re-use as much of the code as possible)? | |
67 - Support for non-unittest runtest invocation (for run-webkit-tests, | |
68 other harnesses?) | |
OLD | NEW |