Perl6 programmatic interface for manipulating GNU screen sesssions
This is in "release early" status. Basic use of Proc::Screen may
work and Test::Screen may also work, but has very few available tests.
The version of GNU screen must be 4.02 (a.k.a. 4.2) or greater since
there is no way I know of to get the session ID back from a detached launch
on prior versions.
Proc::Screen currently allows you to silently create screen sessions
and send commands to them. Eventually managing previously created
screen sessions and support for programmatic generation of screenrc
and screen commandlines is planned, but for now the main objective
is to provide only what Test::Screen needs.
Test::Screen will allow development environments that contain or
interface to interactive terminal applications to run non-interactive
tests on an emulated terminal. This is not as thorough as interactive
tests on actual terminals, but it is better than no testing at all.
GNU screen wil not be available everywhere that a Perl6 application may
be installed, so both packages gracefully "pass" tests unless it
is detected. To actually run tests, screen should be installed
and from the perspective of the test environment, should be findable
as an executable named "screen" -- this does not need to be the
case for general use, as the package can work with custom installations,
it just needs to be that way for automated testing.