mutt.sh (2851B)
1 #!/bin/sh -eu 2 # 3 # Test that building Mutt works. 4 # 5 . tt/openbsd.subr 'mail' 'mutt' 6 plan 18 7 8 pkg_clean 9 10 pkg_extract 11 pkg_check_deps 12 pkg_build 13 #pkg_test 14 15 pkg_extract_instrumented 16 pkg_build_instrumented 17 18 pkg_scrub_logs $workdist/config.log $workdist_inst/config.log 19 pkg_diff_build_logs 20 21 #ok 'is config.log identical' \ 22 # diff -u $workdist/config.log $workdist_inst/config.log 23 24 ok 'is size exit code 0' size $workdist/mutt $workdist_inst/mutt 25 26 #pkg_diff_symbols mutt 27 28 cat <<EOF > $workdir_inst/check.good 29 Summary: 30 218 Source files used as input 31 73 Application link commands 32 194 Successful modified source compiles 33 24 Failed modified source compiles 34 35 Totals: 36 94664 Lines of source code 37 1711 Function definitions 38 4895 If statements 39 484 For loops 40 326 While loops 41 37 Do while loops 42 104 Switch statements 43 1956 Return statement values 44 6894 Call expressions 45 153793 Total statements 46 12082 Binary operators 47 558 Errors rewriting source 48 EOF 49 pkg_citrun_check 50 51 cat <<EOF > $workdir_inst/tu_list.good 52 account.c 241 53 addrbook.c 246 54 alias.c 658 55 ascii.c 107 56 attach.c 1043 57 base64.c 123 58 bcache.c 268 59 browser.c 1267 60 buffy.c 629 61 charset.c 680 62 color.c 824 63 commands.c 1019 64 complete.c 199 65 compose.c 1345 66 conststrings.c 75 67 copy.c 962 68 crypt-mod-pgp-classic.c 138 69 crypt-mod-smime-classic.c 119 70 crypt-mod.c 59 71 crypt.c 1121 72 cryptglue.c 396 73 curs_lib.c 1046 74 curs_main.c 2349 75 date.c 191 76 edit.c 491 77 editmsg.c 235 78 enter.c 772 79 filter.c 184 80 flags.c 401 81 from.c 199 82 getdomain.c 70 83 gnupgparse.c 446 84 group.c 209 85 handler.c 1845 86 hash.c 179 87 hcache.c 1242 88 hdrline.c 764 89 headers.c 214 90 help.c 380 91 history.c 320 92 hook.c 545 93 auth.c 114 94 auth_anon.c 77 95 auth_cram.c 181 96 auth_login.c 74 97 browse.c 472 98 command.c 1042 99 imap.c 2041 100 message.c 1308 101 utf7.c 292 102 util.c 852 103 init.c 3285 104 keymap.c 1150 105 lib.c 1086 106 main.c 1249 107 mbox.c 1269 108 mbyte.c 569 109 md5.c 475 110 menu.c 1082 111 mh.c 2351 112 mutt_idna.c 343 113 mutt_socket.c 584 114 mutt_ssl.c 1125 115 mutt_tunnel.c 194 116 muttlib.c 1960 117 mx.c 1691 118 pager.c 2817 119 parse.c 1648 120 patchlist.c 13 121 pattern.c 1546 122 pgp.c 1866 123 pgpinvoke.c 358 124 pgpkey.c 1045 125 pgplib.c 253 126 pgpmicalg.c 212 127 pgppacket.c 232 128 pop.c 931 129 pop_auth.c 418 130 pop_lib.c 597 131 postpone.c 751 132 query.c 543 133 recvattach.c 1274 134 recvcmd.c 950 135 resize.c 80 136 rfc1524.c 594 137 rfc2047.c 924 138 rfc2231.c 384 139 rfc3676.c 390 140 rfc822.c 919 141 safe_asprintf.c 96 142 score.c 196 143 send.c 1954 144 sendlib.c 2890 145 signal.c 254 146 smime.c 2280 147 smtp.c 666 148 sort.c 343 149 status.c 309 150 system.c 142 151 thread.c 1431 152 url.c 325 153 EOF 154 155 # Run instrumented Mutt and make sure a process file was created. 156 $workdist_inst/mutt -h > /dev/null 157 ok 'is instrumented mutt exit code 0' test $? -eq 0 158 159 ok "is write_tus.pl exit code 0" \ 160 tt/write_tus.pl $workdir_inst/tu_list.out ${CITRUN_PROCDIR}mutt_* 161 ok "translation unit manifest" \ 162 diff -u $workdir_inst/tu_list.good $workdir_inst/tu_list.out 163 164 pkg_clean