1####################################################### 2# 3# Test getvalues() returns all values for a given array 4# merging strings 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]" slist => { "alpha", "bravo" }; 21 "data[bar]" string => "zulu"; 22} 23 24####################################################### 25 26bundle agent test 27{ 28 meta: 29 "test_soft_fail" string => "!any", 30 meta => { "redmine7116" }; 31 32 vars: 33 "values_data" slist => getvalues("init.data"); 34} 35 36####################################################### 37 38bundle agent check 39{ 40 vars: 41 "expected_elements" slist => { "alpha", "bravo", "zulu" }; 42 43 "diff1" slist => difference( "test.values_data", expected_elements ); 44 "diff2" slist => difference( expected_elements, "test.values_data"); 45 46 "len_diff1" int => length(diff1); 47 "len_diff2" int => length(diff2); 48 49 classes: 50 "ok" expression => strcmp( $(len_diff1), $(len_diff2) ); 51 52 reports: 53 DEBUG:: 54 "DEBUG: data value: '$(test.values_data)'"; 55 "DEBUG: expected value: '$(expected_elements)'"; 56 "DEBUG: found '$(diff1)' in test.values_data, but not in expected_elements"; 57 "DEBUG: found '$(diff2)' in expected_elements, but not in test.values_data"; 58 59 ok:: 60 "$(this.promise_filename) Pass"; 61 62 !ok:: 63 "$(this.promise_filename) FAIL"; 64} 65