Some bug fixes of the last release
[gnupg.git] / checks / genkey1024.test
1 #!/bin/sh
2
3 . $srcdir/defs.inc || exit 3
4
5
6 if which expect ; then
7   :
8 else
9   echo "\"expect\" needed but not found - test skipped"
10   exit 0
11 fi
12
13 LANG=
14 LANGUAGE=
15
16
17 expect - <<EOF
18 #set timeout -1
19 set timeout 8
20 match_max 100000
21 spawn ../g10/gpg --no-batch --quick-random --homedir . --gen-key
22 expect { 
23     -exact "Please select what kind of key you want:\r
24    (1) DSA and ElGamal (default)\r
25    (2) ElGamal (sign and encrypt)\r
26    (4) DSA (sign only)\r
27    (5) ElGamal in a v3 packet\r
28 Your selection? "  { send -- "1\r" }
29     timeout { exit 1 } }
30 expect {
31     -exact "1\r
32 \r                 \rDSA keypair will have 1024 bits.\r
33 About to generate a new ELG-E keypair.\r
34               minimum keysize is  768 bits\r
35               default keysize is 1024 bits\r
36     highest suggested keysize is 2048 bits\r
37 What keysize do you want? (1024) " { send -- "\r" }
38     timeout { exit 1 } }
39 expect {
40     -exact "\r
41 \r                                 \rRequested keysize is 1024 bits\r
42 Please specify how long the key should be valid.\r
43          0 = key does not expire\r
44       <n>  = key expires in n days\r
45       <n>w = key expires in n weeks\r
46       <n>m = key expires in n months\r
47       <n>y = key expires in n years\r
48 Key is valid for? (0) " { send -- "1\r" }
49     timeout { exit 1 } }
50 expect {
51      -exact "1\r
52 \r                       \rKey expires at " { }
53     timeout { exit 1 } }
54 expect { 
55      -re "(.*)\r
56 " {}
57     timeout { exit 1 } }
58 expect {
59     -exact "Is this correct (y/n)? " { send -- "y\r" }
60     timeout { exit 1 } }
61 expect {
62     -exact "y\r
63 \r                        \r\r
64 You need a User-ID to identify your key; the software constructs the user id\r
65 from Real Name, Comment and Email Address in this form:\r
66     \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\r
67 \r
68 Real name: " { send -- "Harry H.\r" }
69     timeout { exit 1 } }
70 expect {
71    -exact "Harry H.\r
72 \r                   \rEmail address: " { send -- "hh@ddorf.de\r" }
73     timeout { exit 1 } }
74 expect {
75    -exact "hh@ddorf.de\r
76 \r                          \rComment: " { send -- "a test\r" }
77     timeout { exit 1 } }
78 expect {
79    -exact "a test\r
80 \r               \rYou selected this USER-ID:\r
81     \"Harry H. (a test) <hh@ddorf.de> (INSECURE!)\"\r
82 \r
83 Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? " { send -- "o\r" }
84     timeout { exit 1 } }
85 expect {
86    -exact "o\r
87 \r                                                     \rYou need a Passphrase to protect your secret key.\r
88 \r
89 Enter passphrase: " { sleep 1; send -- "abc\r" }
90     timeout { exit 1 } }
91 expect {
92   -ex "\r                  \rRepeat passphrase: " { sleep 1; send -- "abc\r" }
93     timeout { exit 1 } }
94 expect { 
95   -ex "\r                   \rWe need to generate a lot of random bytes. It is a good idea to perform\r
96 some other action (work in another window, move the mouse, utilize the\r
97 network and the disks) during the prime generation; this gives the random\r
98 number generator a better chance to gain enough entropy.\r" {}
99     timeout { exit 1 } }
100 set timeout 600
101 expect {
102     -ex "public and secret key created and signed.\r" { exit 0 }
103     eof  { exit 1 }
104 }
105 exit 1
106 EOF
107