void test_processes_monitor(void) { double cf_this[100] = { 0.0 }; MonProcessesGatherData(cf_this); MonProcessesGatherData(cf_this); MonProcessesGatherData(cf_this); int usr, rusr, ousr; usr = rusr = ousr = 0; bool res = GetSysUsers(&usr, &rusr, &ousr); if (!res) { Log(LOG_LEVEL_NOTICE, "TEST SKIPPED!"); return; } usr = 3*usr; rusr = 3*rusr; ousr = 3*ousr; Log(LOG_LEVEL_NOTICE, "Counted %d/3 different users on the process table," " while CFEngine counted %f/3", usr, cf_this[ob_users]); Log(LOG_LEVEL_NOTICE, "This is a non-deterministic test," " the two numbers should be *about* the same since the 'ps'" " commands run very close to each other"); int upper = (int) ((double) usr*1.10); int lower = (int) ((double) usr*0.90); assert_in_range((long long) cf_this[ob_users], lower, upper); }
void test_processes_monitor(void) { # ifdef __sun return; //redmine 6316 # endif double cf_this[100] = { 0.0 }; MonProcessesGatherData(cf_this); MonProcessesGatherData(cf_this); MonProcessesGatherData(cf_this); int usr, rusr, ousr; usr = rusr = ousr = 0; bool res = GetSysUsers(&usr, &rusr, &ousr); if (res == false ) { assert_true(1); return; } usr = 3*usr; rusr = 3*rusr; ousr = 3*ousr; int upper = (int)((double)usr*1.10); int lower = (int)((double)usr*0.90); assert_in_range((long long)cf_this[ob_users], lower, upper); }