Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

coverage.sh: adds Code Coverage generation #777

Merged
merged 1 commit into from
Jul 28, 2016

Conversation

kenjones-cisco
Copy link
Contributor

Adds script for generating code coverage statistics for Go packages.

Borrowed from https://github.com/hashicorp/vault

@mreiferson
Copy link
Member

What does the output look like?

@kenjones-cisco
Copy link
Contributor Author

The default output:

github.com/nsqio/nsq/apps/nsqd/nsqd.go:26:          Set                 66.7%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:41:          Get                 0.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:43:          String                  100.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:47:          IsBoolFlag              0.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:51:          Set                 33.3%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:70:          Get                 100.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:72:          String                  100.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:76:          nsqdFlagSet             100.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:150:         Validate                80.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:181:         main                    0.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:188:         Init                    0.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:196:         Start                   0.0%
github.com/nsqio/nsq/apps/nsqd/nsqd.go:233:         Stop                    0.0%
github.com/nsqio/nsq/internal/pqueue/pqueue.go:17:      New                 100.0%
github.com/nsqio/nsq/internal/pqueue/pqueue.go:21:      Len                 100.0%
github.com/nsqio/nsq/internal/pqueue/pqueue.go:25:      Less                    100.0%
github.com/nsqio/nsq/internal/pqueue/pqueue.go:29:      Swap                    100.0%
github.com/nsqio/nsq/internal/pqueue/pqueue.go:35:      Push                    100.0%
github.com/nsqio/nsq/internal/pqueue/pqueue.go:49:      Pop                 100.0%
github.com/nsqio/nsq/internal/pqueue/pqueue.go:63:      PeekAndShift                71.4%
github.com/nsqio/nsq/internal/protocol/byte_base10.go:9:    ByteToBase10                0.0%
github.com/nsqio/nsq/internal/protocol/errors.go:18:        Error                   0.0%
github.com/nsqio/nsq/internal/protocol/errors.go:23:        Parent                  0.0%
github.com/nsqio/nsq/internal/protocol/errors.go:28:        NewClientErr                0.0%
github.com/nsqio/nsq/internal/protocol/errors.go:39:        Error                   0.0%
github.com/nsqio/nsq/internal/protocol/errors.go:44:        Parent                  0.0%
github.com/nsqio/nsq/internal/protocol/errors.go:49:        NewFatalClientErr           0.0%
github.com/nsqio/nsq/internal/protocol/names.go:10:     IsValidTopicName            0.0%
github.com/nsqio/nsq/internal/protocol/names.go:15:     IsValidChannelName          0.0%
github.com/nsqio/nsq/internal/protocol/names.go:19:     isValidName             0.0%
github.com/nsqio/nsq/internal/protocol/protocol.go:16:      SendResponse                0.0%
github.com/nsqio/nsq/internal/protocol/protocol.go:32:      SendFramedResponse          0.0%
github.com/nsqio/nsq/internal/protocol/tcp_server.go:16:    TCPServer               0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:32:            bindataRead             0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:64:            Name                    0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:67:            Size                    0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:70:            Mode                    0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:73:            ModTime                 0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:76:            IsDir                   0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:79:            Sys                 0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:85:            baseCssBytes                0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:92:            baseCss                 0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:105:           bootstrapMinCssBytes            0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:112:           bootstrapMinCss             0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:125:           faviconPngBytes             0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:132:           faviconPng              0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:145:           glyphiconsHalflingsRegularEotBytes  0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:152:           glyphiconsHalflingsRegularEot       0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:165:           glyphiconsHalflingsRegularSvgBytes  0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:172:           glyphiconsHalflingsRegularSvg       0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:185:           glyphiconsHalflingsRegularTtfBytes  0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:192:           glyphiconsHalflingsRegularTtf       0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:205:           glyphiconsHalflingsRegularWoffBytes 0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:212:           glyphiconsHalflingsRegularWoff      0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:225:           glyphiconsHalflingsRegularWoff2Bytes    0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:232:           glyphiconsHalflingsRegularWoff2     0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:245:           indexHtmlBytes              0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:252:           indexHtml               0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:265:           mainJsBytes             0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:272:           mainJs                  0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:285:           mainJsMapBytes              0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:292:           mainJsMap               0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:305:           nsq_bluePngBytes            0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:312:           nsq_bluePng             0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:325:           vendorJsBytes               0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:332:           vendorJs                0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:346:           Asset                   0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:360:           MustAsset               0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:372:           AssetInfo               0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:385:           AssetNames              0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:423:           AssetDir                0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:467:           RestoreAsset                0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:492:           RestoreAssets               0.0%
github.com/nsqio/nsq/nsqadmin/bindata.go:508:           _filePath               0.0%
github.com/nsqio/nsq/nsqadmin/http.go:25:           maybeWarnMsg                66.7%
github.com/nsqio/nsq/nsqadmin/http.go:33:           NewSingleHostReverseProxy       0.0%
github.com/nsqio/nsq/nsqadmin/http.go:55:           NewHTTPServer               94.7%
github.com/nsqio/nsq/nsqadmin/http.go:112:          ServeHTTP               100.0%
github.com/nsqio/nsq/nsqadmin/http.go:116:          pingHandler             0.0%
github.com/nsqio/nsq/nsqadmin/http.go:120:          indexHandler                0.0%
github.com/nsqio/nsq/nsqadmin/http.go:152:          staticAssetHandler          0.0%
github.com/nsqio/nsq/nsqadmin/http.go:183:          topicsHandler               37.0%
github.com/nsqio/nsq/nsqadmin/http.go:235:          topicHandler                45.5%
github.com/nsqio/nsq/nsqadmin/http.go:274:          channelHandler              40.0%
github.com/nsqio/nsq/nsqadmin/http.go:309:          nodesHandler                40.0%
github.com/nsqio/nsq/nsqadmin/http.go:329:          nodeHandler             62.5%
github.com/nsqio/nsq/nsqadmin/http.go:380:          tombstoneNodeForTopicHandler        55.6%
github.com/nsqio/nsq/nsqadmin/http.go:416:          createTopicChannelHandler       57.1%
github.com/nsqio/nsq/nsqadmin/http.go:458:          deleteTopicHandler          50.0%
github.com/nsqio/nsq/nsqadmin/http.go:483:          deleteChannelHandler            53.8%
github.com/nsqio/nsq/nsqadmin/http.go:509:          topicActionHandler          100.0%
github.com/nsqio/nsq/nsqadmin/http.go:514:          channelActionHandler            100.0%
github.com/nsqio/nsq/nsqadmin/http.go:520:          topicChannelAction          73.3%
github.com/nsqio/nsq/nsqadmin/http.go:600:          counterHandler              0.0%
github.com/nsqio/nsq/nsqadmin/http.go:647:          graphiteHandler             0.0%
github.com/nsqio/nsq/nsqadmin/http.go:696:          doConfig                73.7%
github.com/nsqio/nsq/nsqadmin/http.go:732:          getOptByCfgName             85.7%
github.com/nsqio/nsq/nsqadmin/notify.go:25:         basicAuthUser               0.0%
github.com/nsqio/nsq/nsqadmin/notify.go:41:         notifyAdminAction           22.2%
github.com/nsqio/nsq/nsqadmin/nsqadmin.go:32:           New                 38.8%
github.com/nsqio/nsq/nsqadmin/nsqadmin.go:118:          logf                    66.7%
github.com/nsqio/nsq/nsqadmin/nsqadmin.go:125:          getOpts                 100.0%
github.com/nsqio/nsq/nsqadmin/nsqadmin.go:129:          swapOpts                100.0%
github.com/nsqio/nsq/nsqadmin/nsqadmin.go:133:          RealHTTPAddr                100.0%
github.com/nsqio/nsq/nsqadmin/nsqadmin.go:139:          handleAdminActions          10.0%
github.com/nsqio/nsq/nsqadmin/nsqadmin.go:158:          Main                    83.3%
github.com/nsqio/nsq/nsqadmin/nsqadmin.go:174:          Exit                    100.0%
github.com/nsqio/nsq/nsqadmin/options.go:38:            NewOptions              100.0%
github.com/nsqio/nsq/nsqd/buffer_pool.go:10:            init                    100.0%
github.com/nsqio/nsq/nsqd/buffer_pool.go:16:            bufferPoolGet               100.0%
github.com/nsqio/nsq/nsqd/buffer_pool.go:20:            bufferPoolPut               100.0%
github.com/nsqio/nsq/nsqd/channel.go:72:            NewChannel              90.9%
github.com/nsqio/nsq/nsqd/channel.go:113:           initPQ                  100.0%
github.com/nsqio/nsq/nsqd/channel.go:129:           Exiting                 100.0%
github.com/nsqio/nsq/nsqd/channel.go:134:           Delete                  100.0%
github.com/nsqio/nsq/nsqd/channel.go:139:           Close                   100.0%
github.com/nsqio/nsq/nsqd/channel.go:143:           exit                    94.1%
github.com/nsqio/nsq/nsqd/channel.go:179:           Empty                   88.9%
github.com/nsqio/nsq/nsqd/channel.go:202:           flush                   78.9%
github.com/nsqio/nsq/nsqd/channel.go:241:           Depth                   100.0%
github.com/nsqio/nsq/nsqd/channel.go:245:           Pause                   100.0%
github.com/nsqio/nsq/nsqd/channel.go:249:           UnPause                 100.0%
github.com/nsqio/nsq/nsqd/channel.go:253:           doPause                 100.0%
github.com/nsqio/nsq/nsqd/channel.go:272:           IsPaused                100.0%
github.com/nsqio/nsq/nsqd/channel.go:277:           PutMessage              88.9%
github.com/nsqio/nsq/nsqd/channel.go:291:           put                 100.0%
github.com/nsqio/nsq/nsqd/channel.go:309:           TouchMessage                76.9%
github.com/nsqio/nsq/nsqd/channel.go:333:           FinishMessage               85.7%
github.com/nsqio/nsq/nsqd/channel.go:351:           RequeueMessage              50.0%
github.com/nsqio/nsq/nsqd/channel.go:371:           AddClient               83.3%
github.com/nsqio/nsq/nsqd/channel.go:383:           RemoveClient                88.9%
github.com/nsqio/nsq/nsqd/channel.go:398:           StartInFlightTimeout            88.9%
github.com/nsqio/nsq/nsqd/channel.go:411:           StartDeferredTimeout            85.7%
github.com/nsqio/nsq/nsqd/channel.go:425:           doRequeue               80.0%
github.com/nsqio/nsq/nsqd/channel.go:435:           pushInFlightMessage         75.0%
github.com/nsqio/nsq/nsqd/channel.go:448:           popInFlightMessage          81.8%
github.com/nsqio/nsq/nsqd/channel.go:464:           addToInFlightPQ             100.0%
github.com/nsqio/nsq/nsqd/channel.go:470:           removeFromInFlightPQ            66.7%
github.com/nsqio/nsq/nsqd/channel.go:481:           pushDeferredMessage         77.8%
github.com/nsqio/nsq/nsqd/channel.go:495:           popDeferredMessage          0.0%
github.com/nsqio/nsq/nsqd/channel.go:508:           addToDeferredPQ             100.0%
github.com/nsqio/nsq/nsqd/channel.go:514:           processDeferredQueue            55.6%
github.com/nsqio/nsq/nsqd/channel.go:545:           processInFlightQueue            87.0%
github.com/nsqio/nsq/nsqd/client_v2.go:112:         newClientV2             100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:152:         String                  100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:156:         Identify                93.3%
github.com/nsqio/nsq/nsqd/client_v2.go:217:         Stats                   63.2%
github.com/nsqio/nsq/nsqd/client_v2.go:271:         GetCipherSuite              0.0%
github.com/nsqio/nsq/nsqd/client_v2.go:303:         GetVersion              0.0%
github.com/nsqio/nsq/nsqd/client_v2.go:318:         IsReadyForMessages          100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:338:         SetReadyCount               100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:343:         tryUpdateReadyState         100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:353:         FinishedMessage             100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:359:         Empty                   100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:364:         SendingMessage              100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:369:         TimedOutMessage             100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:374:         RequeuedMessage             0.0%
github.com/nsqio/nsq/nsqd/client_v2.go:380:         StartClose              0.0%
github.com/nsqio/nsq/nsqd/client_v2.go:387:         Pause                   100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:391:         UnPause                 100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:395:         SetHeartbeatInterval            100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:414:         SetOutputBufferSize         92.9%
github.com/nsqio/nsq/nsqd/client_v2.go:443:         SetOutputBufferTimeout          100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:462:         SetSampleRate               75.0%
github.com/nsqio/nsq/nsqd/client_v2.go:470:         SetMsgTimeout               83.3%
github.com/nsqio/nsq/nsqd/client_v2.go:487:         UpgradeTLS              100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:507:         UpgradeDeflate              100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:527:         UpgradeSnappy               100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:544:         Flush                   100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:564:         QueryAuthd              75.0%
github.com/nsqio/nsq/nsqd/client_v2.go:586:         Auth                    100.0%
github.com/nsqio/nsq/nsqd/client_v2.go:591:         IsAuthorized                44.4%
github.com/nsqio/nsq/nsqd/client_v2.go:607:         HasAuthorizations           100.0%
github.com/nsqio/nsq/nsqd/diskqueue.go:69:          newDiskQueue                83.3%
github.com/nsqio/nsq/nsqd/diskqueue.go:102:         logf                    66.7%
github.com/nsqio/nsq/nsqd/diskqueue.go:110:         Depth                   100.0%
github.com/nsqio/nsq/nsqd/diskqueue.go:115:         ReadChan                100.0%
github.com/nsqio/nsq/nsqd/diskqueue.go:120:         Put                 100.0%
github.com/nsqio/nsq/nsqd/diskqueue.go:133:         Close                   75.0%
github.com/nsqio/nsq/nsqd/diskqueue.go:141:         Delete                  100.0%
github.com/nsqio/nsq/nsqd/diskqueue.go:145:         exit                    100.0%
github.com/nsqio/nsq/nsqd/diskqueue.go:176:         Empty                   85.7%
github.com/nsqio/nsq/nsqd/diskqueue.go:190:         deleteAllFiles              66.7%
github.com/nsqio/nsq/nsqd/diskqueue.go:202:         skipToNextRWFile            90.5%
github.com/nsqio/nsq/nsqd/diskqueue.go:237:         readOne                 77.5%
github.com/nsqio/nsq/nsqd/diskqueue.go:310:         writeOne                68.3%
github.com/nsqio/nsq/nsqd/diskqueue.go:381:         sync                    63.6%
github.com/nsqio/nsq/nsqd/diskqueue.go:401:         retrieveMetaData            93.3%
github.com/nsqio/nsq/nsqd/diskqueue.go:428:         persistMetaData             78.6%
github.com/nsqio/nsq/nsqd/diskqueue.go:456:         metaDataFileName            100.0%
github.com/nsqio/nsq/nsqd/diskqueue.go:460:         fileName                100.0%
github.com/nsqio/nsq/nsqd/diskqueue.go:464:         checkTailCorruption         56.2%
github.com/nsqio/nsq/nsqd/diskqueue.go:504:         moveForward             90.9%
github.com/nsqio/nsq/nsqd/diskqueue.go:525:         handleReadError             94.1%
github.com/nsqio/nsq/nsqd/diskqueue.go:569:         ioLoop                  88.9%
github.com/nsqio/nsq/nsqd/dqname.go:5:              getBackendName              100.0%
github.com/nsqio/nsq/nsqd/dummy_backend_queue.go:7:     newDummyBackendQueue            100.0%
github.com/nsqio/nsq/nsqd/dummy_backend_queue.go:11:        Put                 0.0%
github.com/nsqio/nsq/nsqd/dummy_backend_queue.go:15:        ReadChan                100.0%
github.com/nsqio/nsq/nsqd/dummy_backend_queue.go:19:        Close                   0.0%
github.com/nsqio/nsq/nsqd/dummy_backend_queue.go:23:        Delete                  100.0%
github.com/nsqio/nsq/nsqd/dummy_backend_queue.go:27:        Depth                   0.0%
github.com/nsqio/nsq/nsqd/dummy_backend_queue.go:31:        Empty                   100.0%
github.com/nsqio/nsq/nsqd/guid.go:41:               NewGUID                 78.6%
github.com/nsqio/nsq/nsqd/guid.go:73:               Hex                 100.0%
github.com/nsqio/nsq/nsqd/http.go:34:               newHTTPServer               100.0%
github.com/nsqio/nsq/nsqd/http.go:110:              setBlockRateHandler         0.0%
github.com/nsqio/nsq/nsqd/http.go:119:              ServeHTTP               100.0%
github.com/nsqio/nsq/nsqd/http.go:129:              pingHandler             100.0%
github.com/nsqio/nsq/nsqd/http.go:137:              doInfo                  0.0%
github.com/nsqio/nsq/nsqd/http.go:159:              getExistingTopicFromQuery       63.6%
github.com/nsqio/nsq/nsqd/http.go:179:              getTopicFromQuery           63.6%
github.com/nsqio/nsq/nsqd/http.go:199:              doPUB                   75.0%
github.com/nsqio/nsq/nsqd/http.go:249:              doMPUB                  81.6%
github.com/nsqio/nsq/nsqd/http.go:320:              doCreateTopic               100.0%
github.com/nsqio/nsq/nsqd/http.go:325:              doEmptyTopic                0.0%
github.com/nsqio/nsq/nsqd/http.go:354:              doDeleteTopic               63.6%
github.com/nsqio/nsq/nsqd/http.go:374:              doPauseTopic                70.0%
github.com/nsqio/nsq/nsqd/http.go:409:              doCreateChannel             80.0%
github.com/nsqio/nsq/nsqd/http.go:418:              doEmptyChannel              0.0%
github.com/nsqio/nsq/nsqd/http.go:437:              doDeleteChannel             71.4%
github.com/nsqio/nsq/nsqd/http.go:451:              doPauseChannel              75.0%
github.com/nsqio/nsq/nsqd/http.go:480:              doStats                 56.0%
github.com/nsqio/nsq/nsqd/http.go:532:              printStats              33.3%
github.com/nsqio/nsq/nsqd/http.go:598:              doConfig                65.2%
github.com/nsqio/nsq/nsqd/http.go:640:              getOptByCfgName             85.7%
github.com/nsqio/nsq/nsqd/in_flight_pqueue.go:5:        newInFlightPqueue           100.0%
github.com/nsqio/nsq/nsqd/in_flight_pqueue.go:9:        Swap                    100.0%
github.com/nsqio/nsq/nsqd/in_flight_pqueue.go:15:       Push                    100.0%
github.com/nsqio/nsq/nsqd/in_flight_pqueue.go:29:       Pop                 100.0%
github.com/nsqio/nsq/nsqd/in_flight_pqueue.go:45:       Remove                  100.0%
github.com/nsqio/nsq/nsqd/in_flight_pqueue.go:58:       PeekAndShift                100.0%
github.com/nsqio/nsq/nsqd/in_flight_pqueue.go:72:       up                  100.0%
github.com/nsqio/nsq/nsqd/in_flight_pqueue.go:83:       down                    100.0%
github.com/nsqio/nsq/nsqd/lookup.go:15:             connectCallback             77.3%
github.com/nsqio/nsq/nsqd/lookup.go:49:             lookupLoop              76.3%
github.com/nsqio/nsq/nsqd/lookup.go:172:            in                  75.0%
github.com/nsqio/nsq/nsqd/lookup.go:181:            lookupdHTTPAddrs            60.0%
github.com/nsqio/nsq/nsqd/lookup_peer.go:39:            newLookupPeer               100.0%
github.com/nsqio/nsq/nsqd/lookup_peer.go:50:            Connect                 83.3%
github.com/nsqio/nsq/nsqd/lookup_peer.go:61:            String                  100.0%
github.com/nsqio/nsq/nsqd/lookup_peer.go:66:            Read                    100.0%
github.com/nsqio/nsq/nsqd/lookup_peer.go:72:            Write                   100.0%
github.com/nsqio/nsq/nsqd/lookup_peer.go:78:            Close                   75.0%
github.com/nsqio/nsq/nsqd/lookup_peer.go:92:            Command                 75.0%
github.com/nsqio/nsq/nsqd/lookup_peer.go:121:           readResponseBounded         72.7%
github.com/nsqio/nsq/nsqd/message.go:32:            NewMessage              100.0%
github.com/nsqio/nsq/nsqd/message.go:40:            WriteTo                 82.4%
github.com/nsqio/nsq/nsqd/message.go:78:            decodeMessage               87.5%
github.com/nsqio/nsq/nsqd/message.go:93:            writeMessageToBackend           80.0%
github.com/nsqio/nsq/nsqd/nsqd.go:73:               New                 70.7%
github.com/nsqio/nsq/nsqd/nsqd.go:145:              logf                    66.7%
github.com/nsqio/nsq/nsqd/nsqd.go:152:              getOpts                 100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:156:              swapOpts                100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:160:              triggerOptsNotification         100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:167:              RealTCPAddr             100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:173:              RealHTTPAddr                100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:179:              RealHTTPSAddr               100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:185:              SetHealth               100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:189:              IsHealthy               100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:193:              GetError                100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:198:              GetHealth               100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:206:              GetStartTime                100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:210:              Main                    81.4%
github.com/nsqio/nsq/nsqd/nsqd.go:264:              LoadMetadata                0.0%
github.com/nsqio/nsq/nsqd/nsqd.go:335:              PersistMetadata             84.1%
github.com/nsqio/nsq/nsqd/nsqd.go:398:              Exit                    94.1%
github.com/nsqio/nsq/nsqd/nsqd.go:432:              GetTopic                74.1%
github.com/nsqio/nsq/nsqd/nsqd.go:492:              GetExistingTopic            100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:503:              DeleteExistingTopic         81.8%
github.com/nsqio/nsq/nsqd/nsqd.go:527:              idPump                  53.3%
github.com/nsqio/nsq/nsqd/nsqd.go:554:              Notify                  90.0%
github.com/nsqio/nsq/nsqd/nsqd.go:579:              channels                100.0%
github.com/nsqio/nsq/nsqd/nsqd.go:597:              resizePool              71.4%
github.com/nsqio/nsq/nsqd/nsqd.go:623:              queueScanWorker             90.0%
github.com/nsqio/nsq/nsqd/nsqd.go:655:              queueScanLoop               86.7%
github.com/nsqio/nsq/nsqd/nsqd.go:709:              buildTLSConfig              86.4%
github.com/nsqio/nsq/nsqd/nsqd.go:755:              IsAuthEnabled               100.0%
github.com/nsqio/nsq/nsqd/options.go:79:            NewOptions              85.7%
github.com/nsqio/nsq/nsqd/protocol_v2.go:37:            IOLoop                  93.9%
github.com/nsqio/nsq/nsqd/protocol_v2.go:126:           SendMessage             80.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:146:           Send                    84.6%
github.com/nsqio/nsq/nsqd/protocol_v2.go:171:           Exec                    88.9%
github.com/nsqio/nsq/nsqd/protocol_v2.go:206:           messagePump             76.2%
github.com/nsqio/nsq/nsqd/protocol_v2.go:353:           IDENTIFY                77.3%
github.com/nsqio/nsq/nsqd/protocol_v2.go:497:           AUTH                    61.3%
github.com/nsqio/nsq/nsqd/protocol_v2.go:567:           CheckAuth               60.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:589:           SUB                 76.2%
github.com/nsqio/nsq/nsqd/protocol_v2.go:630:           RDY                 75.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:667:           FIN                 84.6%
github.com/nsqio/nsq/nsqd/protocol_v2.go:693:           REQ                 0.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:731:           CLS                 0.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:741:           NOP                 100.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:745:           PUB                 76.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:793:           MPUB                    73.9%
github.com/nsqio/nsq/nsqd/protocol_v2.go:844:           DPUB                    71.9%
github.com/nsqio/nsq/nsqd/protocol_v2.go:906:           TOUCH                   73.3%
github.com/nsqio/nsq/nsqd/protocol_v2.go:933:           readMPUB                80.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:975:           getMessageID                100.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:982:           readLen                 75.0%
github.com/nsqio/nsq/nsqd/protocol_v2.go:990:           enforceTLSPolicy            100.0%
github.com/nsqio/nsq/nsqd/rename.go:9:              atomicRename                100.0%
github.com/nsqio/nsq/nsqd/stats.go:21:              NewTopicStats               100.0%
github.com/nsqio/nsq/nsqd/stats.go:49:              NewChannelStats             100.0%
github.com/nsqio/nsq/nsqd/stats.go:98:              Len                 100.0%
github.com/nsqio/nsq/nsqd/stats.go:99:              Swap                    0.0%
github.com/nsqio/nsq/nsqd/stats.go:105:             Less                    0.0%
github.com/nsqio/nsq/nsqd/stats.go:109:             Len                 100.0%
github.com/nsqio/nsq/nsqd/stats.go:110:             Swap                    0.0%
github.com/nsqio/nsq/nsqd/stats.go:116:             Less                    0.0%
github.com/nsqio/nsq/nsqd/stats.go:118:             GetStats                100.0%
github.com/nsqio/nsq/nsqd/statsd.go:15:             Len                 0.0%
github.com/nsqio/nsq/nsqd/statsd.go:19:             Swap                    0.0%
github.com/nsqio/nsq/nsqd/statsd.go:23:             Less                    0.0%
github.com/nsqio/nsq/nsqd/statsd.go:27:             statsdLoop              0.0%
github.com/nsqio/nsq/nsqd/statsd.go:151:            percentile              0.0%
github.com/nsqio/nsq/nsqd/tcp.go:14:                Handle                  68.4%
github.com/nsqio/nsq/nsqd/topic.go:40:              NewTopic                100.0%
github.com/nsqio/nsq/nsqd/topic.go:74:              Exiting                 100.0%
github.com/nsqio/nsq/nsqd/topic.go:81:              GetChannel              100.0%
github.com/nsqio/nsq/nsqd/topic.go:98:              getOrCreateChannel          100.0%
github.com/nsqio/nsq/nsqd/topic.go:112:             GetExistingChannel          100.0%
github.com/nsqio/nsq/nsqd/topic.go:123:             DeleteExistingChannel           86.7%
github.com/nsqio/nsq/nsqd/topic.go:155:             PutMessage              88.9%
github.com/nsqio/nsq/nsqd/topic.go:170:             PutMessages             90.0%
github.com/nsqio/nsq/nsqd/topic.go:186:             put                 100.0%
github.com/nsqio/nsq/nsqd/topic.go:204:             Depth                   100.0%
github.com/nsqio/nsq/nsqd/topic.go:210:             messagePump             86.0%
github.com/nsqio/nsq/nsqd/topic.go:295:             Delete                  100.0%
github.com/nsqio/nsq/nsqd/topic.go:300:             Close                   100.0%
github.com/nsqio/nsq/nsqd/topic.go:304:             exit                    90.9%
github.com/nsqio/nsq/nsqd/topic.go:351:             Empty                   75.0%
github.com/nsqio/nsq/nsqd/topic.go:364:             flush                   80.0%
github.com/nsqio/nsq/nsqd/topic.go:390:             AggregateChannelE2eProcessingLatency    76.9%
github.com/nsqio/nsq/nsqd/topic.go:412:             Pause                   100.0%
github.com/nsqio/nsq/nsqd/topic.go:416:             UnPause                 100.0%
github.com/nsqio/nsq/nsqd/topic.go:420:             doPause                 100.0%
github.com/nsqio/nsq/nsqd/topic.go:435:             IsPaused                100.0%
github.com/nsqio/nsq/nsqlookupd/client_v1.go:12:        NewClientV1             100.0%
github.com/nsqio/nsq/nsqlookupd/client_v1.go:18:        String                  100.0%
github.com/nsqio/nsq/nsqlookupd/http.go:20:         newHTTPServer               100.0%
github.com/nsqio/nsq/nsqlookupd/http.go:76:         ServeHTTP               100.0%
github.com/nsqio/nsq/nsqlookupd/http.go:80:         pingHandler             0.0%
github.com/nsqio/nsq/nsqlookupd/http.go:84:         doInfo                  0.0%
github.com/nsqio/nsq/nsqlookupd/http.go:92:         doTopics                100.0%
github.com/nsqio/nsq/nsqlookupd/http.go:99:         doChannels              0.0%
github.com/nsqio/nsq/nsqlookupd/http.go:116:            doLookup                76.9%
github.com/nsqio/nsq/nsqlookupd/http.go:142:            doCreateTopic               0.0%
github.com/nsqio/nsq/nsqlookupd/http.go:164:            doDeleteTopic               0.0%
github.com/nsqio/nsq/nsqlookupd/http.go:190:            doTombstoneTopicProducer        81.2%
github.com/nsqio/nsq/nsqlookupd/http.go:218:            doCreateChannel             0.0%
github.com/nsqio/nsq/nsqlookupd/http.go:240:            doDeleteChannel             0.0%
github.com/nsqio/nsq/nsqlookupd/http.go:275:            doNodes                 100.0%
github.com/nsqio/nsq/nsqlookupd/http.go:312:            doDebug                 0.0%
github.com/nsqio/nsq/nsqlookupd/lookup_protocol_v1.go:24:   IOLoop                  91.4%
github.com/nsqio/nsq/nsqlookupd/lookup_protocol_v1.go:82:   Exec                    83.3%
github.com/nsqio/nsq/nsqlookupd/lookup_protocol_v1.go:96:   getTopicChan                72.7%
github.com/nsqio/nsq/nsqlookupd/lookup_protocol_v1.go:118:  REGISTER                84.6%
github.com/nsqio/nsq/nsqlookupd/lookup_protocol_v1.go:144:  UNREGISTER              85.0%
github.com/nsqio/nsq/nsqlookupd/lookup_protocol_v1.go:188:  IDENTIFY                78.4%
github.com/nsqio/nsq/nsqlookupd/lookup_protocol_v1.go:251:  PING                    0.0%
github.com/nsqio/nsq/nsqlookupd/nsqlookupd.go:24:       New                 100.0%
github.com/nsqio/nsq/nsqlookupd/nsqlookupd.go:33:       logf                    66.7%
github.com/nsqio/nsq/nsqlookupd/nsqlookupd.go:40:       Main                    81.0%
github.com/nsqio/nsq/nsqlookupd/nsqlookupd.go:70:       RealTCPAddr             100.0%
github.com/nsqio/nsq/nsqlookupd/nsqlookupd.go:76:       RealHTTPAddr                100.0%
github.com/nsqio/nsq/nsqlookupd/nsqlookupd.go:82:       Exit                    100.0%
github.com/nsqio/nsq/nsqlookupd/options.go:22:          NewOptions              75.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:41:      String                  0.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:45:      Tombstone               100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:50:      IsTombstoned                100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:54:      NewRegistrationDB           100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:61:      AddRegistration             0.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:71:      AddProducer             90.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:88:      RemoveProducer              92.3%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:110:     RemoveRegistration          100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:116:     needFilter              100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:120:     FindRegistrations           100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:140:     FindProducers               100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:168:     LookupRegistrations         100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:183:     IsMatch                 100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:196:     Filter                  100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:206:     Keys                    100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:214:     SubKeys                 100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:222:     FilterByActive              100.0%
github.com/nsqio/nsq/nsqlookupd/registration_db.go:235:     PeerInfo                100.0%
github.com/nsqio/nsq/nsqlookupd/tcp.go:14:          Handle                  68.4%
total:                              (statements)                66.2%

