citrun

watch C/C++ source code execute
Log | Files | Refs | LICENSE

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