Merged Ken's recent changes - quite a haul! My only review comment
would be that perhaps libpcp_fault could be shipped in the pcp-testsuite
package (I had to jump through some hoops to check qa/770 was being run
and passing - most qa environments would probably just _notrun it?).
Changes committed to git://git.pcp.io/pcp.git master
Ken McDonell (17):
qa/787: oops ... remove debugging crutch
qa/archives: add missing dynmetric archive
pmdumplog: scratch an itch cmdline arg foo != foo.0 etc
qa/995: renumber to 774 to avoid collision
rpm pmda: check return status from pthread_create()
qa/new: extend range of QA test numbers
qa/1091: (new) test changes to avoid pmcpp where possible
qa/464&509: remake .out after libpcp pmLoadNameSpace change
libpcp: avoid pmcpp when loading PMNS if possible
man pages: pmLookupNameSpace(3), pmLookupASCIINameSpace(3) and PMNS(5)
pmnscomp: remove code ... no longer used
qa: fallout from pmLoadNameSpace() changes
libpcp/pmns.c: final version of the pmLoadNameSpace() changes
assorted: knock-on changes from pmLoadNameSpace() changes
libpcp/p_profile.c: add fault injection points
qa/770: (new) use libpcp_fault to check __pmDecodeProfile mem leaks
libpcp_fault/src/GNUmakefile: update to match libpcp makefile changes
man/man3/pmloadasciinamespace.3 | 44 ++
man/man3/pmloadnamespace.3 | 21 +
man/man5/pmns.5 | 12
qa/1091 | 73 ++++
qa/1091.out | 61 +++
qa/235.out | 2
qa/245.out | 4
qa/273.out | 1
qa/464.out | 4
qa/509.out | 4
qa/770 | 53 +++
qa/770.out | 51 +++
qa/774 | 51 +++
qa/774.out | 239 +++++++++++++++
qa/787 | 2
qa/995 | 102 +++---
qa/995.out | 478 +++++++++++++++---------------
qa/archives/dynmetric.0 |binary
qa/archives/dynmetric.index |binary
qa/archives/dynmetric.meta |binary
qa/group | 5
qa/new | 2
qa/src/779246.c | 2
qa/src/archinst.c | 2
qa/src/chk_memleak.c | 2
qa/src/chk_metric_types.c | 2
qa/src/chkconnect.c | 4
qa/src/chkctx2.c | 2
qa/src/chknumval.c | 4
qa/src/chktrim.c | 2
qa/src/churnctx.c | 2
qa/src/context_test.c | 2
qa/src/defctx.c | 2
qa/src/eofarch.c | 2
qa/src/eol.c | 2
qa/src/exercise.c | 6
qa/src/exertz.c | 2
qa/src/fetchpdu.c | 2
qa/src/fetchrate.c | 2
qa/src/grind_ctx.c | 2
qa/src/hp-mib.c | 2
qa/src/indom.c | 2
qa/src/interp0.c | 2
qa/src/interp1.c | 2
qa/src/interp2.c | 2
qa/src/interp3.c | 2
qa/src/interp4.c | 2
qa/src/interp_bug.c | 2
qa/src/interp_bug2.c | 2
qa/src/ipc.c | 2
qa/src/logcontrol.c | 4
qa/src/lookupnametest.c | 2
qa/src/multifetch.c | 2
qa/src/multithread3.c | 12
qa/src/nullinst.c | 2
qa/src/pcp_lite_crash.c | 2
qa/src/pducheck.c | 479 ++++++++++++++++++------------
qa/src/permfetch.c | 2
qa/src/pmnsunload.c | 2
qa/src/pmsocks_objstyle.c | 2
qa/src/proc_test.c | 2
qa/src/store.c | 2
qa/src/storepast.c | 2
qa/src/storepdu.c | 2
qa/src/template.c | 2
qa/src/torture_api.c | 2
qa/src/torture_indom.c | 2
qa/src/torture_pmns.c | 2
qa/src/xarch.c | 2
qa/src/xlog.c | 2
src/dbpmda/src/dbpmda.c | 31 +
src/libpcp/src/check-statics | 1
src/libpcp/src/p_profile.c | 16 -
src/libpcp/src/pmns.c | 157 ++++++---
src/libpcp_fault/src/GNUmakefile | 28 -
src/newhelp/chkhelp.c | 4
src/newhelp/newhelp.c | 4
src/pmdas/rpm/rpm.c | 10
src/pmdas/solaris/solaris.c | 9
src/pmdumplog/pmdumplog.c | 7
src/pmlogger/src/pmlogger.c | 2
src/pmns/pmnsdel.c | 4
src/pmns/pmnsmerge.c | 8
src/pmnscomp/.gitignore | 1
src/pmnscomp/GNUmakefile | 31 -
src/pmnscomp/pmnscomp.c | 621 ---------------------------------------
86 files changed, 1436 insertions(+), 1300 deletions(-)
Details ...
commit 1d3c29e726e35bc2543e2b0721dcfca378f36703
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Tue Apr 28 10:59:07 2015 +1000
libpcp_fault/src/GNUmakefile: update to match libpcp makefile changes
commit 3d8e6a61de2771d457734337338d4c3c558d6903
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Tue Apr 28 08:08:13 2015 +1000
qa/770: (new) use libpcp_fault to check __pmDecodeProfile mem leaks
Shows http://oss.sgi.com/bugzilla/show_bug.cgi?id=871 is indeed
fixed.
Needed to rework the error handling in qa/src/pducheck.c so it does
not generate valgrind errors in the presence of unexpected failures.
commit cc3cec55a57094e152edb927aceae9357e4ce47a
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Tue Apr 28 08:06:45 2015 +1000
libpcp/p_profile.c: add fault injection points
Part of verification (with qa/770) that the issues raised
in http://oss.sgi.com/bugzilla/show_bug.cgi?id=871
have been fixed.
commit e3c0fc53d187cba6a41b95a8f20d8e425e129a60
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sun Apr 26 17:09:30 2015 +1000
assorted: knock-on changes from pmLoadNameSpace() changes
There are a few PCP apps that need to process PMNS files that
may have embedded C-style comments, preprocessor directives
or macros.
Specifically:
- pmnsdel and pmnsmerge (always needed)
- newhelp and chkhelp (always needed)
- dbpmda (rarely used)
- pmlogger (rarely used)
- solaris PMDA (go figure!)
commit 3c772a074ae54685bb6e544184d5528e7d8ab9bd
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sun Apr 26 17:05:08 2015 +1000
libpcp/pmns.c: final version of the pmLoadNameSpace() changes
Removed some bogus code from the preliminary version to expose
the real logic which is:
- pmLoadNameSpace() - never use pmcpp
- pmLoadASCIINameSpace() - if filename is PM_NS_DEFAULT don't use
pmcpp, otherwise use pmcpp
This avoids pmcpp for most common uses where the default PMNS is,
loaded, and this includes all PM_CONTEXT_LOCAL contexts.
commit 21fae5e48b7a074e91a768148872f26ac4b0cd42
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sun Apr 26 17:01:27 2015 +1000
qa: fallout from pmLoadNameSpace() changes
Lots of source code changes here as many QA test applications load
a customized PMNS as part of their testing. Basically need to
replace pmLoadNameSpace(...) calls with pmLoadASCIINameSpace(..., 1)
calls.
Also a few .out changes as a consequence of not calling any of the
PMNS load namespace routines when we don't need to.
commit 486035548e27048997c08cfbf4846fc044860181
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sun Apr 26 14:47:43 2015 +1000
pmnscomp: remove code ... no longer used
commit 988557e23e12bb0ba6e371c58923672535d38e94
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sun Apr 26 14:09:53 2015 +1000
man pages: pmLookupNameSpace(3), pmLookupASCIINameSpace(3) and PMNS(5)
Updates to reflect new logic that avoids the use of pmcpp(1) in all
cases except for pmLookupASCIINameSpace() when the filename argument
is something other than PM_NS_DEFAULT (NULL).
commit a8e97900414e26bd729c2677893976fea38ee9c0
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sun Apr 26 08:01:29 2015 +1000
libpcp: avoid pmcpp when loading PMNS if possible
When using pmLoadNameSpace() or pmLoadASCIINameSpace(PM_NS_DEFAULT)
or PM_CONTEXT_LOCAL we don't need pmcpp ... the PMMS contains no
cpp-style #if or #include directives and no cpp macros.
In these cases we use fopen() instead of the fork/exec/pipe
arrangment to pre-process the PMNS file with pmcpp.
The preprocessor is still used with pmLoadASCIINameSpace() and
any PMNS other than PM_NS_DEFAULT, so all of the PMNS updates
via the PMDA Install and Remove scripts still work.
commit 00d29e91b2c7ffe56134d546118919893e5f00a7
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sun Apr 26 07:59:30 2015 +1000
qa/464&509: remake .out after libpcp pmLoadNameSpace change
commit 52a6807e045ad5d8c923392cae3bfecb9572b4c4
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sun Apr 26 07:58:22 2015 +1000
qa/1091: (new) test changes to avoid pmcpp where possible
libpcp changes for pmLoadNameSpace (et al) coming.
commit bcf854ff9e7c46f940cec5fa8371ec4e1a0fd146
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sun Apr 26 07:57:05 2015 +1000
qa/new: extend range of QA test numbers
We're starting to get collisions, so up the max from 999 to 1099.
commit f2cee38477f3f77be9d5e9e9b3da6540a62a67cc
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sat Apr 25 07:35:45 2015 +1000
rpm pmda: check return status from pthread_create()
Closes https://github.com/performancecopilot/pcp/issues/10
commit c427aafdd5ab1439ae622fb002f03087edd94da0
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sat Apr 25 07:14:05 2015 +1000
qa/995: renumber to 774 to avoid collision
commit 6603f7663091253b70acc719cb7a21f6ebaf2cec
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Fri Apr 24 20:14:21 2015 +1000
pmdumplog: scratch an itch cmdline arg foo != foo.0 etc
Fix botch in filename handling ... -t produced bogus
Warning: file missing or compressed for log volume 0
when command line arg was an archive filename (.0, .index, .meta,
etc) rather than a basename for the archive.
qa/995 proves the point.
commit 693402b4f0715ed81e35f312f829bd8adfbed765
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Fri Apr 24 20:12:15 2015 +1000
qa/archives: add missing dynmetric archive
commit a735f6ee7b41f49984b06572eaf082819f2f056b
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Fri Apr 24 19:59:21 2015 +1000
qa/787: oops ... remove debugging crutch
|