*** Variables ***
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat
-${CONFIG} ${TESTDIR}/configs/plugins.conf
+${CONFIG} ${TESTDIR}/configs/neural.conf
${MESSAGE} ${TESTDIR}/messages/spam_message.eml
${REDIS_SCOPE} Suite
${RSPAMD_SCOPE} Suite
Sleep 2s Wait for redis mess
FOR ${INDEX} IN RANGE 0 10
${result} = Scan Message With Rspamc ${MESSAGE} --header Settings={symbols_enabled = ["SPAM_SYMBOL"]}
- Check Rspamc ${result} SPAM_SYMBOL (1.00)
+ Check Rspamc ${result} SPAM_SYMBOL
${result} = Scan Message With Rspamc ${MESSAGE} --header Settings={symbols_enabled = ["HAM_SYMBOL"]}
- Check Rspamc ${result} HAM_SYMBOL (-1.00)
+ Check Rspamc ${result} HAM_SYMBOL
END
Check Neural HAM
Train INVERSE
FOR ${INDEX} IN RANGE 0 10
- ${result} = Scan Message With Rspamc ${MESSAGE} --header Settings={symbols_enabled = ["SPAM_SYMBOL"]; SPAM_SYMBOL = -1}
- Check Rspamc ${result} SPAM_SYMBOL (-1.00)
- ${result} = Scan Message With Rspamc ${MESSAGE} --header Settings={symbols_enabled = ["HAM_SYMBOL"]; HAM_SYMBOL = 1;}
- Check Rspamc ${result} HAM_SYMBOL (1.00)
+ ${result} = Scan Message With Rspamc ${MESSAGE} --header Settings={symbols_enabled = ["SPAM_SYMBOL"]; SPAM_SYMBOL = -5;}
+ Check Rspamc ${result} SPAM_SYMBOL
+ ${result} = Scan Message With Rspamc ${MESSAGE} --header Settings={symbols_enabled = ["HAM_SYMBOL"]; HAM_SYMBOL = 5;}
+ Check Rspamc ${result} HAM_SYMBOL
END
Check Neural HAM INVERSE
${TMPDIR} = Make Temporary Directory
Set Suite Variable ${TMPDIR}
Run Redis
- ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/neural.conf
- Set Suite Variable ${PLUGIN_CONFIG}
- Generic Setup PLUGIN_CONFIG
+ Generic Setup
Neural Teardown
Shutdown Process With Children ${REDIS_PID}
+options = {
+ url_tld = "${URL_TLD}"
+ pidfile = "${TMPDIR}/rspamd.pid"
+ lua_path = "${INSTALLROOT}/share/rspamd/lib/?.lua"
+ filters = [];
+ explicit_modules = ["settings"];
+}
+
+logging = {
+ type = "file",
+ level = "debug"
+ filename = "${TMPDIR}/rspamd.log"
+ log_usec = true;
+}
+metric = {
+ name = "default",
+ actions = {
+ reject = 100500,
+ add_header = 50500,
+ }
+ unknown_weight = 1
+}
+worker {
+ type = normal
+ bind_socket = ${LOCAL_ADDR}:${PORT_NORMAL}
+ count = 1
+ task_timeout = 10s;
+}
+worker {
+ type = controller
+ bind_socket = ${LOCAL_ADDR}:${PORT_CONTROLLER}
+ count = 1
+ secure_ip = ["127.0.0.1", "::1"];
+ stats_path = "${TMPDIR}/stats.ucl"
+}
+
+modules {
+ path = "${TESTDIR}/../../src/plugins/lua/"
+}
+
+lua = "${TESTDIR}/lua/test_coverage.lua";
+
neural {
rules {
SHORT {
Generic Teardown
Run Keyword If '${CONTROLLER_ERRORS}' == 'True' Check Controller Errors
Shutdown Process With Children ${RSPAMD_PID}
+ Save Run Results ${TMPDIR} rspamd.conf rspamd.log redis.log clickhouse-config.xml
Log does not contain segfault record
- Save Run Results ${TMPDIR} rspamd.log redis.log rspamd.conf clickhouse-config.xml
Collect Lua Coverage
Cleanup Temporary Directory ${TMPDIR}
rspamd_config:register_symbol({
name = 'SPAM_SYMBOL',
- score = 1.0,
+ score = 5.0,
callback = function()
return true, 'Fires always'
end
rspamd_config:register_symbol({
name = 'HAM_SYMBOL',
- score = -1.0,
+ score = -3.0,
+ callback = function()
+ return true, 'Fires always'
+ end
+})
+
+rspamd_config:register_symbol({
+ name = 'NEUTRAL_SYMBOL',
+ score = 1.0,
+ flags = 'explicit_disable',
callback = function()
return true, 'Fires always'
end