citrun

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

nmap.sh (2721B)


      1 #!/bin/sh -u
      2 #
      3 # Instruments Nmap and checks that the instrumented program still runs.
      4 #
      5 . tt/package.subr "net/nmap"
      6 plan 10
      7 
      8 pkg_check_deps
      9 pkg_clean
     10 pkg_build
     11 pkg_test
     12 
     13 cat <<EOF > check.good
     14 Summary:
     15        400 Source files used as input
     16         83 Application link commands
     17        334 Rewrite successes
     18         66 Rewrite failures
     19        311 Rewritten source compile successes
     20         23 Rewritten source compile failures
     21 
     22 Totals:
     23     173596 Lines of source code
     24       3809 Function definitions
     25       8083 If statements
     26        876 For loops
     27        410 While loops
     28         58 Do while loops
     29        286 Switch statements
     30       4565 Return statement values
     31      17515 Call expressions
     32     298886 Total statements
     33      20625 Binary operators
     34        588 Errors rewriting source
     35 EOF
     36 pkg_check
     37 
     38 cat <<EOF > tu_list.good
     39 ./fad-getad.c 281
     40 ./gencode.c 8905
     41 ./inet.c 1142
     42 ./nametoaddr.c 510
     43 ./optimize.c 2356
     44 ./pcap-bpf.c 2753
     45 ./pcap-common.c 1387
     46 ./pcap.c 2030
     47 ./savefile.c 417
     48 ./sf-pcap-ng.c 1275
     49 ./sf-pcap.c 895
     50 ARPHeader.cc 378
     51 DestOptsHeader.cc 160
     52 EthernetHeader.cc 284
     53 FragmentHeader.cc 277
     54 HopByHopHeader.cc 452
     55 ICMPv4Header.cc 1252
     56 ICMPv6Header.cc 1423
     57 IPv4Header.cc 699
     58 IPv6Header.cc 570
     59 PacketElement.cc 135
     60 PacketParser.cc 1858
     61 RawData.cc 237
     62 RoutingHeader.cc 374
     63 TCPHeader.cc 1001
     64 Target.cc 578
     65 TargetGroup.cc 819
     66 TransportLayerElement.cc 190
     67 UDPHeader.cc 363
     68 addr-util.c 305
     69 addr.c 493
     70 arp-bsd.c 324
     71 bpf_filter.c 760
     72 daxpy.c 50
     73 ddot.c 51
     74 dnrm2.c 63
     75 dscal.c 45
     76 engine_kqueue.c 371
     77 engine_poll.c 428
     78 engine_select.c 394
     79 eth-bsd.c 173
     80 filespace.c 119
     81 gh_heap.c 251
     82 grammar.c 754
     83 intf.c 1088
     84 ip-util.c 218
     85 ip6.c 77
     86 main.cc 230
     87 nbase_addrset.c 651
     88 nbase_memalloc.c 179
     89 nbase_misc.c 955
     90 nbase_rnd.c 424
     91 nbase_str.c 380
     92 netutils.c 198
     93 nse_binlib.cc 414
     94 nse_bit.cc 75
     95 nse_debug.cc 103
     96 nse_dnet.cc 368
     97 nse_fs.cc 313
     98 nse_lpeg.cc 8
     99 nse_main.cc 823
    100 nse_nmaplib.cc 1027
    101 nse_nsock.cc 1137
    102 nse_openssl.cc 610
    103 nse_pcrelib.cc 405
    104 nse_ssl_cert.cc 612
    105 nse_utility.cc 206
    106 nsock_connect.c 561
    107 nsock_core.c 1416
    108 nsock_engines.c 160
    109 nsock_event.c 543
    110 nsock_iod.c 449
    111 nsock_log.c 121
    112 nsock_pcap.c 495
    113 nsock_pool.c 311
    114 nsock_proxy.c 460
    115 nsock_read.c 135
    116 nsock_ssl.c 186
    117 nsock_timers.c 81
    118 nsock_write.c 237
    119 protocols.cc 252
    120 proxy_http.c 215
    121 proxy_socks4.c 246
    122 route-bsd.c 693
    123 scan_engine.cc 2753
    124 scan_engine_connect.cc 564
    125 scan_engine_raw.cc 2279
    126 scanner.c 460
    127 service_scan.cc 2818
    128 services.cc 578
    129 targets.cc 729
    130 tcpip.cc 2172
    131 timing.cc 780
    132 traceroute.cc 1660
    133 tron.cpp 236
    134 utils.cc 721
    135 xml.cc 463
    136 EOF
    137 
    138 $workdir/nmap > /dev/null
    139 
    140 ok "is write_tus.pl exit code 0" \
    141 	perl -I$treedir $treedir/tt/write_tus.pl ${CITRUN_PROCDIR}nmap_*
    142 
    143 sort -o tu_list.out tu_list.out
    144 ok "translation unit manifest" diff -u tu_list.good tu_list.out
    145 
    146 pkg_clean