blob: bf00f1f0cd1a165e22a28574b71571859a110da9 [file] [log] [blame]
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <slurm/slurm_errno.h>
#include "src/common/log.h"
int bad_func()
{
slurm_seterrno_ret(EINVAL);
}
int main(int ac, char **av)
{
/* test elements */
char string[] = "test string";
double f = 9876543210.0123456;
int i = 67890;
int negi = -i;
unsigned int u = 1234;
char *p = NULL;
log_options_t log_opts = LOG_OPTS_INITIALIZER;
log_opts.stderr_level = LOG_LEVEL_DEBUG2;
/* test log to stderr when log not initialized */
error("testing with uninitialized log.");
/* now initialize log: */
log_init("log-test", log_opts, 0, NULL);
error ("testing error");
info ("testing info ");
verbose("testing verbose");
debug ("testing debug level 1");
debug2 ("testing debug level 2");
debug3 ("ERROR: Should not see this.");
info ("testing print of null pointer: %p = %s", p, p);
info ("testing double: %18.7f int: %05i string `%s'", f, i, string);
info ("testing unsigned: %u int: % 08d", u, negi);
switch (fork()) {
case 0:
info("in child %ld", (long int) getpid());
log_reinit();
info("in child after log reinit");
exit(0);
break;
case -1:
error("fork: %m");
break;
default:
info("in parent %ld", (long int) getpid());
break;
}
/* for now, this test passes if we make it through without
* dumping core
*/
if (bad_func() < 0)
error("bad_func: %m");
return 0;
}