• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

basic/H09-Apr-2020-303290

cmd/H09-Apr-2020-2,9902,561

filter/H09-Apr-2020-840712

misc/H09-Apr-2020-452393

option/H09-Apr-2020-909801

pl/H09-Apr-2020-336258

JmakefileH A D09-Apr-20201.2 KiB4439

Makefile.SHH A D09-Apr-20204 KiB164102

READMEH A D09-Apr-20204.1 KiB8767

TESTH A D03-May-20226.8 KiB287249

actionsH A D09-Apr-202012.7 KiB501440

atailH A D03-May-20221.9 KiB8068

base64H A D09-Apr-2020970 2219

getopt.plH A D09-Apr-20201.3 KiB5135

mailH A D09-Apr-20201.6 KiB3530

mail-longH A D09-Apr-20201.1 KiB2119

mimeH A D09-Apr-20201.2 KiB3934

mime-recursiveH A D09-Apr-20201.3 KiB4840

qpH A D09-Apr-2020996 2220

rulesH A D09-Apr-20206.7 KiB206180

README

1This is the root directory for the regression test suite.
2
3A regression test suite is not meant to be a validation suite. Rather, it is
4used by developpers to make sure nothing breaks between two snapshots or
5releases. Thoroughness is not a requirement, since it only affects the
6accuracy of the test.
7
8The single TEST executable will run the test suite and report any failure.
9Although not every feature of the mailagent is tested, having it pass
10the whole test suite is a Good Thing. Some commands like PROCESS or POST
11are not easy to test automatically, but if you can design good tests
12for them, I will be glad to include them.
13
14This set of programs were written quickly, as effeciency or maintainability
15was not the main issue, obviously. I believe they are reasonably well
16written, making it possible for someone to be able to understand and modify
17them.
18
19Running the whole test suite takes a long time. On my machine with 40 Mb of
20main memory, it requires 12 minutes to complete (in 1991). It may take a lot
21longer if you do not have at least 16 Mb of RAM.
22
23The following options are available to TEST:
24
25	-i		incremental, rerun only failed tests
26	-m		monitor logfile with "atail"
27	-n		use the non-dataloaded version
28	-o		allow outdated mailagent / filter
29	-s		stop at first error
30
31The option -i turns the incremental mode on. This proved really nice to
32me when I was writing this suite, as I was able to skip all the successful
33tests and focus only on those which failed or the new ones.
34
35The -s option will cause the test suite to stop at the first error. Normally,
36only failed basic tests abort the process.
37
38The -o option will not restart the tests from scratch, even if the mailagent
39or filter is newer than the current OK file.
40
41Option -n will test the non-dataloaded version of the mailagent (because
42of some bugs with eval() which cause the dataloaded version to dump core
43via a segmentation violation).
44
45The -m option is for desperate cases. It launches the atail process in the
46background (a real CPU hog) to monitor all changes to the out/agentlog file.
47This may be really convenient when debugging a test suite failure...
48
49Specifying a list of files on the command line will only run these tests.
50For instance:
51
52	./TEST options/i.t
53
54I don't know why I spent some time documenting all this (in 1992), as I
55don't expect anybody to have any chance working on this suite. Anyway, it
56might be nice knowing that all the successful tests are recorded in an OK
57file, along with the time stamp of the test, so we may re-run those which
58were updated since last run. In the event the mailagent or the filter are
59modified, the tests are re-run throughoutfully.  NB: in 2008, I'm glad I
60did document all that. :-)
61
62The file 'level' is optional. If present, it gives the default logging level
63to be applied when most of the tests are run (i.e. for those who do not require
64any special logging level). If absent, no logging will be done (except for
65those tests who do require... etc...). All the tests are performed in the
66'out' subdirectory, with the user name set to 'nobody'. That may help a lot
67when testing commands like RUN, as they have the nasty habbit to mail you, the
68user, their output when they fail for whatever reason.
69
70The generic mail used by the test is an automatic answer I got from the
71comp.compilers newsgroup moderator the day I posted my first article to that
72group. It has no special value, appart from having some constants relative
73to it hardwired within the tests themselves. Don't touch it, even to remove
74a white space or some tests may fail (particularily GIVE and PIPE, which have
75the output of 'wc' hardwired). On my machine, here is the output of 'wc mail':
76
77     34     227    1620  mail
78
79In the event some of the tests do not pass, there is no reason to panic, and
80it doesn't necesseratily mean the mailagent has a bug. It is more likely a
81combinaison of perl + dataloading + bugs + memory + moon's position. Try
82to run the test suite again, and then one more time. It sometimes helps.
83Also try changing the logging level via 'level' to see if it doesn't make
84any difference. This is not really rational, but empirical law :-).
85
86I think that's all there is to say.
87