File: mon_load_test.c

package info (click to toggle)
cfengine3 3.6.2-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 20,256 kB
  • ctags: 9,613
  • sloc: ansic: 116,129; sh: 12,366; yacc: 1,088; makefile: 1,006; lex: 391; perl: 197; xml: 21; sed: 4
file content (37 lines) | stat: -rw-r--r-- 845 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "test.h"

#include "generic_agent.h"
#include "mon.h"

void test_load_monitor(void)
{
    double cf_this[100];
    MonLoadGatherData(cf_this);
    double load1[2] = {0,0};
    double load2[2] = {0,0};
    int n1 = getloadavg(load1, 1);
    int n2 = getloadavg(load2, 1);
    if (n1==-1 || n2==-1)
    {
        assert_true(1);
        return;
    }

    double min = (double) (load2[0]<load1[0]?load2[0]:load1[0]);
    double max = (double) (load2[0]<load1[0]?load1[0]:load2[0]); 
    double lower = (min - (fabs(load2[0] - load1[0]))) * 0.90;
    double upper = (max + (fabs(load2[0] - load1[0]))) * 1.10;

    assert_true(cf_this[ob_loadavg]>=lower && cf_this[ob_loadavg]<=upper);
}

int main()
{
    PRINT_TEST_BANNER();
    const UnitTest tests[] =
    {
        unit_test(test_load_monitor),
    };

    return run_tests(tests);
}