1#######################################################
2#
3# Test getvalues() returns an slist when used against
4# an array that has a scalar.
5#
6#######################################################
7
8body common control
9{
10      inputs => { "../../default.cf.sub" };
11      bundlesequence  => { default("$(this.promise_filename)") };
12      version => "1.0";
13}
14
15#######################################################
16
17bundle agent init
18{
19  vars:
20    "data[foo]" string => "bar";
21}
22
23#######################################################
24
25bundle agent test
26{
27  meta:
28      "test_soft_fail" string => "!any",
29        meta => { "redmine7116" };
30
31  vars:
32    "values_data" slist => getvalues("init.data");
33}
34
35#######################################################
36
37bundle agent check
38{
39  vars:
40    "expected_elements" slist => { "bar" };
41
42    "diff1" slist => difference( "test.values_data", expected_elements );
43    "diff2" slist => difference( expected_elements, "test.values_data");
44
45    "len_diff1" int => length(diff1);
46    "len_diff2" int => length(diff2);
47
48  classes:
49    "ok" expression => strcmp( $(len_diff1), $(len_diff2) );
50
51  reports:
52    DEBUG::
53      "DEBUG: data value: '$(test.values_data)'";
54      "DEBUG: expected value: '$(expected_elements)'";
55      "DEBUG: found '$(diff1)' in test.values_data, but not in expected_elements";
56      "DEBUG: found '$(diff2)' in expected_elements, but not in test.values_data";
57
58    ok::
59      "$(this.promise_filename) Pass";
60
61    !ok::
62      "$(this.promise_filename) FAIL";
63}
64