[CHAOS_MONKEY] enabled = 0 config = CHAOS_MONKEY_HARD [LOG] logAppRegistryOnStart = true logAppRegistryOnStop = true logAppEnvironmentOnStart = true logAppEnvironmentOnStop = true logAppArguments = true logAppPath = true [UNITTESTS_DISABLE] NoDefaultConfig__DoesNotIntercept =1 NoDefaultConfigFuncConfig__DoesIntercept =1 DefaultConfig__DoesIntercept =1 NoChaosMonkeySection__DoesNotIntercept =1 ChaosMonkeyDisabled__DoesNotIntercept =1 SemicolonLastInLine__Ok =1 SpacesInRules__Ok =1 DuplicateParam__Throw = 1 ConfigProbabilityValid__CorrectRatio = 1 [NODEFAULTCONFIGFUNCCONFIG__DOESINTERCEPT] enabled = 1 [NODEFAULTCONFIGFUNCCONFIG__DOESINTERCEPT_PLAN1] write= runs=1;return_status=eIO_Timeout; read= runs=1;return_status=eIO_Timeout; poll=delay=2000;ignore=yes;runs=1 connect=allow=no;runs=1 [DEFAULTCONFIG__DOESINTERCEPT] ; Numeration starts from 1 enabled = 1 [DEFAULTCONFIG__DOESINTERCEPT_PLAN1] write= runs=1;return_status=eIO_Timeout; read= runs=1;return_status=eIO_Timeout; poll=delay=2000;ignore=yes;runs=1 connect=allow=no;runs=1 [doesnotexist_PLAN1] host_match=lbos.* port_match=8080 write1=return_status=eIO_Unknown;runs=100% read1=return_status=eIO_Timeout;runs=100% poll=ignore=yes; connect1=return_status=eIO_Unknown;runs=100% ; Semicolon test - test rules that have and do not have trailing semicolon ; Order of check for recv/send: ; 1 - Interception ; 2 - Interception (different error code) ; 3 - No interception from now on [SEMICOLON_TEST] enabled =TRUE [SEMICOLON_TEST_PLAN1] write1 =return_status=eIO_Unknown;runs=1:100%,2:0%,3:0%,repeat; write2 =return_status=eIO_Timeout;runs=1:0%,2:100%,3:0%,repeat read1 =return_status=eIO_Unknown;runs=1:100%,2:0%,3:0%,repeat; read2 =return_status=eIO_Timeout;runs=1:0%,2:100%, 3:0%,repeat connect1 =allow=no;return_status=eIO_Closed;runs=1:100%,2:0%,3:0%,repeat; connect2 =allow=no;return_status=eIO_Unknown;runs=1:0%,2:100%,3:0%,repeat; poll1 =ignore=yes;delay=2000;runs=1:0%,2:100%,3:0%,repeat poll2 =ignore=yes;delay=100;runs=1:100%,2:0%,3:0%,repeat; [SPACES_TEST] enabled =TRUE [SPACES_TEST_PLAN1] write1 =return_status=eIO_Unknown;runs=1:100%,2:0%, 3:0%,repeat; write2 =return_status=eIO_Timeout;runs=1:0%, 2:100%,3:0%,repeat; read1 =return_status=eIO_Unknown;runs=1:100%,2:0%, 3:0%,repeat; read2 =return_status=eIO_Timeout;runs=1:0%, 2:100%,3:0%,repeat; connect1 =allow=no;return_status=eIO_Closed; runs=1:100%,2:0%, 3:0%, repeat; connect2 =allow=no;return_status=eIO_Unknown;runs=1:0%, 2:100%, 3:0%, repeat; poll1 =ignore=yes; delay = 2000; runs=1: 0%, 2 : 100%, 3 : 0%, repeat; poll2 =ignore= yes; delay = 100 ; runs=1: 100% ,2:0%, 3 :0%, repeat; ; Test for duplicate parameter - parameter "runs" is set twice in the write rule [DUPLPARAM_TEST_WRITE1] enabled =TRUE [DUPLPARAM_TEST_WRITE1_PLAN1] write = runs=2;return_status=eIO_Unknown;runs=3; ; Test for duplicate parameter - parameter "return_status" is set twice in the write rule [DUPLPARAM_TEST_WRITE2] enabled =TRUE [DUPLPARAM_TEST_WRITE2_PLAN1] write = return_status=eIO_Unknown;runs=3;return_status=eIO_Unknown; ; Test for duplicate parameter - parameter "runs" is set twice in the read rule [DUPLPARAM_TEST_READ1] enabled =TRUE [DUPLPARAM_TEST_READ1_PLAN1] read = runs=2;return_status=eIO_Unknown;runs==5 ; Test for duplicate parameter - parameter "return_status" is set twice in the read rule [DUPLPARAM_TEST_READ2] enabled =TRUE [DUPLPARAM_TEST_READ2_PLAN1] read = return_status=eIO_Unknown;runs=2;return_status=eIO_Unknown; ; Test for duplicate parameter - parameter "allow" is set twice in the connect rule [DUPLPARAM_TEST_CONNECT1] enabled =TRUE [DUPLPARAM_TEST_CONNECT1_PLAN1] connect = allow=no;runs=3,repeat;allow=no; ; Test for duplicate parameter - parameter "runs" is set twice in the connect rule [DUPLPARAM_TEST_CONNECT2] enabled =TRUE [DUPLPARAM_TEST_CONNECT2_PLAN1] connect = runs=3,repeat;allow=no;runs==3,repeat; ; Test for duplicate parameter - parameter "ignore" is set twice in the poll rule [DUPLPARAM_TEST_POLL1] enabled =TRUE [DUPLPARAM_TEST_POLL1_PLAN1] poll = ignore=yes;runs=3,repeat;ignore=yes; ; Test for duplicate parameter - parameter "runs" is set twice in the poll rule [DUPLPARAM_TEST_POLL2] enabled =TRUE [DUPLPARAM_TEST_POLL2_PLAN1] poll = runs=3,repeat;ignore=yes;runs=3,repeat; [CONF_STRENGTH_VALID1] enabled =TRUE probability = -0% [CONF_STRENGTH_VALID1_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_VALID2] enabled =TRUE probability = 0% [CONF_STRENGTH_VALID2_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_VALID3] enabled =TRUE probability = 30% [CONF_STRENGTH_VALID3_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_VALID4] enabled =TRUE probability = 100% [CONF_STRENGTH_VALID4_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_VALID5] enabled =TRUE probability = [CONF_STRENGTH_VALID5_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_INVALID1] enabled =TRUE probability = -1% [CONF_STRENGTH_INVALID1_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_INVALID2] enabled =TRUE probability = -140% [CONF_STRENGTH_INVALID2_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_INVALID3] enabled =TRUE probability = 140% [CONF_STRENGTH_INVALID3_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_INVALID4] enabled =TRUE probability = 1,0 [CONF_STRENGTH_INVALID4_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_INVALID5] enabled =TRUE probability = 1g [CONF_STRENGTH_INVALID5_PLAN1] write = return_status=eIO_Unknown; [CONF_STRENGTH_INVALID6] enabled =TRUE probability = ff [CONF_STRENGTH_INVALID6_PLAN1] write = return_status=eIO_Unknown; ; Test for parsing and execution of a valid all-monkey setting for probability. ; Text in 'write' is not very important, its only task is to replace default text. ; Probability value is 33% [PROBABILITYVALID1] enabled =TRUE probability=33% [PROBABILITYVALID1_PLAN1] write = text='PROBABILITYVALID1_TEXT' ; Test for parsing and execution of a valid all-monkey setting for probability. ; Text in 'write' is not very important, its only task is to replace default text. ; Probability value is 0% [PROBABILITYVALID2] enabled =TRUE probability=0% [PROBABILITYVALID2_PLAN1] write = text='PROBABILITYVALID2_TEXT' [PROBABILITYVALID3] enabled =TRUE probability=-0% [PROBABILITYVALID3_PLAN1] write = text='PROBABILITYVALID3_TEXT' [PROBABILITYVALID4] enabled = TRUE probability = 100% [PROBABILITYVALID4_PLAN1] write = text='PROBABILITYVALID4_TEXT' [PROBABILITYVALID5] enabled =TRUE probability=0.0 [PROBABILITYVALID5_PLAN1] write = text='PROBABILITYVALID5_TEXT' [PROBABILITYVALID6] enabled =TRUE probability=-0 [PROBABILITYVALID6_PLAN1] write = text='PROBABILITYVALID6_TEXT' [PROBABILITYVALID7] enabled =TRUE probability=0.385 [PROBABILITYVALID7_PLAN1] write = text='PROBABILITYVALID7_TEXT' [PROBABILITYVALID8] enabled =TRUE probability=1.0 [PROBABILITYVALID8_PLAN1] write = text='PROBABILITYVALID8_TEXT' [PROBABILITYINVALID1] enabled =TRUE probability=146% [PROBABILITYINVALID1_PLAN1] write = text='PROBABILITYINVALID1_TEXT' [PROBABILITYINVALID2] enabled =TRUE probability=-10% [PROBABILITYINVALID2_PLAN1] write = text='PROBABILITYINVALID2_TEXT' [PROBABILITYINVALID3] enabled =TRUE probability=1.1 [PROBABILITYINVALID3_PLAN1] write = text='PROBABILITYINVALID3_TEXT' [PROBABILITYINVALID4] enabled =TRUE probability=-0.1 [PROBABILITYINVALID4_PLAN1] write = text='PROBABILITYINVALID4_TEXT' [PROBABILITYINVALID5] enabled =TRUE probability=-1 [PROBABILITYINVALID5_PLAN1] write = text='PROBABILITYINVALID5_TEXT' [PROBABILITYINVALID6] enabled =TRUE probability=0,385 [PROBABILITYINVALID6_PLAN1] write = text='PROBABILITYINVALID6_TEXT' [PROBABILITYINVALID7] enabled =TRUE probability=1,0 [PROBABILITYINVALID7_PLAN1] write = text='PROBABILITYINVALID7_TEXT' [PROBABILITYINVALID8] enabled =TRUE probability=-0,1 [PROBABILITYINVALID8_PLAN1] write = text='PROBABILITYINVALID8_TEXT'