Apama 10.15.4 | Release Notes | What's New In Apama 10.15.4 | PySys changes in 10.15.4
 
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.