Add Telnet regression test suite
This commit is contained in:
@@ -47,18 +47,29 @@ The output and command fields provide additional actions through their context m
|
||||
|
||||
The protocol and session layers are intentionally separated so richer MUD functionality can be added without coupling it to the accessible interface.
|
||||
|
||||
Automated regression coverage now exercises the streaming Telnet parser and text pipeline, including negotiation, fragmented input, ANSI filtering, character decoding, and newline edge cases.
|
||||
|
||||
Planned work, roughly in order:
|
||||
|
||||
1. Add automated regression tests to the repository and exercise more Telnet edge cases.
|
||||
2. Add MCCP2 compressed-stream support.
|
||||
3. Add GMCP negotiation, bounded JSON parsing, typed package events, and an accessible inspector.
|
||||
4. Add opt-in MSP sound and music with safe URL handling, limits, caching, and independent playback controls.
|
||||
5. Add aliases, triggers, timers, optional transcripts, and configurable command shortcuts.
|
||||
6. Add multiple simultaneous sessions with independent output and speech queues.
|
||||
7. Add localization catalogs and package/signing automation for releases.
|
||||
1. Add MCCP2 compressed-stream support.
|
||||
2. Add GMCP negotiation, bounded JSON parsing, typed package events, and an accessible inspector.
|
||||
3. Add opt-in MSP sound and music with safe URL handling, limits, caching, and independent playback controls.
|
||||
4. Add aliases, triggers, timers, optional transcripts, and configurable command shortcuts.
|
||||
5. Add multiple simultaneous sessions with independent output and speech queues.
|
||||
6. Add localization catalogs and package/signing automation for releases.
|
||||
|
||||
## Running the tests
|
||||
|
||||
The suite uses no external gems. Run it with a standard Ruby installation:
|
||||
|
||||
```console
|
||||
ruby test/run.rb
|
||||
```
|
||||
|
||||
When developing inside Elten, load `test/run.rb` through the source program's evaluation context so the tests use Elten's bundled Ruby runtime.
|
||||
|
||||
## Development status
|
||||
|
||||
The current implementation has been checked with Elten's Ruby syntax checker and exercised with in-process protocol tests plus a loopback TCP server. Real MUDs differ considerably in their Telnet behavior, so interoperability reports and reproducible protocol captures are welcome.
|
||||
The current implementation is checked with Elten's Ruby syntax checker and its automated in-process protocol suite, and has also been exercised with a loopback TCP server. Real MUDs differ considerably in their Telnet behavior, so interoperability reports and reproducible protocol captures are welcome.
|
||||
|
||||
The application UUID is `51a92051-84e0-415f-84e3-98f08a320a15` and must remain stable across releases.
|
||||
|
||||
Reference in New Issue
Block a user