@kenjones-cisco
Copy link
Contributor Author

Sample HTML (screencap)
sample-coverage-html

@mreiferson
Copy link
Member

@kenjones-cisco is there a summary output?

@kenjones-cisco
Copy link
Contributor Author

kenjones-cisco commented Jul 28, 2016

@mreiferson
The only overall summary is the last line which shows:

total:                              (statements)                66.2%

Since the coverage is actually generated on a per package level to start with then you would see a summary for each package printed to stdout. Very similar to what you see now when it shows the results of the tests, how long it took, but using this it would include coverage summary for the package.

fictional example:

ok  github.com/nsqio/nsq/nsqadmin                0.013s  coverage: 100.0% of statements
ok  github.com/nsqio/nsq/nsqd           0.014s  coverage: 89.7% of statements

@mreiferson
Copy link
Member

@kenjones-cisco feel like we should just integrate the repo with coveralls.io so we get continuous reporting?

@kenjones-cisco
Copy link
Contributor Author

@mreiferson I like that idea as well, I actually took that option out of the script as that required you guys to setup up that integration. But the same script could handle pushing the data into coveralls as well.

The output from the script as it is, helps developers see the coverage or lack there of then making changes.

I'm a huge fan over tracking coverage of all projects 👍

@mreiferson
Copy link
Member

