QG /YeP-perl/Win95 notes

Vlad Vlassenko (vvlad@aha.ru) kindly provided us with some materials. He is running YeP-perl and CygWin environment on Win 95 platform


When running YeP-perl on Win95 it may help:

/etc/passwd

root::0:0:root:/:/bin/bash
guest::500:100:guest:/:/bin/sh

/etc/group

root::0:root
users::100:users

/etc/hosts

127.0.0.1       localhost

Results below were achieved with coolview's cygwinb19.dll (by 21.03.98) under Windows 95 4.00.950a Pan-European version.


Testing YeP-perl general package

cd /qub/t
runtests.bat 

E:\Cygnus\B19\H-i386-cygwin32\qub\t>perl test 

base/cond.........ok
base/if...........ok
base/lex..........ok
base/pat..........ok
base/term.........ok
comp/cmdopt.......ok
comp/colon........ok
comp/cpp..........FAILED at test 0
comp/decl.........ok
comp/multiline....ok
comp/package......ok
comp/proto........ok
comp/redef........ok
comp/script.......ok
comp/term.........ok
comp/use..........ok
cmd/elsif.........ok
cmd/for...........ok
cmd/mod...........ok
cmd/subval........ok
cmd/switch........ok
cmd/while.........ok
io/argv...........ok
io/dup............ok
io/fs.............FAILED at test 4
io/inplace........FAILED at test 1
io/pipe...........FAILED at test 7
io/print..........ok
io/read...........ok
io/tell...........ok
op/append.........ok
op/arith..........ok
op/array..........ok
op/assignwarn.....ok
op/auto...........ok
op/bop............ok
op/chop...........ok
op/closure........ok
op/cmp............ok
op/cond...........ok
op/delete.........ok
op/do.............ok
op/each...........ok
op/eval...........ok
op/exec...........ok
op/exp............ok
op/flip...........ok
op/fork...........ok
op/glob...........ok
op/goto...........ok
op/groups.........skipping test on this platform
op/gv.............ok
op/inc............ok
op/index..........ok
op/int............ok
op/join...........ok
op/list...........ok
op/local..........ok
op/magic..........FAILED at test 23
op/method.........ok
op/misc...........ok
op/mkdir..........ok
op/my.............ok
op/oct............ok
op/ord............ok
op/pack...........ok
op/pat............ok
op/push...........ok
op/quotemeta......ok
op/rand...........ok
op/range..........ok
op/read...........ok
op/readdir........ok
op/recurse........ok
op/ref............ok
op/regexp.........ok
op/repeat.........ok
op/runlevel.......ok
op/sleep..........ok
op/sort...........ok
op/split..........ok
op/sprintf........ok
op/stat...........FAILED at test 2
op/study..........ok
op/subst..........ok
op/substr.........ok
op/sysio..........ok
op/taint..........FAILED at test 0
op/tie............ok
op/time...........FAILED at test 2    (*)
op/undef..........ok
op/universal......ok
op/unshift........ok
op/vec............ok
op/write..........ok
pragma/constant...ok
pragma/locale.....ok
pragma/overload...ok
pragma/strict.....ok
pragma/subs.......ok
pragma/warning....ok
lib/abbrev........ok
lib/anydbm........FAILED at test 0
lib/autoloader....ok
lib/basename......ok
lib/bigint........ok
lib/bigintpm......ok
lib/checktree.....ok
lib/complex.......ok
lib/db-btree......skipping test on this platform
lib/db-hash.......skipping test on this platform
lib/db-recno......skipping test on this platform
lib/dirhand.......ok
lib/dosglob.......ok
lib/english.......ok
lib/env...........ok
lib/filecache.....ok
lib/filecopy......ok
lib/filefind......ok
lib/filehand......ok
lib/filepath......ok
lib/findbin.......ok
lib/gdbm..........skipping test on this platform
lib/getopt........ok
lib/hostname......ok
lib/io_dup........ok
lib/io_pipe.......FAILED at test 9
lib/io_sel........ok
lib/io_taint......ok
lib/io_tell.......ok
lib/io_udp........ok
lib/io_xs.........ok
lib/ndbm..........skipping test on this platform
lib/odbm..........skipping test on this platform
lib/opcode........ok
lib/open2.........ok
lib/open3.........ok
lib/ops...........ok
lib/parsewords....ok
lib/posix.........skipping test on this platform
lib/safe1.........ok
lib/safe2.........ok
lib/sdbm..........skipping test on this platform
lib/searchdict....ok
lib/selectsaver...ok
lib/socket........ok
lib/soundex.......ok
lib/symbol........ok
lib/texttabs......ok
lib/textwrap......ok
lib/timelocal.....ok
lib/trig..........ok
u=18475.7  s=2.89138e+06  cu=0  cs=0  scripts=140  tests=4370

(*) When starting this test from cygwin shell, then it passed successfully.


Testing YeP-perl libwww-perl package

Testing MIME-Base-64

