1local function test_log_level() 2 same(log_level(), 'notice', 'default level is notice') 3 same(verbose(), false, 'verbose is not set by default') 4 same(log_level('crit'), 'crit', '"crit" level can be set') 5 same(log_level('err'), 'err', '"err" level can be set') 6 same(log_level('warning'), 'warning', '"warning" level can be set') 7 same(log_level('notice'), 'notice', '"notice" level can be set') 8 same(log_level('info'), 'info', '"info" level can be set') 9 same(log_level('debug'), 'debug', '"debug" level can be set') 10 same(verbose(), true, 'verbose is active when debug level is set') 11 same(verbose(false), false, 'verbose can be used to turn off debug level') 12 same(log_level(), 'notice', 'verbose returns log level to notice') 13 boom(log_level, { 'xxx' }, "unknown level can't be used") 14 boom(log_level, { 7 }, "numbered levels aren't supported") 15 boom(log_level, { 1, 2 }, "level doesn't take multiple arguments") 16end 17 18local function test_log_target() 19 same(log_target(), 'stderr', 'default target is stderr') 20 same(log_target('stdout'), 'stdout', 'stdout target can be set') 21 same(log_target('syslog'), 'syslog', 'syslog target can be set') 22 same(log_target('stderr'), 'stderr', 'stderr target can be set') 23 boom(log_level, { 'xxx' }, "unknown target can't be used") 24 boom(log_level, { 'stderr', 'syslog' }, "target doesn't take multiple arguments") 25end 26 27local function test_log_groups() 28 same(log_groups(), {}, 'no groups are logged by default') 29 same(log_groups({'system'}), {'system'}, 'configure "system" group') 30 same(log_groups({'devel'}), {'devel'}, 'another call overrides previously set groups') 31 same(log_groups({'devel', 'system'}), {'system', 'devel'}, 'configure multiple groups') 32 same(log_groups({}), {}, 'clear groups with empty table') 33 boom(log_groups, { 'string' }, "group argument can't be string") 34 boom(log_groups, { {'nonexistent'} }, "nonexistent group can't be added") 35 boom(log_groups, { 1, 2 }, "group doesn't take multiple arguments") 36end 37 38return { 39 test_log_level, 40 test_log_target, 41 test_log_groups, 42} 43