* [OpenBMC]: Unit test coverage analysis on openbmc repositories @ 2020-02-28 15:35 Lakshminarayana R Kammath 2020-02-28 16:18 ` Brad Bishop ` (4 more replies) 0 siblings, 5 replies; 16+ messages in thread From: Lakshminarayana R Kammath @ 2020-02-28 15:35 UTC (permalink / raw) To: openbmc [-- Attachment #1: Type: text/html, Size: 22121 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 15:35 [OpenBMC]: Unit test coverage analysis on openbmc repositories Lakshminarayana R Kammath @ 2020-02-28 16:18 ` Brad Bishop 2020-02-28 16:30 ` Lakshminarayana R Kammath ` (3 subsequent siblings) 4 siblings, 0 replies; 16+ messages in thread From: Brad Bishop @ 2020-02-28 16:18 UTC (permalink / raw) To: Lakshminarayana R Kammath; +Cc: openbmc at 10:35 AM, Lakshminarayana R Kammath <lkammath@in.ibm.com> wrote: > Hi All, > > Recently we worked on pulling the UT coverage analysis from all the > available OpenBMC repositories > > https://github.com/openbmc/openbmc-build-scripts/commit/229b76a95f87af60c976a0c0dfe84716c9ce5318 > > This script does following > • Clone the repo > • Use the CI build environment to build code > • Publish the result in the following format > Latest report: > *************************UNIT TEST COVERAGE REPORT************************* > https://github.com/openbmc/bmcweb.git NO > https://github.com/openbmc/boost-dbus.git ERROR > https://github.com/openbmc/btbridge.git NO > https://github.com/openbmc/dbus-sensors.git NO > https://github.com/openbmc/entity-manager.git NO > https://github.com/openbmc/fb-ipmi-oem.git NO > https://github.com/openbmc/google-ipmi-i2c.git ERROR > https://github.com/openbmc/google-ipmi-sys.git YES, UNIT TEST > https://github.com/openbmc/gpioplus.git YES, COVERAGE > https://github.com/openbmc/hiomapd.git YES, UNIT TEST > https://github.com/openbmc/ibm-dbus-interfaces.git NO > https://github.com/openbmc/ibm-logging.git YES, UNIT TEST > https://github.com/openbmc/ibm-pldm-oem.git ERROR > https://github.com/openbmc/inarp.git ERROR > https://github.com/openbmc/intel-dbus-interfaces.git NO > https://github.com/openbmc/intel-ipmi-oem.git NO > https://github.com/openbmc/ipmbbridge.git NO > https://github.com/openbmc/ipmi-blob-tool.git YES, UNIT TEST > https://github.com/openbmc/ipmi-fru-parser.git NO > https://github.com/openbmc/ipmitool.git ERROR > https://github.com/openbmc/jsnbd.git ERROR > https://github.com/openbmc/kcsbridge.git NO > https://github.com/openbmc/lenovo-ipmi-oem.git NO > https://github.com/openbmc/libmctp.git YES, UNIT TEST > https://github.com/openbmc/librrdplus.git NO > https://github.com/openbmc/obmc-console.git YES, UNIT TEST > https://github.com/openbmc/obmc-ikvm.git NO > https://github.com/openbmc/openbmc.git NO > https://github.com/openbmc/openbmc-tools.git NO > https://github.com/openbmc/openbmc.github.io.git NO > https://github.com/openbmc/openpower-dbus-interfaces.git NO > https://github.com/openbmc/openpower-debug-collector.git NO > https://github.com/openbmc/openpower-host-ipmi-flash.git NO > https://github.com/openbmc/openpower-host-ipmi-oem.git NO > https://github.com/openbmc/openpower-hw-diags.git YES, COVERAGE > https://github.com/openbmc/openpower-inventory-upload.git NO > https://github.com/openbmc/openpower-libhei.git YES, COVERAGE > https://github.com/openbmc/openpower-logging.git NO > https://github.com/openbmc/openpower-occ-control.git YES, UNIT TEST > https://github.com/openbmc/openpower-pnor-code-mgmt.git YES, UNIT TEST > https://github.com/openbmc/openpower-power-control.git NO > https://github.com/openbmc/openpower-proc-control.git YES, UNIT TEST > https://github.com/openbmc/openpower-sbe-interface.git NO > https://github.com/openbmc/openpower-vpd-parser.git YES, UNIT TEST > https://github.com/openbmc/pam-ipmi.git NO > https://github.com/openbmc/phosphor-bmc-code-mgmt.git YES, UNIT TEST > https://github.com/openbmc/phosphor-buttons.git NO > https://github.com/openbmc/phosphor-certificate-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-dbus-interfaces.git NO > https://github.com/openbmc/phosphor-dbus-monitor.git YES, UNIT TEST > https://github.com/openbmc/phosphor-debug-collector.git NO > https://github.com/openbmc/phosphor-ecc.git NO > https://github.com/openbmc/phosphor-event.git YES, UNIT TEST > https://github.com/openbmc/phosphor-fan-presence.git YES, UNIT TEST > https://github.com/openbmc/phosphor-gpio-monitor.git YES, COVERAGE > https://github.com/openbmc/phosphor-host-ipmid.git ERROR > https://github.com/openbmc/phosphor-host-postd.git YES, UNIT TEST > https://github.com/openbmc/phosphor-hostlogger.git NO > https://github.com/openbmc/phosphor-hwmon.git NO > https://github.com/openbmc/phosphor-inventory-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-ipmi-blobs.git YES, UNIT TEST > https://github.com/openbmc/phosphor-ipmi-blobs-binarystore.git YES, UNIT > TEST > https://github.com/openbmc/phosphor-ipmi-ethstats.git YES, UNIT TEST > https://github.com/openbmc/phosphor-ipmi-flash.git YES, UNIT TEST > https://github.com/openbmc/phosphor-led-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-led-sysfs.git YES, UNIT TEST > https://github.com/openbmc/phosphor-logging.git YES, UNIT TEST > https://github.com/openbmc/phosphor-mboxd.git ERROR > https://github.com/openbmc/phosphor-misc.git NO > https://github.com/openbmc/phosphor-mrw-tools.git NO > https://github.com/openbmc/phosphor-net-ipmid.git YES, UNIT TEST > https://github.com/openbmc/phosphor-networkd.git YES, UNIT TEST > https://github.com/openbmc/phosphor-nvme.git NO > https://github.com/openbmc/phosphor-objmgr.git YES, UNIT TEST > https://github.com/openbmc/phosphor-pcie-presence.git NO > https://github.com/openbmc/phosphor-pid-control.git YES, UNIT TEST > https://github.com/openbmc/phosphor-post-code-manager.git NO > https://github.com/openbmc/phosphor-power.git YES, COVERAGE > https://github.com/openbmc/phosphor-power-control.git NO > https://github.com/openbmc/phosphor-power-monitor.git NO > https://github.com/openbmc/phosphor-psu-code-mgmt.git YES, COVERAGE > https://github.com/openbmc/phosphor-rest-server.git NO > https://github.com/openbmc/phosphor-sel-logger.git NO > https://github.com/openbmc/phosphor-settingsd.git NO > https://github.com/openbmc/phosphor-snmp.git ERROR > https://github.com/openbmc/phosphor-state-manager.git YES, COVERAGE > https://github.com/openbmc/phosphor-time-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-u-boot-env-mgr.git NO > https://github.com/openbmc/phosphor-user-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-watchdog.git YES, COVERAGE > https://github.com/openbmc/phosphor-webui.git NO > https://github.com/openbmc/pldm.git YES, COVERAGE > https://github.com/openbmc/pyphosphor.git NO > https://github.com/openbmc/qualcomm-ipmi-oem.git NO > https://github.com/openbmc/qualcomm-misc.git NO > https://github.com/openbmc/quanta-ipmi-oem.git NO > https://github.com/openbmc/rest-dbus.git NO > https://github.com/openbmc/rrd-ipmi-blobs.git NO > https://github.com/openbmc/s2600wf-misc.git NO > https://github.com/openbmc/sdbusplus.git YES, UNIT TEST > https://github.com/openbmc/sdeventplus.git YES, COVERAGE > https://github.com/openbmc/skeleton.git ERROR > https://github.com/openbmc/slpd-lite.git NO > https://github.com/openbmc/smbios-mdr.git ERROR > https://github.com/openbmc/stdplus.git YES, COVERAGE > https://github.com/openbmc/telemetry.git NO > https://github.com/openbmc/u-boot NO > https://github.com/openbmc/webui-vue.git NO > https://github.com/openbmc/witherspoon-pfault-analysis.git YES, COVERAGE > https://github.com/openbmc/x86-power-control.git NO > *************************UNIT TEST COVERAGE REPORT************************* > SUMMARY: > TOTAL REPOSITORIES : 110 > TESTED REPOSITORIES : 43 > ERROR : 11 > COVERAGE REPORT : 12 > UNIT TEST REPORT : 31 > NO REPORT : 56 > *************************************************************************** Very nice Lakshmi! Some of the repos have been archived. Can the script be updated to check for that and skip it if so? boost-dbus, inarp are a couple - there are likely more. ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 15:35 [OpenBMC]: Unit test coverage analysis on openbmc repositories Lakshminarayana R Kammath 2020-02-28 16:18 ` Brad Bishop @ 2020-02-28 16:30 ` Lakshminarayana R Kammath 2020-02-28 16:31 ` Brad Bishop 2020-02-28 18:20 ` Patrick Venture ` (2 subsequent siblings) 4 siblings, 1 reply; 16+ messages in thread From: Lakshminarayana R Kammath @ 2020-02-28 16:30 UTC (permalink / raw) To: bradleyb; +Cc: openbmc [-- Attachment #1: Type: text/html, Size: 19589 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 16:30 ` Lakshminarayana R Kammath @ 2020-02-28 16:31 ` Brad Bishop 2020-02-28 16:36 ` Brad Bishop 2020-02-28 16:39 ` Lakshminarayana R Kammath 0 siblings, 2 replies; 16+ messages in thread From: Brad Bishop @ 2020-02-28 16:31 UTC (permalink / raw) To: Lakshminarayana R Kammath; +Cc: openbmc at 11:30 AM, Lakshminarayana R Kammath <lkammath@in.ibm.com> wrote: > sure Brad! > > If Some one can confirm the list of repo's that can be ignored we can put > them to blacklist Is it possible to use the GitHub api to query this? Then we don’t need to maintain a blacklist. How are you building the list of repos? ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 16:31 ` Brad Bishop @ 2020-02-28 16:36 ` Brad Bishop 2020-03-04 6:42 ` Lakshminarayana R Kammath 2020-02-28 16:39 ` Lakshminarayana R Kammath 1 sibling, 1 reply; 16+ messages in thread From: Brad Bishop @ 2020-02-28 16:36 UTC (permalink / raw) To: Lakshminarayana R Kammath; +Cc: openbmc at 11:31 AM, Brad Bishop <bradleyb@fuzziesquirrel.com> wrote: > at 11:30 AM, Lakshminarayana R Kammath <lkammath@in.ibm.com> wrote: > >> sure Brad! >> >> If Some one can confirm the list of repo's that can be ignored we can >> put them to blacklist > > Is it possible to use the GitHub api to query this? Then we don’t need > to maintain a blacklist. How are you building the list of repos? https://developer.github.com/v3/repos/#list-organization-repositories there is an “archived” property in the response to this list-org-repos api that seems like it would work? This looks like an interesting python module that might make the API interaction easier... https://pygithub.readthedocs.io/en/latest/ ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 16:36 ` Brad Bishop @ 2020-03-04 6:42 ` Lakshminarayana R Kammath 0 siblings, 0 replies; 16+ messages in thread From: Lakshminarayana R Kammath @ 2020-03-04 6:42 UTC (permalink / raw) To: bradleyb; +Cc: openbmc [-- Attachment #1: Type: text/html, Size: 4411 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 16:31 ` Brad Bishop 2020-02-28 16:36 ` Brad Bishop @ 2020-02-28 16:39 ` Lakshminarayana R Kammath 2020-02-28 18:12 ` Nancy Yuen 1 sibling, 1 reply; 16+ messages in thread From: Lakshminarayana R Kammath @ 2020-02-28 16:39 UTC (permalink / raw) To: bradleyb; +Cc: openbmc [-- Attachment #1: Type: text/html, Size: 1735 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 16:39 ` Lakshminarayana R Kammath @ 2020-02-28 18:12 ` Nancy Yuen 0 siblings, 0 replies; 16+ messages in thread From: Nancy Yuen @ 2020-02-28 18:12 UTC (permalink / raw) To: Lakshminarayana R Kammath; +Cc: Brad Bishop, OpenBMC Maillist [-- Attachment #1: Type: text/plain, Size: 935 bytes --] This is great information! Thank ---------- Nancy On Fri, Feb 28, 2020 at 8:40 AM Lakshminarayana R Kammath < lkammath@in.ibm.com> wrote: > Yes, We can do that. Just need to figure out the API's > > Thanks & Regards, > Lakshminarayana Kamath > > > > ----- Original message ----- > From: Brad Bishop <bradleyb@fuzziesquirrel.com> > To: Lakshminarayana R Kammath <lkammath@in.ibm.com> > Cc: openbmc@lists.ozlabs.org > Subject: [EXTERNAL] Re: [OpenBMC]: Unit test coverage analysis on openbmc > repositories > Date: Fri, Feb 28, 2020 10:01 PM > > at 11:30 AM, Lakshminarayana R Kammath <lkammath@in.ibm.com> wrote: > > > sure Brad! > > > > If Some one can confirm the list of repo's that can be ignored we can > put > > them to blacklist > > Is it possible to use the GitHub api to query this? Then we don’t need to > > maintain a blacklist. How are you building the list of repos? > > > > > [-- Attachment #2: Type: text/html, Size: 2395 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 15:35 [OpenBMC]: Unit test coverage analysis on openbmc repositories Lakshminarayana R Kammath 2020-02-28 16:18 ` Brad Bishop 2020-02-28 16:30 ` Lakshminarayana R Kammath @ 2020-02-28 18:20 ` Patrick Venture 2020-03-05 1:25 ` James Feist 2020-03-03 4:48 ` Andrew Jeffery 2020-03-04 18:43 ` Andrew Geissler 4 siblings, 1 reply; 16+ messages in thread From: Patrick Venture @ 2020-02-28 18:20 UTC (permalink / raw) To: Lakshminarayana R Kammath; +Cc: OpenBMC Maillist On Fri, Feb 28, 2020 at 7:36 AM Lakshminarayana R Kammath <lkammath@in.ibm.com> wrote: > > Hi All, > > Recently we worked on pulling the UT coverage analysis from all the available OpenBMC repositories > > https://github.com/openbmc/openbmc-build-scripts/commit/229b76a95f87af60c976a0c0dfe84716c9ce5318 > > This script does following > > Clone the repo > Use the CI build environment to build code > Publish the result in the following format > > Latest report: > *************************UNIT TEST COVERAGE REPORT************************* > https://github.com/openbmc/bmcweb.git NO > https://github.com/openbmc/boost-dbus.git ERROR > https://github.com/openbmc/btbridge.git NO > https://github.com/openbmc/dbus-sensors.git NO > https://github.com/openbmc/entity-manager.git NO > https://github.com/openbmc/fb-ipmi-oem.git NO > https://github.com/openbmc/google-ipmi-i2c.git ERROR > https://github.com/openbmc/google-ipmi-sys.git YES, UNIT TEST > https://github.com/openbmc/gpioplus.git YES, COVERAGE > https://github.com/openbmc/hiomapd.git YES, UNIT TEST > https://github.com/openbmc/ibm-dbus-interfaces.git NO > https://github.com/openbmc/ibm-logging.git YES, UNIT TEST > https://github.com/openbmc/ibm-pldm-oem.git ERROR > https://github.com/openbmc/inarp.git ERROR > https://github.com/openbmc/intel-dbus-interfaces.git NO > https://github.com/openbmc/intel-ipmi-oem.git NO > https://github.com/openbmc/ipmbbridge.git NO > https://github.com/openbmc/ipmi-blob-tool.git YES, UNIT TEST > https://github.com/openbmc/ipmi-fru-parser.git NO > https://github.com/openbmc/ipmitool.git ERROR > https://github.com/openbmc/jsnbd.git ERROR > https://github.com/openbmc/kcsbridge.git NO > https://github.com/openbmc/lenovo-ipmi-oem.git NO > https://github.com/openbmc/libmctp.git YES, UNIT TEST > https://github.com/openbmc/librrdplus.git NO > https://github.com/openbmc/obmc-console.git YES, UNIT TEST > https://github.com/openbmc/obmc-ikvm.git NO > https://github.com/openbmc/openbmc.git NO > https://github.com/openbmc/openbmc-tools.git NO > https://github.com/openbmc/openbmc.github.io.git NO > https://github.com/openbmc/openpower-dbus-interfaces.git NO > https://github.com/openbmc/openpower-debug-collector.git NO > https://github.com/openbmc/openpower-host-ipmi-flash.git NO > https://github.com/openbmc/openpower-host-ipmi-oem.git NO > https://github.com/openbmc/openpower-hw-diags.git YES, COVERAGE > https://github.com/openbmc/openpower-inventory-upload.git NO > https://github.com/openbmc/openpower-libhei.git YES, COVERAGE > https://github.com/openbmc/openpower-logging.git NO > https://github.com/openbmc/openpower-occ-control.git YES, UNIT TEST > https://github.com/openbmc/openpower-pnor-code-mgmt.git YES, UNIT TEST > https://github.com/openbmc/openpower-power-control.git NO > https://github.com/openbmc/openpower-proc-control.git YES, UNIT TEST > https://github.com/openbmc/openpower-sbe-interface.git NO > https://github.com/openbmc/openpower-vpd-parser.git YES, UNIT TEST > https://github.com/openbmc/pam-ipmi.git NO > https://github.com/openbmc/phosphor-bmc-code-mgmt.git YES, UNIT TEST > https://github.com/openbmc/phosphor-buttons.git NO > https://github.com/openbmc/phosphor-certificate-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-dbus-interfaces.git NO > https://github.com/openbmc/phosphor-dbus-monitor.git YES, UNIT TEST > https://github.com/openbmc/phosphor-debug-collector.git NO > https://github.com/openbmc/phosphor-ecc.git NO > https://github.com/openbmc/phosphor-event.git YES, UNIT TEST > https://github.com/openbmc/phosphor-fan-presence.git YES, UNIT TEST > https://github.com/openbmc/phosphor-gpio-monitor.git YES, COVERAGE > https://github.com/openbmc/phosphor-host-ipmid.git ERROR > https://github.com/openbmc/phosphor-host-postd.git YES, UNIT TEST > https://github.com/openbmc/phosphor-hostlogger.git NO > https://github.com/openbmc/phosphor-hwmon.git NO ^---- This one should be YES, UNIT TEST. Thanks for working on identifying missing coverage. I wanted to point this out so you can take another swing at this, -- Thanks! > https://github.com/openbmc/phosphor-inventory-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-ipmi-blobs.git YES, UNIT TEST > https://github.com/openbmc/phosphor-ipmi-blobs-binarystore.git YES, UNIT TEST > https://github.com/openbmc/phosphor-ipmi-ethstats.git YES, UNIT TEST > https://github.com/openbmc/phosphor-ipmi-flash.git YES, UNIT TEST > https://github.com/openbmc/phosphor-led-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-led-sysfs.git YES, UNIT TEST > https://github.com/openbmc/phosphor-logging.git YES, UNIT TEST > https://github.com/openbmc/phosphor-mboxd.git ERROR > https://github.com/openbmc/phosphor-misc.git NO > https://github.com/openbmc/phosphor-mrw-tools.git NO > https://github.com/openbmc/phosphor-net-ipmid.git YES, UNIT TEST > https://github.com/openbmc/phosphor-networkd.git YES, UNIT TEST > https://github.com/openbmc/phosphor-nvme.git NO > https://github.com/openbmc/phosphor-objmgr.git YES, UNIT TEST > https://github.com/openbmc/phosphor-pcie-presence.git NO > https://github.com/openbmc/phosphor-pid-control.git YES, UNIT TEST > https://github.com/openbmc/phosphor-post-code-manager.git NO > https://github.com/openbmc/phosphor-power.git YES, COVERAGE > https://github.com/openbmc/phosphor-power-control.git NO > https://github.com/openbmc/phosphor-power-monitor.git NO > https://github.com/openbmc/phosphor-psu-code-mgmt.git YES, COVERAGE > https://github.com/openbmc/phosphor-rest-server.git NO > https://github.com/openbmc/phosphor-sel-logger.git NO > https://github.com/openbmc/phosphor-settingsd.git NO > https://github.com/openbmc/phosphor-snmp.git ERROR > https://github.com/openbmc/phosphor-state-manager.git YES, COVERAGE > https://github.com/openbmc/phosphor-time-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-u-boot-env-mgr.git NO > https://github.com/openbmc/phosphor-user-manager.git YES, UNIT TEST > https://github.com/openbmc/phosphor-watchdog.git YES, COVERAGE > https://github.com/openbmc/phosphor-webui.git NO > https://github.com/openbmc/pldm.git YES, COVERAGE > https://github.com/openbmc/pyphosphor.git NO > https://github.com/openbmc/qualcomm-ipmi-oem.git NO > https://github.com/openbmc/qualcomm-misc.git NO > https://github.com/openbmc/quanta-ipmi-oem.git NO > https://github.com/openbmc/rest-dbus.git NO > https://github.com/openbmc/rrd-ipmi-blobs.git NO > https://github.com/openbmc/s2600wf-misc.git NO > https://github.com/openbmc/sdbusplus.git YES, UNIT TEST > https://github.com/openbmc/sdeventplus.git YES, COVERAGE > https://github.com/openbmc/skeleton.git ERROR > https://github.com/openbmc/slpd-lite.git NO > https://github.com/openbmc/smbios-mdr.git ERROR > https://github.com/openbmc/stdplus.git YES, COVERAGE > https://github.com/openbmc/telemetry.git NO > https://github.com/openbmc/u-boot NO > https://github.com/openbmc/webui-vue.git NO > https://github.com/openbmc/witherspoon-pfault-analysis.git YES, COVERAGE > https://github.com/openbmc/x86-power-control.git NO > *************************UNIT TEST COVERAGE REPORT************************* > SUMMARY: > TOTAL REPOSITORIES : 110 > TESTED REPOSITORIES : 43 > ERROR : 11 > COVERAGE REPORT : 12 > UNIT TEST REPORT : 31 > NO REPORT : 56 > *************************************************************************** > > > Following actions, we can draw from above > > There are 12 repo's that have GCOV/LCOV plugged in - We need to maintain which has good coverage and try to improve those which has less coverage > There are 31 repo's that have unit test cases added but no coverage analysis because they aren't plugged in yet to GCOV/LCOV - Is there a plan for plugging in GCOV > There are 11 repo's which fail to compile and errors out - Fix compilation issue. Some of these maybe not used currently? > There are 56 repo's for which there is no UT tests available - This is a major issue we need to tackle and improve upon > > Feedback's , views highly appreciated > > Thanks & Regards, > Lakshminarayana Kamath > -------------------------------------------------------------------------------------------------- > Senior Engineer, > IBM India Software Labs > Bangalore > github:lkammath > --------------------------------------------------------------------------------------------------- > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 18:20 ` Patrick Venture @ 2020-03-05 1:25 ` James Feist 0 siblings, 0 replies; 16+ messages in thread From: James Feist @ 2020-03-05 1:25 UTC (permalink / raw) To: Patrick Venture, Lakshminarayana R Kammath; +Cc: OpenBMC Maillist On 2/28/20 10:20 AM, Patrick Venture wrote: > On Fri, Feb 28, 2020 at 7:36 AM Lakshminarayana R Kammath > <lkammath@in.ibm.com> wrote: >> >> Hi All, >> >> Recently we worked on pulling the UT coverage analysis from all the available OpenBMC repositories >> >> https://github.com/openbmc/openbmc-build-scripts/commit/229b76a95f87af60c976a0c0dfe84716c9ce5318 >> >> This script does following >> >> Clone the repo >> Use the CI build environment to build code >> Publish the result in the following format >> >> Latest report: >> *************************UNIT TEST COVERAGE REPORT************************* >> https://github.com/openbmc/bmcweb.git NO >> https://github.com/openbmc/boost-dbus.git ERROR >> https://github.com/openbmc/btbridge.git NO >> https://github.com/openbmc/dbus-sensors.git NO >> https://github.com/openbmc/entity-manager.git NO This has some tests: https://github.com/openbmc/entity-manager/blob/master/test/test_entity-manager.cpp >> https://github.com/openbmc/fb-ipmi-oem.git NO >> https://github.com/openbmc/google-ipmi-i2c.git ERROR >> https://github.com/openbmc/google-ipmi-sys.git YES, UNIT TEST >> https://github.com/openbmc/gpioplus.git YES, COVERAGE >> https://github.com/openbmc/hiomapd.git YES, UNIT TEST >> https://github.com/openbmc/ibm-dbus-interfaces.git NO >> https://github.com/openbmc/ibm-logging.git YES, UNIT TEST >> https://github.com/openbmc/ibm-pldm-oem.git ERROR >> https://github.com/openbmc/inarp.git ERROR >> https://github.com/openbmc/intel-dbus-interfaces.git NO >> https://github.com/openbmc/intel-ipmi-oem.git NO So does this: https://github.com/openbmc/intel-ipmi-oem/blob/master/tests/test_sensorcommands.cpp >> https://github.com/openbmc/ipmbbridge.git NO >> https://github.com/openbmc/ipmi-blob-tool.git YES, UNIT TEST >> https://github.com/openbmc/ipmi-fru-parser.git NO >> https://github.com/openbmc/ipmitool.git ERROR >> https://github.com/openbmc/jsnbd.git ERROR >> https://github.com/openbmc/kcsbridge.git NO >> https://github.com/openbmc/lenovo-ipmi-oem.git NO >> https://github.com/openbmc/libmctp.git YES, UNIT TEST >> https://github.com/openbmc/librrdplus.git NO >> https://github.com/openbmc/obmc-console.git YES, UNIT TEST >> https://github.com/openbmc/obmc-ikvm.git NO >> https://github.com/openbmc/openbmc.git NO >> https://github.com/openbmc/openbmc-tools.git NO >> https://github.com/openbmc/openbmc.github.io.git NO >> https://github.com/openbmc/openpower-dbus-interfaces.git NO >> https://github.com/openbmc/openpower-debug-collector.git NO >> https://github.com/openbmc/openpower-host-ipmi-flash.git NO >> https://github.com/openbmc/openpower-host-ipmi-oem.git NO >> https://github.com/openbmc/openpower-hw-diags.git YES, COVERAGE >> https://github.com/openbmc/openpower-inventory-upload.git NO >> https://github.com/openbmc/openpower-libhei.git YES, COVERAGE >> https://github.com/openbmc/openpower-logging.git NO >> https://github.com/openbmc/openpower-occ-control.git YES, UNIT TEST >> https://github.com/openbmc/openpower-pnor-code-mgmt.git YES, UNIT TEST >> https://github.com/openbmc/openpower-power-control.git NO >> https://github.com/openbmc/openpower-proc-control.git YES, UNIT TEST >> https://github.com/openbmc/openpower-sbe-interface.git NO >> https://github.com/openbmc/openpower-vpd-parser.git YES, UNIT TEST >> https://github.com/openbmc/pam-ipmi.git NO >> https://github.com/openbmc/phosphor-bmc-code-mgmt.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-buttons.git NO >> https://github.com/openbmc/phosphor-certificate-manager.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-dbus-interfaces.git NO >> https://github.com/openbmc/phosphor-dbus-monitor.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-debug-collector.git NO >> https://github.com/openbmc/phosphor-ecc.git NO >> https://github.com/openbmc/phosphor-event.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-fan-presence.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-gpio-monitor.git YES, COVERAGE >> https://github.com/openbmc/phosphor-host-ipmid.git ERROR >> https://github.com/openbmc/phosphor-host-postd.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-hostlogger.git NO >> https://github.com/openbmc/phosphor-hwmon.git NO > > ^---- This one should be YES, UNIT TEST. > > Thanks for working on identifying missing coverage. I wanted to point > this out so you can take another swing at this, -- Thanks! > >> https://github.com/openbmc/phosphor-inventory-manager.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-ipmi-blobs.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-ipmi-blobs-binarystore.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-ipmi-ethstats.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-ipmi-flash.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-led-manager.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-led-sysfs.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-logging.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-mboxd.git ERROR >> https://github.com/openbmc/phosphor-misc.git NO >> https://github.com/openbmc/phosphor-mrw-tools.git NO >> https://github.com/openbmc/phosphor-net-ipmid.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-networkd.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-nvme.git NO >> https://github.com/openbmc/phosphor-objmgr.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-pcie-presence.git NO >> https://github.com/openbmc/phosphor-pid-control.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-post-code-manager.git NO >> https://github.com/openbmc/phosphor-power.git YES, COVERAGE >> https://github.com/openbmc/phosphor-power-control.git NO >> https://github.com/openbmc/phosphor-power-monitor.git NO >> https://github.com/openbmc/phosphor-psu-code-mgmt.git YES, COVERAGE >> https://github.com/openbmc/phosphor-rest-server.git NO >> https://github.com/openbmc/phosphor-sel-logger.git NO >> https://github.com/openbmc/phosphor-settingsd.git NO >> https://github.com/openbmc/phosphor-snmp.git ERROR >> https://github.com/openbmc/phosphor-state-manager.git YES, COVERAGE >> https://github.com/openbmc/phosphor-time-manager.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-u-boot-env-mgr.git NO >> https://github.com/openbmc/phosphor-user-manager.git YES, UNIT TEST >> https://github.com/openbmc/phosphor-watchdog.git YES, COVERAGE >> https://github.com/openbmc/phosphor-webui.git NO >> https://github.com/openbmc/pldm.git YES, COVERAGE >> https://github.com/openbmc/pyphosphor.git NO >> https://github.com/openbmc/qualcomm-ipmi-oem.git NO >> https://github.com/openbmc/qualcomm-misc.git NO >> https://github.com/openbmc/quanta-ipmi-oem.git NO >> https://github.com/openbmc/rest-dbus.git NO >> https://github.com/openbmc/rrd-ipmi-blobs.git NO >> https://github.com/openbmc/s2600wf-misc.git NO >> https://github.com/openbmc/sdbusplus.git YES, UNIT TEST >> https://github.com/openbmc/sdeventplus.git YES, COVERAGE >> https://github.com/openbmc/skeleton.git ERROR >> https://github.com/openbmc/slpd-lite.git NO >> https://github.com/openbmc/smbios-mdr.git ERROR >> https://github.com/openbmc/stdplus.git YES, COVERAGE >> https://github.com/openbmc/telemetry.git NO >> https://github.com/openbmc/u-boot NO >> https://github.com/openbmc/webui-vue.git NO >> https://github.com/openbmc/witherspoon-pfault-analysis.git YES, COVERAGE >> https://github.com/openbmc/x86-power-control.git NO >> *************************UNIT TEST COVERAGE REPORT************************* >> SUMMARY: >> TOTAL REPOSITORIES : 110 >> TESTED REPOSITORIES : 43 >> ERROR : 11 >> COVERAGE REPORT : 12 >> UNIT TEST REPORT : 31 >> NO REPORT : 56 >> *************************************************************************** >> >> >> Following actions, we can draw from above >> >> There are 12 repo's that have GCOV/LCOV plugged in - We need to maintain which has good coverage and try to improve those which has less coverage >> There are 31 repo's that have unit test cases added but no coverage analysis because they aren't plugged in yet to GCOV/LCOV - Is there a plan for plugging in GCOV >> There are 11 repo's which fail to compile and errors out - Fix compilation issue. Some of these maybe not used currently? >> There are 56 repo's for which there is no UT tests available - This is a major issue we need to tackle and improve upon >> >> Feedback's , views highly appreciated >> >> Thanks & Regards, >> Lakshminarayana Kamath >> -------------------------------------------------------------------------------------------------- >> Senior Engineer, >> IBM India Software Labs >> Bangalore >> github:lkammath >> --------------------------------------------------------------------------------------------------- >> >> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 15:35 [OpenBMC]: Unit test coverage analysis on openbmc repositories Lakshminarayana R Kammath ` (2 preceding siblings ...) 2020-02-28 18:20 ` Patrick Venture @ 2020-03-03 4:48 ` Andrew Jeffery 2020-03-03 6:16 ` Lakshminarayana R Kammath 2020-03-05 7:57 ` Lakshminarayana R Kammath 2020-03-04 18:43 ` Andrew Geissler 4 siblings, 2 replies; 16+ messages in thread From: Andrew Jeffery @ 2020-03-03 4:48 UTC (permalink / raw) To: Lakshminarayana R Kammath, openbmc On Sat, 29 Feb 2020, at 02:05, Lakshminarayana R Kammath wrote: > https://github.com/openbmc/obmc-console.git YES, UNIT TEST I need to add coverage support to obmc-console. > https://github.com/openbmc/openbmc-tools.git NO Not sure we can expect anything for openbmc-tools - it's a collection of random scripts people have written to make their life developing openbmc easier. It's not something that should have strict QA processes. > https://github.com/openbmc/openpower-host-ipmi-flash.git NO I should add some tests here where I can. > https://github.com/openbmc/hiomapd.git YES, UNIT TEST > https://github.com/openbmc/libmctp.git YES, UNIT TEST > https://github.com/openbmc/phosphor-led-sysfs.git YES, UNIT TEST These three do in-fact have GCOV/LCOV support, you need to do the usual autotools invocations to get it: ``` ./configure --enable-code-coverage && make check-code-coverage ``` > https://github.com/openbmc/phosphor-mboxd.git ERROR This is archived. ... > https://github.com/openbmc/u-boot NO This uses Kbuild as a build system. I notice openbmc/linux and openbmc/qemu aren't included in the list. > https://github.com/openbmc/webui-vue.git NO > https://github.com/openbmc/witherspoon-pfault-analysis.git YES, COVERAGE > https://github.com/openbmc/x86-power-control.git NO > *************************UNIT TEST COVERAGE > REPORT************************* > SUMMARY: > TOTAL REPOSITORIES : 110 > TESTED REPOSITORIES : 43 > ERROR : 11 > COVERAGE REPORT : 12 > UNIT TEST REPORT : 31 > NO REPORT : 56 > *************************************************************************** > Following actions, we can draw from above > > 1. *There are 12 repo's that have GCOV/LCOV plugged in* - We need to > maintain which has good coverage and try to improve those which has > less coverage > 2. *There are 31 repo's that have unit test cases added but no > coverage analysis because they aren't plugged in yet to GCOV/LCOV* - Is > there a plan for plugging in GCOV As above at least three of these are false-negatives for test coverage. Andrew ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-03-03 4:48 ` Andrew Jeffery @ 2020-03-03 6:16 ` Lakshminarayana R Kammath 2020-03-05 7:57 ` Lakshminarayana R Kammath 1 sibling, 0 replies; 16+ messages in thread From: Lakshminarayana R Kammath @ 2020-03-03 6:16 UTC (permalink / raw) To: andrew; +Cc: openbmc [-- Attachment #1: Type: text/html, Size: 5325 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-03-03 4:48 ` Andrew Jeffery 2020-03-03 6:16 ` Lakshminarayana R Kammath @ 2020-03-05 7:57 ` Lakshminarayana R Kammath 2020-03-06 9:27 ` Lei YU 1 sibling, 1 reply; 16+ messages in thread From: Lakshminarayana R Kammath @ 2020-03-05 7:57 UTC (permalink / raw) To: andrew; +Cc: openbmc [-- Attachment #1: Type: text/html, Size: 8614 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-03-05 7:57 ` Lakshminarayana R Kammath @ 2020-03-06 9:27 ` Lei YU 0 siblings, 0 replies; 16+ messages in thread From: Lei YU @ 2020-03-06 9:27 UTC (permalink / raw) To: Lakshminarayana R Kammath; +Cc: Andrew Jeffery, OpenBMC Maillist It's found that the test coverage result is not correct for some repos. E.g. for phosphor-psu-code-mgmt, there are quite a few tests for code in `src`, but it only shows 2.5%: https://openpower.xyz/job/openbmc-unit-test-coverage/2/artifact/openbmc-build-scripts/scripts/unit-test-meta-data/phosphor-psu-code-mgmt/build/meson-logs/coveragereport/index.html It looks like `lcov` is not handling such case well, and there is a similar question on StackOverflow: https://stackoverflow.com/questions/27556872/lcov-doesnt-match-gcov-coverage-results-for-a-googletest-unit-test I tried to remove `lcov` and use `gcovr` in local CI, and the result looks correct. `lcov` is required for autotools' coverage, so we can not just remove it. If I add `gcovr` into the docker image without removing `lcov`, unfortunately, meson still uses `lcov` for `coverage-html` when both tools are available. An issue is created at https://github.com/mesonbuild/meson/issues/6747, hopefully we could get some feedback from meson. In OpenBMC, do you have any ideas on how to "fix" the coverage result? On Thu, Mar 5, 2020 at 3:59 PM Lakshminarayana R Kammath <lkammath@in.ibm.com> wrote: > > Hi All, > > please confirm on following > > Boost-bus - compilation fails . Is it used? Should be archived @andrewj? > > Google-ipmi-i2c - code compiles well, complain in formatting script @pstrinkle > subsys_initcall(i2c_via_ipmi_init);^[[m^M > Traceback (most recent call last):^M > File "/home/lkammath/final_data/unit-test.py", line 826, in <module>^M > check_call_cmd("./format-code.sh", CODE_SCAN_DIR)^M > File "/home/lkammath/final_data/unit-test.py", line 229, in check_call_cmd^M > check_call(cmd)^M > File "/usr/lib/python2.7/subprocess.py", line 190, in check_call^M > raise CalledProcessError(retcode, cmd)^M > subprocess.CalledProcessError: Command '('./format-code.sh', '/home/lkammath/final_data/google-ipmi-i2c')' returned non-zero exit status 1^M > Traceback (most recent call last):^M > File "/home/lkammath/final_data/dbus-unit-test.py", line 91, in <module>^M > > Inarp.git - Should be archived @andrewj? > Compilation issue > inarp.c: In function ‘arp_recv’: > inarp.c:433:4: error: taking address of packed member of ‘struct arp_packet’ may result in an unaligned pointer value [-Werror=address-of-packed-member] > 433 | &inarp_req.src_ip); > | ^~~~~~~~~~~~~~~~~ > In function ‘do_ifreq’, > inlined from ‘get_local_ipaddr’ at inarp.c:182:7, > inlined from ‘arp_recv’ at inarp.c:419:7, > inlined from ‘main’ at inarp.c:480:4: > inarp.c:170:2: error: ‘strncpy’ output may be truncated copying 16 bytes from a string of length 16 [-Werror=stringop-truncation] > 170 | strncpy(ifreq->ifr_name, ifname, sizeof(ifreq->ifr_name)); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make[1]: *** [inarp.o] Error 1 > make[1]: Leaving directory `/esw/san5/lkammath/boost/inarp' > make: *** [all] Error 2 > In CI environment > ool.la -lncurses -ltinfo -lcrypto^M > copying selected object files to avoid basename conflicts...^M > ar: `u' modifier ignored since `D' is the default (see `U')^M > make[4]: Leaving directory '/home/lkammath/final_data/ipmitool/src/plugins/lan'^M > Making all in lanplus^M > make[4]: Entering directory '/home/lkammath/final_data/ipmitool/src/plugins/lanplus'^M > /bin/bash ../../../libtool --silent --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -g -O2 -Wall -Wextra -std=c99 -pedantic -Wformat -Wformat-nonliteral -MT lanplus_crypt_impl.lo -MD -MP -MF .deps/lanplus_crypt_impl.Tpo -c -o lanplus_crypt_impl.lo lanplus_crypt_impl.c^M > lanplus_crypt_impl.c: In function 'lanplus_encrypt_aes_cbc_128':^M > lanplus_crypt_impl.c:158:17: error: storage size of 'ctx' isn't known^M > 158 | EVP_CIPHER_CTX ctx;^M > | ^~~^M > lanplus_crypt_impl.c:158:17: warning: unused variable 'ctx' [-Wunused-variable]^M > lanplus_crypt_impl.c: In function 'lanplus_decrypt_aes_cbc_128':^M > lanplus_crypt_impl.c:233:17: error: storage size of 'ctx' isn't known^M > 233 | EVP_CIPHER_CTX ctx;^M > | ^~~^M > > Smbios-mdr - @brad. Please confirm if used? > No automake env (make) > > Thanks & Regards, > Lakshminarayana Kamath > -------------------------------------------------------------------------------------------------- > > > > ----- Original message ----- > From: "Andrew Jeffery" <andrew@aj.id.au> > To: "Lakshminarayana R Kammath" <lkammath@in.ibm.com>, openbmc@lists.ozlabs.org > Cc: > Subject: [EXTERNAL] Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories > Date: Tue, Mar 3, 2020 10:18 AM > > > On Sat, 29 Feb 2020, at 02:05, Lakshminarayana R Kammath wrote: > > > https://github.com/openbmc/obmc-console.git YES, UNIT TEST > > I need to add coverage support to obmc-console. > > > https://github.com/openbmc/openbmc-tools.git NO > > Not sure we can expect anything for openbmc-tools - it's a collection > of random scripts people have written to make their life developing > openbmc easier. It's not something that should have strict QA > processes. > > > https://github.com/openbmc/openpower-host-ipmi-flash.git NO > > I should add some tests here where I can. > > > https://github.com/openbmc/hiomapd.git YES, UNIT TEST > > https://github.com/openbmc/libmctp.git YES, UNIT TEST > > https://github.com/openbmc/phosphor-led-sysfs.git YES, UNIT TEST > > These three do in-fact have GCOV/LCOV support, you need to do the usual autotools invocations to get it: > > ``` > ./configure --enable-code-coverage && make check-code-coverage > ``` > > > https://github.com/openbmc/phosphor-mboxd.git ERROR > > This is archived. > > ... > > > https://github.com/openbmc/u-boot NO > > This uses Kbuild as a build system. I notice openbmc/linux and openbmc/qemu aren't included in the list. > > > https://github.com/openbmc/webui-vue.git NO > > https://github.com/openbmc/witherspoon-pfault-analysis.git YES, COVERAGE > > https://github.com/openbmc/x86-power-control.git NO > > *************************UNIT TEST COVERAGE > > REPORT************************* > > SUMMARY: > > TOTAL REPOSITORIES : 110 > > TESTED REPOSITORIES : 43 > > ERROR : 11 > > COVERAGE REPORT : 12 > > UNIT TEST REPORT : 31 > > NO REPORT : 56 > > *************************************************************************** > > Following actions, we can draw from above > > > > 1. *There are 12 repo's that have GCOV/LCOV plugged in* - We need to > > maintain which has good coverage and try to improve those which has > > less coverage > > 2. *There are 31 repo's that have unit test cases added but no > > coverage analysis because they aren't plugged in yet to GCOV/LCOV* - Is > > there a plan for plugging in GCOV > > As above at least three of these are false-negatives for test coverage. > > Andrew > > > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [OpenBMC]: Unit test coverage analysis on openbmc repositories 2020-02-28 15:35 [OpenBMC]: Unit test coverage analysis on openbmc repositories Lakshminarayana R Kammath ` (3 preceding siblings ...) 2020-03-03 4:48 ` Andrew Jeffery @ 2020-03-04 18:43 ` Andrew Geissler 4 siblings, 0 replies; 16+ messages in thread From: Andrew Geissler @ 2020-03-04 18:43 UTC (permalink / raw) To: Lakshminarayana R Kammath; +Cc: openbmc > On Feb 28, 2020, at 9:35 AM, Lakshminarayana R Kammath <lkammath@in.ibm.com> wrote: > > Hi All, > > Recently we worked on pulling the UT coverage analysis from all the available OpenBMC repositories > > https://github.com/openbmc/openbmc-build-scripts/commit/229b76a95f87af60c976a0c0dfe84716c9ce5318 > > This script does following > • Clone the repo > • Use the CI build environment to build code > • Publish the result in the following format > Feedback's , views highly appreciated Good stuff. I added this to a jenkins job which will run each day. https://openpower.xyz/job/openbmc-unit-test-coverage/ You can then look at coverage info for your repo of interest by clicking through the artifacts and getting to your coverage info. For example: https://openpower.xyz/job/openbmc-unit-test-coverage/lastSuccessfulBuild/artifact/openbmc-build-scripts/scripts/unit-test-meta-data/pldm/build/meson-logs/coveragereport/index.html The job uses the following to know which repositories to check so feel free to throw up some commits if there are missing or invalid repos: https://github.com/openbmc/openbmc-build-scripts/blob/master/scripts/repositories.txt > > Thanks & Regards, > Lakshminarayana Kamath > -------------------------------------------------------------------------------------------------- > Senior Engineer, > IBM India Software Labs > Bangalore > github:lkammath > --------------------------------------------------------------------------------------------------- > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* [OpenBMC]: Unit test coverage analysis on openbmc repositories @ 2020-02-28 16:08 lakshminarayan kamath 0 siblings, 0 replies; 16+ messages in thread From: lakshminarayan kamath @ 2020-02-28 16:08 UTC (permalink / raw) To: openbmc [-- Attachment #1: Type: text/plain, Size: 7920 bytes --] Hi All, Somehow my earlier mail did not get displayed properly Recently we worked on pulling the UT coverage analysis from all the available OpenBMC repositories https://github.com/openbmc/openbmc-build-scripts/commit/229b76a95f87af60c976a0c0dfe84716c9ce5318 This script does following 1. Clone the repo 2. Use the CI build environment to build code 3. Publish the result in the following format Latest report: *************************UNIT TEST COVERAGE REPORT************************* https://github.com/openbmc/bmcweb.git NO https://github.com/openbmc/boost-dbus.git ERROR https://github.com/openbmc/btbridge.git NO https://github.com/openbmc/dbus-sensors.git NO https://github.com/openbmc/entity-manager.git NO https://github.com/openbmc/fb-ipmi-oem.git NO https://github.com/openbmc/google-ipmi-i2c.git ERROR https://github.com/openbmc/google-ipmi-sys.git YES, UNIT TEST https://github.com/openbmc/gpioplus.git YES, COVERAGE https://github.com/openbmc/hiomapd.git YES, UNIT TEST https://github.com/openbmc/ibm-dbus-interfaces.git NO https://github.com/openbmc/ibm-logging.git YES, UNIT TEST https://github.com/openbmc/ibm-pldm-oem.git ERROR https://github.com/openbmc/inarp.git ERROR https://github.com/openbmc/intel-dbus-interfaces.git NO https://github.com/openbmc/intel-ipmi-oem.git NO https://github.com/openbmc/ipmbbridge.git NO https://github.com/openbmc/ipmi-blob-tool.git YES, UNIT TEST https://github.com/openbmc/ipmi-fru-parser.git NO https://github.com/openbmc/ipmitool.git ERROR https://github.com/openbmc/jsnbd.git ERROR https://github.com/openbmc/kcsbridge.git NO https://github.com/openbmc/lenovo-ipmi-oem.git NO https://github.com/openbmc/libmctp.git YES, UNIT TEST https://github.com/openbmc/librrdplus.git NO https://github.com/openbmc/obmc-console.git YES, UNIT TEST https://github.com/openbmc/obmc-ikvm.git NO https://github.com/openbmc/openbmc.git NO https://github.com/openbmc/openbmc-tools.git NO https://github.com/openbmc/openbmc.github.io.git NO https://github.com/openbmc/openpower-dbus-interfaces.git NO https://github.com/openbmc/openpower-debug-collector.git NO https://github.com/openbmc/openpower-host-ipmi-flash.git NO https://github.com/openbmc/openpower-host-ipmi-oem.git NO https://github.com/openbmc/openpower-hw-diags.git YES, COVERAGE https://github.com/openbmc/openpower-inventory-upload.git NO https://github.com/openbmc/openpower-libhei.git YES, COVERAGE https://github.com/openbmc/openpower-logging.git NO https://github.com/openbmc/openpower-occ-control.git YES, UNIT TEST https://github.com/openbmc/openpower-pnor-code-mgmt.git YES, UNIT TEST https://github.com/openbmc/openpower-power-control.git NO https://github.com/openbmc/openpower-proc-control.git YES, UNIT TEST https://github.com/openbmc/openpower-sbe-interface.git NO https://github.com/openbmc/openpower-vpd-parser.git YES, UNIT TEST https://github.com/openbmc/pam-ipmi.git NO https://github.com/openbmc/phosphor-bmc-code-mgmt.git YES, UNIT TEST https://github.com/openbmc/phosphor-buttons.git NO https://github.com/openbmc/phosphor-certificate-manager.git YES, UNIT TEST https://github.com/openbmc/phosphor-dbus-interfaces.git NO https://github.com/openbmc/phosphor-dbus-monitor.git YES, UNIT TEST https://github.com/openbmc/phosphor-debug-collector.git NO https://github.com/openbmc/phosphor-ecc.git NO https://github.com/openbmc/phosphor-event.git YES, UNIT TEST https://github.com/openbmc/phosphor-fan-presence.git YES, UNIT TEST https://github.com/openbmc/phosphor-gpio-monitor.git YES, COVERAGE https://github.com/openbmc/phosphor-host-ipmid.git ERROR https://github.com/openbmc/phosphor-host-postd.git YES, UNIT TEST https://github.com/openbmc/phosphor-hostlogger.git NO https://github.com/openbmc/phosphor-hwmon.git NO https://github.com/openbmc/phosphor-inventory-manager.git YES, UNIT TEST https://github.com/openbmc/phosphor-ipmi-blobs.git YES, UNIT TEST https://github.com/openbmc/phosphor-ipmi-blobs-binarystore.git YES, UNIT TEST https://github.com/openbmc/phosphor-ipmi-ethstats.git YES, UNIT TEST https://github.com/openbmc/phosphor-ipmi-flash.git YES, UNIT TEST https://github.com/openbmc/phosphor-led-manager.git YES, UNIT TEST https://github.com/openbmc/phosphor-led-sysfs.git YES, UNIT TEST https://github.com/openbmc/phosphor-logging.git YES, UNIT TEST https://github.com/openbmc/phosphor-mboxd.git ERROR https://github.com/openbmc/phosphor-misc.git NO https://github.com/openbmc/phosphor-mrw-tools.git NO https://github.com/openbmc/phosphor-net-ipmid.git YES, UNIT TEST https://github.com/openbmc/phosphor-networkd.git YES, UNIT TEST https://github.com/openbmc/phosphor-nvme.git NO https://github.com/openbmc/phosphor-objmgr.git YES, UNIT TEST https://github.com/openbmc/phosphor-pcie-presence.git NO https://github.com/openbmc/phosphor-pid-control.git YES, UNIT TEST https://github.com/openbmc/phosphor-post-code-manager.git NO https://github.com/openbmc/phosphor-power.git YES, COVERAGE https://github.com/openbmc/phosphor-power-control.git NO https://github.com/openbmc/phosphor-power-monitor.git NO https://github.com/openbmc/phosphor-psu-code-mgmt.git YES, COVERAGE https://github.com/openbmc/phosphor-rest-server.git NO https://github.com/openbmc/phosphor-sel-logger.git NO https://github.com/openbmc/phosphor-settingsd.git NO https://github.com/openbmc/phosphor-snmp.git ERROR https://github.com/openbmc/phosphor-state-manager.git YES, COVERAGE https://github.com/openbmc/phosphor-time-manager.git YES, UNIT TEST https://github.com/openbmc/phosphor-u-boot-env-mgr.git NO https://github.com/openbmc/phosphor-user-manager.git YES, UNIT TEST https://github.com/openbmc/phosphor-watchdog.git YES, COVERAGE https://github.com/openbmc/phosphor-webui.git NO https://github.com/openbmc/pldm.git YES, COVERAGE https://github.com/openbmc/pyphosphor.git NO https://github.com/openbmc/qualcomm-ipmi-oem.git NO https://github.com/openbmc/qualcomm-misc.git NO https://github.com/openbmc/quanta-ipmi-oem.git NO https://github.com/openbmc/rest-dbus.git NO https://github.com/openbmc/rrd-ipmi-blobs.git NO https://github.com/openbmc/s2600wf-misc.git NO https://github.com/openbmc/sdbusplus.git YES, UNIT TEST https://github.com/openbmc/sdeventplus.git YES, COVERAGE https://github.com/openbmc/skeleton.git ERROR https://github.com/openbmc/slpd-lite.git NO https://github.com/openbmc/smbios-mdr.git ERROR https://github.com/openbmc/stdplus.git YES, COVERAGE https://github.com/openbmc/telemetry.git NO https://github.com/openbmc/u-boot NO https://github.com/openbmc/webui-vue.git NO https://github.com/openbmc/witherspoon-pfault-analysis.git YES, COVERAGE https://github.com/openbmc/x86-power-control.git NO *************************UNIT TEST COVERAGE REPORT************************* SUMMARY: TOTAL REPOSITORIES : 110 TESTED REPOSITORIES : 43 ERROR : 11 COVERAGE REPORT : 12 UNIT TEST REPORT : 31 NO REPORT : 56 *************************************************************************** Following actions, we can draw from above 1. *There are 12 repo's that have GCOV/LCOV plugged in* - We need to maintain which has good coverage and try to improve those which has less coverage 2. *There are 31 repo's that have unit test cases added but no coverage analysis because they aren't plugged in yet to GCOV/LCOV* - Is there a plan for plugging in GCOV 3. *There are 11 repo's which fail to compile and errors out* - Fix compilation issue. Some of these maybe not used currently? 4. *There are 56 repo's for which there is no UT tests availabl*e - This is a major issue we need to tackle and improve upon Feedback's, views highly appreciated Thanks & Regards, Lakshminarayana Kamath -------------------------------------------------------------------------------------------------- Senior Engineer, IBM India Software Labs Bangalore github:lkammath --------------------------------------------------------------------------------------------------- [-- Attachment #2: Type: text/html, Size: 22009 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2020-03-06 9:27 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-02-28 15:35 [OpenBMC]: Unit test coverage analysis on openbmc repositories Lakshminarayana R Kammath 2020-02-28 16:18 ` Brad Bishop 2020-02-28 16:30 ` Lakshminarayana R Kammath 2020-02-28 16:31 ` Brad Bishop 2020-02-28 16:36 ` Brad Bishop 2020-03-04 6:42 ` Lakshminarayana R Kammath 2020-02-28 16:39 ` Lakshminarayana R Kammath 2020-02-28 18:12 ` Nancy Yuen 2020-02-28 18:20 ` Patrick Venture 2020-03-05 1:25 ` James Feist 2020-03-03 4:48 ` Andrew Jeffery 2020-03-03 6:16 ` Lakshminarayana R Kammath 2020-03-05 7:57 ` Lakshminarayana R Kammath 2020-03-06 9:27 ` Lei YU 2020-03-04 18:43 ` Andrew Geissler 2020-02-28 16:08 lakshminarayan kamath
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.