I've been doing some QA coverage analysis, starting with libpcp and was
more than a little surprised to find that the following routines have
ZERO coverage across all the tests in the QA suite:
ctxid_request_instance [instance.c], ctxidRequestText [help.c],
pmContextConnectChangeState [context.c], pmContextConnectTo
[context.c], pmContextUndef [context.c], __pmGetBusyHostContextByID
[context.c], pmGetContextFD [context.c], pmGetContextTimeout [context.c],
__pmGetHostContextByID [context.c], pmReceiveDesc [desc.c], pmReceiveFetch
[fetch.c], pmReceiveInDom [instance.c], pmReceiveInDomInst [instance.c],
pmReceiveInDomName [instance.c], pmReceiveNameID [pmns.c], pmReceiveNames
[pmns.c], pmReceiveNamesAll [pmns.c], pmReceiveNamesOfChildren [pmns.c],
pmReceiveText [help.c], pmReceiveTraversePMNS [pmns.c], pmRequestDesc
[desc.c], pmRequestFetch [fetch.c], pmRequestInDom [instance.c],
pmRequestInDomInst [instance.c], pmRequestInDomName [instance.c],
pmRequestInDomText [help.c], pmRequestNameID [pmns.c], pmRequestNames
[pmns.c], pmRequestNamesOfChildren [pmns.c], pmRequestText [help.c],
pmRequestTraversePMNS [pmns.c], pmStoreCheck [store.c], pmStoreSend
[store.c], and all of the code in loop.c
Now before I go ahead and propose removing all of this code at the next
major release where we consider it is OK to break the ABI, I'd like to
hear from anyone who is using these functions, or anyone who can
postulate a scenario in which these functions might be useful, or anyone
who can point to QA test code that I've overlooked, or any volunteer
willing to write the missing QA test cases so these routines are tested,
which seems a minimal precondition for them remaining in the library.
In my not so humble opinion, the status quo is not acceptable.
Happy New Year, ... Ken.
|