tests: update template and add pids
Generalised the library API tests and created a common test-runner. Instead of copy and pasting the same code in each time. First cut of pids API test, for _new so far.
This commit is contained in:
		@@ -20,15 +20,12 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <proc/sysinfo.h>
 | 
			
		||||
 | 
			
		||||
struct test_func {
 | 
			
		||||
    int (*func)(void *data);
 | 
			
		||||
    char *name;
 | 
			
		||||
};
 | 
			
		||||
#include "tests.h"
 | 
			
		||||
 | 
			
		||||
int check_hertz(void *data)
 | 
			
		||||
{
 | 
			
		||||
    long hz;
 | 
			
		||||
    testname = "procps_hertz_get()";
 | 
			
		||||
 | 
			
		||||
    hz =  procps_hertz_get();
 | 
			
		||||
    return (hz > 0);
 | 
			
		||||
@@ -37,6 +34,7 @@ int check_hertz(void *data)
 | 
			
		||||
int check_loadavg(void *data)
 | 
			
		||||
{
 | 
			
		||||
    double a,b,c;
 | 
			
		||||
    testname = "procps_loadavg()";
 | 
			
		||||
 | 
			
		||||
    if (procps_loadavg(&a, &b, &c) == 0)
 | 
			
		||||
        return 1;
 | 
			
		||||
@@ -45,33 +43,22 @@ int check_loadavg(void *data)
 | 
			
		||||
 | 
			
		||||
int check_loadavg_null(void *data)
 | 
			
		||||
{
 | 
			
		||||
    testname = "procps_loadavg() with NULLs";
 | 
			
		||||
    if (procps_loadavg(NULL, NULL, NULL) == 0)
 | 
			
		||||
        return 1;
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct test_func tests[] = {
 | 
			
		||||
    { check_hertz, "procps_hertz_get()"},
 | 
			
		||||
    { check_loadavg, "procps_loadavg()"},
 | 
			
		||||
    { check_loadavg, "procps_loadavg() with NULLs"},
 | 
			
		||||
    { NULL, NULL}
 | 
			
		||||
TestFunction test_funcs[] = {
 | 
			
		||||
    check_hertz,
 | 
			
		||||
    check_loadavg,
 | 
			
		||||
    check_loadavg_null,
 | 
			
		||||
    NULL,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
    int i;
 | 
			
		||||
    struct test_func *current;
 | 
			
		||||
 | 
			
		||||
    for(i=0; tests[i].func != NULL; i++) {
 | 
			
		||||
        current = &tests[i];
 | 
			
		||||
        if (!current->func(NULL)) {
 | 
			
		||||
            fprintf(stderr, "FAIL: %s\n", current->name);
 | 
			
		||||
            return EXIT_FAILURE;
 | 
			
		||||
        } else {
 | 
			
		||||
            fprintf(stderr, "PASS: %s\n", current->name);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return EXIT_SUCCESS;
 | 
			
		||||
    return run_tests(test_funcs, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user