PySys changes in 10.15.4
This release of Apama ships with a new version of PySys, version 2.2.
The new version improves usability of the pysys command line, gives a better experience editing and running tests from IDEs, improves Ctrl+C cancellation handling, and adds a few new methods and parameters you can use in your tests.
Some highlights in this release are:

Instead of running
pysys print, you can use the equivalent
pysys ls to save some typing. Try out the new
--verbose flag which groups related tests (sorting by title), and prints the full path of each test file (for example,
XXX/pysystest.py) so you can easily open up any tests of interest directly from your IDE or shell.

Now that
pysys run accepts directory paths (not only test ids), you can use your shell's directory tab completion to help specify the tests to run.

Get better code completion and avoid warnings when editing tests inside your Python-enabled IDE/editor by following the new best practices described in the PySys documentation. For example, use mix-in helper classes (not
<test-plugin>) for sharing logic between tests, use
import pysys.basetest, pysys.mappers not
import pysys at the start of all tests, and make sure references to
pysys.basetest.BaseTest in your test class inheritance list are fully qualified. To use a Python IDE with PySys, configure it to use the Python that is installed by the full version of Apama. If your project has any custom Python extensions configured with a
<pythonpath> element, you should add that to your editor's
PYTHONPATH too.

Use the new
BaseTest.assertGrepOfGrep() method if you are extracting a line of text from a file and then validating it with a regular expression. You will get much more descriptive messages if a test fails using this approach rather than doing it all in a single
assertGrep.

See also the new
BaseTest.createThreadPoolExecutor,
BaseTest.listDirContents and
pysys.mappers.IncludeMatches methods.
There are also several bug fixes and minor enhancements. See the PySys Change Log (
PySys Test Framework > Change Log in the
API Reference for Python) for more information. There are no breaking changes in this release.