I can setup the integration and add the COVERALLS_TOKEN to the travis environment, if you want to make the changes here to integrate the two?

@kenjones-cisco
Copy link
Contributor Author

I'll update the script accordingly.

@mreiferson
Copy link
Member

Cool, thanks, the environment variable should be ready to go.

@coveralls
Copy link

coveralls commented Jul 28, 2016

Coverage Status

Changes Unknown when pulling 431bb62 on kenjones-cisco:test/add-coverage into * on nsqio:master*.

@kenjones-cisco
Copy link
Contributor Author

@mreiferson Changes made and the results made it over to coveralls; seem to be hitting the DiskQueue intermittent test case failures. But otherwise it worked well.

@mreiferson
Copy link
Member

Need to turn off that comment thing 👊

@mreiferson
Copy link
Member

this is great, want to add the badge to the README while we're in here?

@mreiferson
Copy link
Member

[![Coverage Status](https://coveralls.io/repos/github/nsqio/nsq/badge.svg)](https://coveralls.io/github/nsqio/nsq)

@mreiferson
Copy link
Member

@kenjones-cisco can we skip bindata.go?

@kenjones-cisco
Copy link
Contributor Author

I'll add the badge and because each file gets coverage generated, we could definitely add an exception for bindata.

@mreiferson
Copy link
Member

@kenjones-cisco this ready to land?

Adds script for generating code coverage statistics for Go packages.

Borrowed from https://github.com/hashicorp/vault
@kenjones-cisco
Copy link
Contributor Author

The ignore didn't work, trying another pattern for ignore, such that bindata does not show up. Since goveralls supports an ignore files, I'm hoping it is that simple and it is just a case of getting the proper pattern.

@kenjones-cisco
Copy link
Contributor Author

@mreiferson Now it is ready!

@mreiferson
Copy link
Member

this is great 💯

@mreiferson mreiferson merged commit e5a9caf into nsqio:master Jul 28, 2016
@kenjones-cisco
Copy link
Contributor Author

@mreiferson seems the URL for the badge was incomplete, should have been
Coverage Status

Not sure if you want to make the minor update or if you need another PR.

@mreiferson
Copy link
Member

I'll fix, thanks

@kenjones-cisco kenjones-cisco deleted the test/add-coverage branch July 29, 2016 01:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants