Open
Description
Based on the work thus far and issues remaining, I'm starting to see v2.0 as encompassing three main categories: features, platforms, and interferences.
The hope here is to use this issue as a classification/sorting mechanism, linking to other, task-specific issues (and maybe Projects?) to help keep
Features
Issue for overall v2.0 public API at #42.
- Mocks/wraps that match the
TextIOWrapper
nature of the actualsys.stdfoo
. - Flexible instantiation
- Which streams mocked, and in what manner, etc. (WIP: Flexible instantiation #64, Re-evaluate/re-design capturing stderr by default #46)
- Fine control over piping/teeing/etc.
- Logging (Debug level logging #43; Timestamped index to buffer #65 is related)
- Direct wrapping of
print
(Wrappingprint
builtin #74) - Convenient platform-specific EOL handling/normalization (Option to normalise Windows EOL #80)
- Support for providing bytes to mocked
stdin
, and for streams to emit bytes (Add support for bytes in init_text arg of stdio_mgr #36)
Platforms
- CPython 3.x(Linux, Windows, MacOS)
- Python 2 (? Python 2.7 backport #34)
- MicroPython (Test alternative Python implementations #81, unittest compatible subset of test suite #89)
- Jython (if/when it reaches Py3; Test alternative Python implementations #81 (comment))
- IronPython (if/when it reaches stable Py3; Test alternative Python implementations #81 (comment))
- QPython3 (Test alternative Python implementations #81 (comment))
- Termux? (Test alternative Python implementations #81 (comment))
- Android CrystaX NDK (Test alternative Python implementations #81)
Interferences
- pytest (e.g., POC: Reconfigure existing streams #78)
- doctest (Testing against console libraries #71)
- colorama (Testing against console libraries #71)
- readline &c. (Testing against console libraries #71)
- stdlib logging (Stdlib logging references sys.error on import #73)
- ...