]> granicus.if.org Git - procps-ng/commitdiff
build-sys: proper fix for the 'test_Itemtables' module
authorJim Warner <james.warner@comcast.net>
Mon, 17 Aug 2020 17:12:12 +0000 (12:12 -0500)
committerCraig Small <csmall@dropbear.xyz>
Tue, 18 Aug 2020 00:19:53 +0000 (10:19 +1000)
Me thinks Craig had the right idea but perhaps not the
most correct solution. As currently structured, all of
the tests now go way too far by checking every 'unref'
and 'new' call when what we're trying for is survival.

In the final analysis, it doesn't matter who issues an
EXIT_FAILURE - that run_tests guy or an early Exit out
of a procps_new() function. They both will produce the
same end result of the desired "FAIL" test diagnostic.

[ and this patch once again allows the slabinfo test ]

Reference(s):
commit 4eeed6dcff8b3bf3930eb1998738b5c6d458f0c1

Signed-off-by: Jim Warner <james.warner@comcast.net>
proc/test_Itemtables.c

index 81e6aa400ede9e5c3679d7deb1a1fa0506190c09..4bbf5b595950533f0815b045e25e528cb572ad62 100644 (file)
 static int check_diskstats (void *data) {
     struct diskstats_info *ctx = NULL;
     testname = "Itemtable check, diskstats";
-    if (procps_diskstats_new(&ctx) < 0) return 0;
-    return (procps_diskstats_unref(&ctx) == 0);
+    if (0 == procps_diskstats_new(&ctx))
+        procps_diskstats_unref(&ctx);
+    return 1;
 }
 
 static int check_meminfo (void *data) {
     struct meminfo_info *ctx = NULL;
     testname = "Itemtable check, meminfo";
-    if (procps_meminfo_new(&ctx) < 0) return 0;
-    return (procps_meminfo_unref(&ctx) == 0);
+    if (0 == procps_meminfo_new(&ctx))
+        procps_meminfo_unref(&ctx);
+    return 1;
 }
 
 static int check_pids (void *data) {
-    struct pids_info *ctx = NULL;;
+    struct pids_info *ctx = NULL;
     testname = "Itemtable check, pids";
-    if (procps_pids_new(&ctx, NULL, 0) < 0) return 0;
-    return (procps_pids_unref(&ctx) == 0);
+    if (0 == procps_pids_new(&ctx, NULL, 0))
+        procps_pids_unref(&ctx);
+    return 1;
 }
 
 static int check_slabinfo (void *data) {
     struct slabinfo_info *ctx = NULL;
     testname = "Itemtable check, slabinfo";
-    if (procps_slabinfo_new(&ctx) < 0) return 0;
-    return (procps_slabinfo_unref(&ctx) == 0);
+    if (0 == procps_slabinfo_new(&ctx))
+        procps_slabinfo_unref(&ctx);
+    return 1;
 }
 
 static int check_stat (void *data) {
     struct stat_info *ctx = NULL;
     testname = "Itemtable check, stat";
-    if (procps_stat_new(&ctx) < 0) return 0;
-    return (procps_stat_unref(&ctx) == 0);
+    if (0 == procps_stat_new(&ctx))
+        procps_stat_unref(&ctx);
+    return 1;
 }
 
 static int check_vmstat (void *data) {
     struct vmstat_info *ctx = NULL;
     testname = "Itemtable check, vmstat";
-    if (procps_vmstat_new(&ctx) < 0) return 0;
-    return (procps_vmstat_unref(&ctx) == 0);
+    if (0 == procps_vmstat_new(&ctx))
+        procps_vmstat_unref(&ctx);
+    return 1;
 }
 
 static TestFunction test_funcs[] = {
     check_diskstats,
     check_meminfo,
     check_pids,
-    // check_slabinfo, EPERM errors
+    check_slabinfo,
     check_stat,
     check_vmstat,
     NULL