There is currently no mechanism in place to provide tests for Shell-Pepper functionality, to validate the behavior of new code and provide a means to detect regression. That must change.
It may be worth using an established testing framework such as pytest to manage the tests. Pytest in particular could be a good choice as the Python language provides a lot of functionality that will be useful for testing the behavior of the library.
Acceptance Criteria
A testing framework must be established for the project: Conventions should be established for where to place new tests and how to run them.
Where possible, tests should be applied to all supported target shells: Presently Bash, Korn Shell, and Zsh are planned as targets. The behavior of the three shells differs enough that meaningfully testing behavior across all three with the same test code could be challenging (and some library features may even work differently in different shells, to take advantage of each environment's capabilities) so this may require some thought.
A set of tests should be created for features that are already implemented: Going forward, tests should be implemented when features are added or bugs are fixed. Functionality that's already provided should be given test coverage to provide the initial set of tests.
Diff: