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