Package for bionic
[public/library.git] / run_emails_test.exp
1 #!/usr/bin/expect -f
2
3 # Run this to test out email sending. Writes emails to text files
4 # under the "test_emails" directory.
5
6 # To do this manually, use the UI to send emails normally but put
7 # "TESTING12345" as the username. The password is thrown away.
8
9 #
10 # This Expect script was generated by autoexpect on Sat Feb  4 11:41:53 2017
11 # Expect and autoexpect were both written by Don Libes, NIST.
12 #
13 # Note that autoexpect does not guarantee a working script.  It
14 # necessarily has to guess about certain things.  Two reasons a script
15 # might fail are:
16 #
17 # 1) timing - A surprising number of programs (rn, ksh, zsh, telnet,
18 # etc.) and devices discard or ignore keystrokes that arrive "too
19 # quickly" after prompts.  If you find your new script hanging up at
20 # one spot, try adding a short sleep just before the previous send.
21 # Setting "force_conservative" to 1 (see below) makes Expect do this
22 # automatically - pausing briefly before sending each character.  This
23 # pacifies every program I know of.  The -c flag makes the script do
24 # this in the first place.  The -C flag allows you to define a
25 # character to toggle this mode off and on.
26
27 set force_conservative 0  ;# set to 1 to force conservative mode even if
28                           ;# script wasn't run conservatively originally
29 if {$force_conservative} {
30         set send_slow {1 .1}
31         proc send {ignore arg} {
32                 sleep .1
33                 exp_send -s -- $arg
34         }
35 }
36
37 #
38 # 2) differing output - Some programs produce different output each time
39 # they run.  The "date" command is an obvious example.  Another is
40 # ftp, if it produces throughput statistics at the end of a file
41 # transfer.  If this causes a problem, delete these patterns or replace
42 # them with wildcards.  An alternative is to use the -p flag (for
43 # "prompt") which makes Expect only look for the last line of output
44 # (i.e., the prompt).  The -P flag allows you to define a character to
45 # toggle this mode off and on.
46 #
47 # Read the man page for more info.
48 #
49 # -Don
50
51
52 set timeout 5
53 spawn ./librarian
54 match_max 100
55 send -- "\eOB"
56 send -- "\eOB"
57 send -- "\eOB"
58 send -- "\eOB"
59 send -- "\eOB"
60 send -- "\eOB"
61 send -- "\eOB"
62 send -- "\r"
63 send -- "0"
64 send -- "\7f"
65 send -- "1"
66 send -- "\r"
67 send -- "\r"
68 send -- "T"
69 send -- "E"
70 send -- "S"
71 send -- "T"
72 send -- "\r"
73 send -- "\r"
74 send -- "T"
75 send -- "E"
76 send -- "S"
77 send -- "T"
78 send -- "I"
79 send -- "N"
80 send -- "G"
81 send -- "1"
82 send -- "2"
83 send -- "3"
84 send -- "4"
85 send -- "5"
86 send -- "\r"
87 send -- "\r"
88 send -- "\r"
89 send -- "\r"
90 send -- "q"
91 expect eof
92
93 send_user -- "Check the test_emails directory\n"