Commit | Line | Data |
2986a63f |
1 | |
2 | |
225a5dca |
3 | Automated Testing of Perl5 Interpreter for NetWare. |
2986a63f |
4 | |
5 | |
6 | |
32ce01bc |
7 | A set of Standard Unit Test Scripts to test all the functionalities of |
8 | Perl5 Interpreter are available along with the CPAN download. They are |
9 | all located under 't' folder. These include sub-folders under 't' such |
10 | as: 'base', 'cmd', 'comp', 'io', lib', 'op', 'pod', 'pragma' and 'run'. |
11 | Each of these sub-folders contain few test scripts ('.t' files) under |
12 | them. |
13 | |
14 | Executing these test scripts on NetWare can be automated as per the |
15 | following: |
16 | |
17 | 1. Generate automated scripts like 'base.pl', 'cmd.pl', 'comp.pl', 'io.pl', |
18 | 'lib.pl', 'op.pl', 'pod.pl', 'pragma.pl', 'run.pl' that execute all the |
19 | test scripts ('.t' files) under the corresponding folder. |
20 | |
21 | For example, 'base.pl' to test all the scripts |
22 | under 'sys:\perl\scripts\t\base' folder, |
23 | 'comp.pl' to test all the scripts |
24 | under 'sys:\perl\scripts\t\comp' folder and so on. |
25 | |
26 | 2. Generate an automated script, 'nwauto.pl' that executes all the above |
27 | mentioned '.pl' automated scripts, thus in turn executing all the '.t' |
28 | scripts. |
29 | |
30 | The script, 'NWScripts.pl' available under the 'NetWare\t' folder of the |
31 | CPAN download, is written to generate these automated scripts when |
32 | executed on a NetWare server. It generates 'base.pl', 'cmd.pl', 'comp.pl', |
33 | 'io.pl', 'lib.pl', 'op.pl', 'pod.pl', 'pragma.pl', 'run.pl' and also |
34 | 'nwauto.pl' by including all the corresponding '.t' scripts in them in |
35 | backtick operators. |
36 | |
37 | For example, all the scripts that are under 't\base' folder will be |
38 | entered in 'base.pl' and so on. 'nwauto.pl' includes all these '.pl' |
39 | scripts like 'base.pl', 'comp.pl' etc. |
40 | |
41 | Perform the following steps to execute the automated scripts: |
2986a63f |
42 | |
225a5dca |
43 | 1. Make sure that your NetWare server is mapped to "i:". |
2986a63f |
44 | |
32ce01bc |
45 | 2. Execute "nmake nwinstall" (after building interpreter and extensions) |
46 | in the 'NetWare' folder of the CPAN download. This installs all the |
47 | library files, perl modules and all the 't' scripts in appropriate |
48 | folders onto your server. |
2986a63f |
49 | |
32ce01bc |
50 | 3. Execute the command "perl t\NWModify.pl" on the console command |
51 | prompt of your server. This script replaces |
225a5dca |
52 | |
2986a63f |
53 | "@INC = " with "unshift @INC, " and |
54 | "push @INC, " with "unshift @INC, " |
2986a63f |
55 | |
32ce01bc |
56 | from all the scripts under 'sys:\perl\scripts\t' folder. |
57 | |
58 | This is done to include the correct path for libraries into the scripts |
59 | when executed on NetWare. If this is not done, some of the scripts will |
60 | not get executed since they cannot locate the corresponding libraries. |
2986a63f |
61 | |
32ce01bc |
62 | 4. Execute the command "perl t\NWScripts.pl" on the console command |
63 | prompt to generate the automated scripts mentioned above |
64 | under the 'sys:\perl\scripts\t' folder. |
225a5dca |
65 | |
32ce01bc |
66 | 5. Execute the command "perl t\nwauto.pl" on the server console command |
67 | prompt. This runs all the standard test scripts. If you desire to |
68 | redirect or save the results into a file, say 'nwauto.txt', then the |
69 | console command to execute is: "perl t\nwauto.pl > nwauto.txt". |
2986a63f |
70 | |
32ce01bc |
71 | 6. If you wish to execute only a certain set of scripts, then run the |
72 | corresponding '.pl' file. For example, if you wish to execute only the |
73 | 'lib' scripts, then execute 'lib.pl' through the server console command, |
74 | "perl t\lib.pl'. To redirect the results into a file, the console command |
75 | is, "perl t\lib.pl > lib.txt". |
2986a63f |
76 | |
2986a63f |
77 | |
78 | |
79 | Known Issues: |
80 | |
81 | The following scripts are commented out in the corresponding autoscript: |
82 | |
83 | 1. 'openpid.t' in 'sys:\perl\scripts\t\io.pl' script |
84 | Reason: |
32ce01bc |
85 | This either hangs or abends the server when executing through auto |
86 | scripts. When run individually, the script execution goes through |
87 | fine. |
2986a63f |
88 | |
89 | 2. 'argv.t' in 'sys:\perl\scripts\t\io.pl' script |
90 | Reason: |
32ce01bc |
91 | This either hangs or abends the server when executing through auto |
92 | scripts. When run individually, the script execution goes through |
93 | fine. |
2986a63f |
94 | |
225a5dca |
95 | 3. 'filehandle.t' in 'sys:\perl\scripts\t\lib.pl' script |
2986a63f |
96 | Reason: |
32ce01bc |
97 | This hangs in the last test case where it uses FileHandle::Pipe |
98 | whether run individually or through an auto script. |
2986a63f |
99 | |