drachtio-server icon indicating copy to clipboard operation
drachtio-server copied to clipboard

CI additions

Open ghenry opened this issue 3 years ago • 6 comments

Hi @davehorton

You OK if I add some of these via a PR?

https://github.com/SentryPeer/SentryPeer/tree/main/.github/workflows

Thanks, Gavin.

ghenry avatar May 17 '22 08:05 ghenry

For example, a potential memory leak:

src/CLionProjects/drachtio-server [main*]$ cppcheck src/
Checking src/blacklist.cpp ...
Checking src/blacklist.cpp: DRACHTIO_MAIN...
Checking src/blacklist.cpp: __clang__...
1/26 files checked 0% done
Checking src/cdr.cpp ...
Checking src/cdr.cpp: DRACHTIO_MAIN...
Checking src/cdr.cpp: __clang__...
2/26 files checked 1% done
Checking src/client-controller.cpp ...
Checking src/client-controller.cpp: DRACHTIO_MAIN...
Checking src/client-controller.cpp: __clang__...
3/26 files checked 7% done
Checking src/client.cpp ...
Checking src/client.cpp: DRACHTIO_MAIN...
Checking src/client.cpp: IPPROTO_TCP;SOL_TCP...
Checking src/client.cpp: TCP_KEEPALIVE;TCP_KEEPIDLE...
Checking src/client.cpp: __clang__...
4/26 files checked 12% done
Checking src/controller.cpp ...
src/controller.cpp:1756:9: error: syntax error [syntaxError]
        return throw std::runtime_error(msg.str()) ;
        ^
Checking src/controller.cpp: DRACHTIO_MAIN...
Checking src/controller.cpp: SOFIA_MSG_DEBUG_TRACE...
Checking src/controller.cpp: __clang__...
5/26 files checked 30% done
Checking src/drachtio-config.cpp ...
Checking src/drachtio-config.cpp: DRACHTIO_MAIN...
Checking src/drachtio-config.cpp: __clang__...
6/26 files checked 35% done
Checking src/drachtio.cpp ...
src/drachtio.cpp:523:9: error: Memory leak: ptr [memleak]
        return (void*) ((char*) ptr + 8);
        ^
Checking src/drachtio.cpp: DRACHTIO_MAIN...
Checking src/drachtio.cpp: __clang__...
7/26 files checked 43% done
Checking src/invite-in-progress.cpp ...
Checking src/invite-in-progress.cpp: DRACHTIO_MAIN...
Checking src/invite-in-progress.cpp: __clang__...
8/26 files checked 44% done
Checking src/main.cpp ...
Checking src/main.cpp: __clang__...
9/26 files checked 44% done
Checking src/pending-request-controller.cpp ...
Checking src/pending-request-controller.cpp: DRACHTIO_MAIN...
Checking src/pending-request-controller.cpp: __clang__...
10/26 files checked 46% done
Checking src/request-handler.cpp ...
Checking src/request-handler.cpp: DRACHTIO_MAIN...
Checking src/request-handler.cpp: __clang__...
11/26 files checked 50% done
Checking src/request-router.cpp ...
Checking src/request-router.cpp: DRACHTIO_MAIN...
Checking src/request-router.cpp: __clang__...
12/26 files checked 51% done
Checking src/sip-dialog-controller.cpp ...
Checking src/sip-dialog-controller.cpp: DRACHTIO_MAIN...
Checking src/sip-dialog-controller.cpp: __clang__...
13/26 files checked 70% done
Checking src/sip-dialog.cpp ...
Checking src/sip-dialog.cpp: DRACHTIO_MAIN...
Checking src/sip-dialog.cpp: __clang__...
14/26 files checked 73% done
Checking src/sip-proxy-controller.cpp ...
Checking src/sip-proxy-controller.cpp: DRACHTIO_MAIN...
Checking src/sip-proxy-controller.cpp: __clang__...
15/26 files checked 86% done
Checking src/sip-transports.cpp ...
Checking src/sip-transports.cpp: DEBUG...
Checking src/sip-transports.cpp: DRACHTIO_MAIN...
Checking src/sip-transports.cpp: __clang__...
16/26 files checked 90% done
Checking src/ssltest.cpp ...
17/26 files checked 91% done
Checking src/stats-collector.cpp ...
Checking src/stats-collector.cpp: DRACHTIO_MAIN...
Checking src/stats-collector.cpp: __clang__...
18/26 files checked 92% done
Checking src/test_asio_curl.cpp ...
19/26 files checked 95% done
Checking src/test_https.cpp ...
20/26 files checked 95% done
Checking src/test_log.cpp ...
21/26 files checked 96% done
Checking src/test_parser.cpp ...
22/26 files checked 97% done
Checking src/test_timer.cpp ...
23/26 files checked 97% done
Checking src/test_uri_parser.cpp ...
Checking src/test_uri_parser.cpp: DRACHTIO_MAIN...
Checking src/test_uri_parser.cpp: __clang__...
24/26 files checked 98% done
Checking src/timer-queue-manager.cpp ...
Checking src/timer-queue-manager.cpp: DRACHTIO_MAIN...
Checking src/timer-queue-manager.cpp: __clang__...
25/26 files checked 98% done
Checking src/timer-queue.cpp ...
Checking src/timer-queue.cpp: DRACHTIO_MAIN...
Checking src/timer-queue.cpp: __clang__...
26/26 files checked 100% done

SonarCloud is great, plus the free things from GitHub, but Coverity is very powerful as are these https://github.com/google/sanitizers and

ghenry avatar May 17 '22 08:05 ghenry

