summaryrefslogtreecommitdiff
path: root/qa/src/chkhelp.c
diff options
context:
space:
mode:
Diffstat (limited to 'qa/src/chkhelp.c')
-rw-r--r--qa/src/chkhelp.c107
1 files changed, 107 insertions, 0 deletions
diff --git a/qa/src/chkhelp.c b/qa/src/chkhelp.c
new file mode 100644
index 0000000..6a65fc5
--- /dev/null
+++ b/qa/src/chkhelp.c
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 1997-2001 Silicon Graphics, Inc. All Rights Reserved.
+ */
+
+/*
+ * exercise the help facilities
+ */
+
+#include <unistd.h>
+#include <ctype.h>
+#include <pcp/pmapi.h>
+
+int
+main()
+{
+ int i;
+ int j;
+ char *namelist[2];
+ pmID pmidlist[2];
+ int n;
+ int numpmid;
+ char *buf;
+ pmDesc desc;
+
+ if ((n = pmLoadNameSpace(PM_NS_DEFAULT)) < 0) {
+ fprintf(stderr, "pmLoadNameSpace: %s\n", pmErrStr(n));
+ exit(1);
+ }
+
+ if ((n = pmNewContext(PM_CONTEXT_HOST, "localhost")) < 0) {
+ fprintf(stderr, "pmNewContext(..., \"localhost\"): %s\n",
+ pmErrStr(n));
+ exit(1);
+ }
+
+ i = 0;
+ namelist[i++] = "sample.colour";
+ namelist[i++] = "sample.byte_ctr";
+ numpmid = i;
+ n = pmLookupName(numpmid, namelist, pmidlist);
+ if (n != numpmid) {
+ fprintf(stderr, "pmLookupName: %s\n", pmErrStr(n));
+ for (i = 0; i < numpmid; i++) {
+ if (pmidlist[i] == PM_ID_NULL)
+ fprintf(stderr, " %s - not known\n", namelist[i]);
+ }
+ exit(1);
+ }
+
+ for (j = 0; j < 3; j++) {
+ /* default context (j==0) then NewContext(j==1) then DupContext(j==2) */
+ for (i = 0; i < numpmid; i++) {
+ if (j == 0)
+ fprintf(stderr, "\nDefault Context\n");
+ else if (j == 1) {
+ fprintf(stderr, "\nNew Context\n");
+ if ((n = pmNewContext(PM_CONTEXT_HOST, "localhost")) < 0) {
+ fprintf(stderr, "pmNewContext: %s\n", pmErrStr(n));
+ exit(1);
+ }
+ }
+ else {
+ fprintf(stderr, "\nDup Context\n");
+ if ((n = pmDupContext()) < 0) {
+ fprintf(stderr, "pmDupContext: %s\n", pmErrStr(n));
+ exit(1);
+ }
+ }
+
+ fprintf(stderr, "metric: %s\n", namelist[i]);
+ if ((n = pmLookupDesc(pmidlist[i], &desc)) < 0) {
+ fprintf(stderr, "pmLookupDesc failed: %s\n", pmErrStr(n));
+ exit(1);
+ }
+
+ if ((n = pmLookupText(pmidlist[i], PM_TEXT_ONELINE, &buf)) < 0)
+ fprintf(stderr, "pmLookupText: %s\n", pmErrStr(n));
+ else {
+ fprintf(stderr, "\nOneline Text: %s\n", buf);
+ free(buf);
+ }
+
+ if ((n = pmLookupInDomText(desc.indom, PM_TEXT_ONELINE, &buf)) < 0)
+ fprintf(stderr, "pmLookupInDomText: %s\n", pmErrStr(n));
+ else {
+ fprintf(stderr, "\nOneline InDomText: %s\n", buf);
+ free(buf);
+ }
+
+ if ((n = pmLookupText(pmidlist[i], PM_TEXT_HELP, &buf)) < 0)
+ fprintf(stderr, "pmLookupText: %s\n", pmErrStr(n));
+ else {
+ fprintf(stderr, "\nHelp Text: %s\n", buf);
+ free(buf);
+ }
+
+ if ((n = pmLookupInDomText(desc.indom, PM_TEXT_HELP, &buf)) < 0)
+ fprintf(stderr, "pmLookupInDomText: %s\n", pmErrStr(n));
+ else {
+ fprintf(stderr, "\nHelp InDomText: %s\n", buf);
+ free(buf);
+ }
+ }
+ }
+
+ exit(0);
+}