On Sat, 8 Jun 2002, Autrijus' Smokestack wrote:
....
> PERL_DL_NONLAZY=1 /usr/local/bin/perl -Iblib/arch -Iblib/lib
> -I/usr/local/lib/perl5/5.6.1/mach -I/usr/local/lib/perl5/5.6.1/BSDPAN
> -w test.pl 1 .. 8 ok 1 *** Error code 2
>
> Stop in /var/tmp/cpanplus/build/TermReadKey-2.20. Can't exec
> "resize": No such file or directory at blib/lib/Term/ReadKey.pm
> line 325. Use of uninitialized value in pattern match (m//) at
> blib/lib/Term/ReadKey.pm line 326. Use of uninitialized value in
> pattern match (m//) at blib/lib/Term/ReadKey.pm line 326. Unable to
> get Terminal Size. The TIOCGWINSZ ioctl didn't work. The COLUMNS and
> LINES environment variables didn't work. The resize program didn't
> work. at blib/lib/Term/ReadKey.pm line 343.
This and other similar reports are the result of the tests being run by an
automated process with no controlling terminal. I am at a bit of a loss
how to make the module work under such conditions as being designed to
control a terminal it really does require a terminal to be present :) I
could of course fix the test so that if the open of /dev/tty or the first
call to GetTerminalSize() fails then the rest of tests are skipped, but
then there is the chance that the tests might appear to be alright when
something really is wrong with module, so I am loathe to do that lightly.
However I would like to fix it so that the tests work - so what I am going
to do in the first instance is hard code in values for $ENV{LINES} and
$ENV{COLUMNS} to see if that fixes it for other people (it works for me)
and then think of a more robust (sensible ?) way to do this.
Please let me know if you have any bright ideas about this.
/J\