cd /qub/t/t.base64
runtests.bat 

t/base64............ok
t/quoted-print......ok
All tests successful.
Files=2,  Tests=305,  5 secs ( 0.00 cusr  0.00 csys =  0.00 cpu)

Testing libnet. Do not forget to edit your /qub/lib/Net/Config.pm. Also, you can rename t/ph.t.skip to t/ph.t if you would like to test them also.

cd /qub/t/t.libnet
runtests.bat 

t/ftp...............Bad permissions: //.netrc at /qub/lib/Net/FTP.pm line 203
ok
t/hostname..........ok
t/nntp..............ok
t/ph................Net::PH: Attempt to connect timed out without establishing a
 connection at t/ph.t line 15
FAILED tests 1-5
        Failed 5/5 tests, 0.00% okay
t/require...........ok
t/smtp..............ok
Failed Test  Status Wstat Total Fail  Failed  List of failed
-------------------------------------------------------------------------------
t/ph.t                        5    5 100.00%  1-5
Failed 1/6 test scripts, 83.33% okay. 5/28 subtests failed, 82.14% okay.

I put .netrc to own home directory (in my case it is /). If this file is absent then appointed diagnostic message don't appear.

Testing libwww-perl itself. You can download SDBM extension if you want robot/rules-dbm test to be successful.

cd /qub/t/t.libwww-perl
runtests.bat 

base/afm............skipping test on this platform
base/common-req.....ok
base/cookies........ok
base/date...........ok
base/headers........ok
base/listing........ok
base/mediatypes.....ok
base/message........ok
base/negotiate......ok
base/response.......ok
base/status.........ok
uri/base............ok
uri/heuristic.......ok
uri/rel-base........ok
html/entities.......ok
html/filter.........ok
html/headparser.....ok
html/linkextractor..ok
html/parsefile......ok
html/parser.........ok
html/split..........ok
robot/rules-dbm.....ok
robot/rules.........ok
robot/ua............ok
local/autoload......ok
local/get...........ok
local/http..........ok
local/protosub......ok
All tests successful.
Files=28,  Tests=432, 202 secs ( 0.00 cusr  0.00 csys =  0.00 cpu)

We have replaced Cwd:fastcwd() with Cwd:cwd() in auto/URI/URL/file/newlocal.al


Perl-Wish (Perl-Tix) and Visual Perl debugger status

As You know, the binary distribution cdk.exe of Cygwin32 b19 contains broken Tcl/Tk 8.0 and Tix 4.1 (for Tcl/Tk 8.0). If trying to run cygtclsh80.exe, cygwish80.exe or cygtix4180.exe the "Not enough space" error message appears. To work around this problem You may take a look at http://www.xraylith.wisc.edu/~khan/software/tcl/ for more info, or just go to ftp://ftp.xraylith.wisc.edu/pub/khan/tcl/ and download the bug-fixed archive of Tcl/Tk 8.0 for cygwin32. (Thanks to Mumit Khan (khan@xraylith.wisc.edu) The place with fixed Tix 4.1 for cygwin's Tcl/Tk 8.0 is unknown for me.

Therefore, for successfull work with Perl-Wish You may get binary distribution for Win32 of Tcl 8.0/Tk 8.0 from Tcl/Tk Home and Tix 4.1.0 from Tix Home. Also, if You've MSVC++ 4.0 (or later) or Borland C++ 4.5 (or later) compilers and enought amount of free time, You may build your own Tcl/Tk and Tix from sources (I have did it).

After You've installed bug-free versions of Tcl/Tk and Tix, set TCL_LIBRARY, TK_LIBRARY, TIX_LIBRARY environment variables and put Perl-Wish components to appropriate directory, just run test.pl and view_passwd.pl.

Note: If You run Perl-Wish based applications from Cygwin32 b19 shell, then use ash.exe as Your default shell but not bash.exe!

If you get error message like: "Unable to connect to 127.0.0.1:1117: error 111" and then empty PerlWish window appears then You need to increase the delay after starting tcl in PerlWish.pm. This delay is the second parameter of "$wish->open( $tixname, <delay> )" call in test.pl and view_passwd.pl files. The value of this delay depends of performance and amount of free RAM of Your computer. For instance, on the i486DX4-100 with 24MB RAM, "5" is enough value in most cases, but this value must be increased to "7" or "9" if some 'big' application (like Netcsape Navigator 3.0) is running

After You've finished Perlwish's tests You may able to prepare Visual Perl debugger for work now. There is a description of installation process of Visual Perl debugger. In addition to these, probably, You may also want to increase the duration of delay as is described above. Just patch vdb.pl from YeP visual debugger :

 
  40c40
  < $wish->open( $tixname, 2 );
  ---
  > $wish->open( $tixname, 5 );
 

and enjoy with Perl visual debugger under Win95 by invoking: perl vdb.pl <your_script> from DOS Box or Cygwin32 shell (but not from bash)!

QG /YeP-perl/Win95 notes