Sure!

Sent from my iPhone

On May 17, 2022, at 4:23 AM, Gavin Henry @.***> wrote:

 For example, a potential memory leak:

src/CLionProjects/drachtio-server [main*]$ cppcheck src/ Checking src/blacklist.cpp ... Checking src/blacklist.cpp: DRACHTIO_MAIN... Checking src/blacklist.cpp: clang... 1/26 files checked 0% done Checking src/cdr.cpp ... Checking src/cdr.cpp: DRACHTIO_MAIN... Checking src/cdr.cpp: clang... 2/26 files checked 1% done Checking src/client-controller.cpp ... Checking src/client-controller.cpp: DRACHTIO_MAIN... Checking src/client-controller.cpp: clang... 3/26 files checked 7% done Checking src/client.cpp ... Checking src/client.cpp: DRACHTIO_MAIN... Checking src/client.cpp: IPPROTO_TCP;SOL_TCP... Checking src/client.cpp: TCP_KEEPALIVE;TCP_KEEPIDLE... Checking src/client.cpp: clang... 4/26 files checked 12% done Checking src/controller.cpp ... src/controller.cpp:1756:9: error: syntax error [syntaxError] return throw std::runtime_error(msg.str()) ; ^ Checking src/controller.cpp: DRACHTIO_MAIN... Checking src/controller.cpp: SOFIA_MSG_DEBUG_TRACE... Checking src/controller.cpp: clang... 5/26 files checked 30% done Checking src/drachtio-config.cpp ... Checking src/drachtio-config.cpp: DRACHTIO_MAIN... Checking src/drachtio-config.cpp: clang... 6/26 files checked 35% done Checking src/drachtio.cpp ... src/drachtio.cpp:523:9: error: Memory leak: ptr [memleak] return (void*) ((char*) ptr + 8); ^ Checking src/drachtio.cpp: DRACHTIO_MAIN... Checking src/drachtio.cpp: clang... 7/26 files checked 43% done Checking src/invite-in-progress.cpp ... Checking src/invite-in-progress.cpp: DRACHTIO_MAIN... Checking src/invite-in-progress.cpp: clang... 8/26 files checked 44% done Checking src/main.cpp ... Checking src/main.cpp: clang... 9/26 files checked 44% done Checking src/pending-request-controller.cpp ... Checking src/pending-request-controller.cpp: DRACHTIO_MAIN... Checking src/pending-request-controller.cpp: clang... 10/26 files checked 46% done Checking src/request-handler.cpp ... Checking src/request-handler.cpp: DRACHTIO_MAIN... Checking src/request-handler.cpp: clang... 11/26 files checked 50% done Checking src/request-router.cpp ... Checking src/request-router.cpp: DRACHTIO_MAIN... Checking src/request-router.cpp: clang... 12/26 files checked 51% done Checking src/sip-dialog-controller.cpp ... Checking src/sip-dialog-controller.cpp: DRACHTIO_MAIN... Checking src/sip-dialog-controller.cpp: clang... 13/26 files checked 70% done Checking src/sip-dialog.cpp ... Checking src/sip-dialog.cpp: DRACHTIO_MAIN... Checking src/sip-dialog.cpp: clang... 14/26 files checked 73% done Checking src/sip-proxy-controller.cpp ... Checking src/sip-proxy-controller.cpp: DRACHTIO_MAIN... Checking src/sip-proxy-controller.cpp: clang... 15/26 files checked 86% done Checking src/sip-transports.cpp ... Checking src/sip-transports.cpp: DEBUG... Checking src/sip-transports.cpp: DRACHTIO_MAIN... Checking src/sip-transports.cpp: clang... 16/26 files checked 90% done Checking src/ssltest.cpp ... 17/26 files checked 91% done Checking src/stats-collector.cpp ... Checking src/stats-collector.cpp: DRACHTIO_MAIN... Checking src/stats-collector.cpp: clang... 18/26 files checked 92% done Checking src/test_asio_curl.cpp ... 19/26 files checked 95% done Checking src/test_https.cpp ... 20/26 files checked 95% done Checking src/test_log.cpp ... 21/26 files checked 96% done Checking src/test_parser.cpp ... 22/26 files checked 97% done Checking src/test_timer.cpp ... 23/26 files checked 97% done Checking src/test_uri_parser.cpp ... Checking src/test_uri_parser.cpp: DRACHTIO_MAIN... Checking src/test_uri_parser.cpp: clang... 24/26 files checked 98% done Checking src/timer-queue-manager.cpp ... Checking src/timer-queue-manager.cpp: DRACHTIO_MAIN... Checking src/timer-queue-manager.cpp: clang... 25/26 files checked 98% done Checking src/timer-queue.cpp ... Checking src/timer-queue.cpp: DRACHTIO_MAIN... Checking src/timer-queue.cpp: clang... 26/26 files checked 100% done SonarCloud is great, plus the free things from GitHub, but Coverity is very powerful as are these https://github.com/google/sanitizers and

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

davehorton avatar May 17 '22 10:05 davehorton

5 new CI jobs added. A bit of work to do though.

Thanks.

ghenry avatar May 17 '22 14:05 ghenry

I'd also recommend adding to lgtm.com and codacy.com (free). These both add value and, as well as SonarCloud, can scan Javascript, which I'd recommend added CI to all the other Jambonz repos.

ghenry avatar May 17 '22 14:05 ghenry

Damn, forgot to install some of the tools!

ghenry avatar May 17 '22 14:05 ghenry

I'll clean these up tonight.

ghenry avatar May 17 '22 15:05 ghenry