From 73a4901fe1f3ed884efcbb49d204d1466215f89c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sat, 26 Jan 2019 10:00:47 +0100 Subject: [PATCH] tests: fix evaluation tests on FreeBSD The following special sequences are not supported in regular expressions on FreeBSD: - "\w": replaced with "[a-zA-Z0-9_]" - "\S": replaced with "[^ ]" (it should be "[^ \t\n\r\f\v]", but in practice only spaces could be a problem when we use this sequence). --- ChangeLog.adoc | 2 +- tests/unit/core/test-core-eval.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 5c6f1988a..6e14834ff 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -42,7 +42,7 @@ Bug fixes:: Tests:: - * unit: fix UTF-8 tests on FreeBSD + * unit: fix UTF-8 and evaluation tests on FreeBSD * unit: add tests on IRC configuration and protocol functions Build:: diff --git a/tests/unit/core/test-core-eval.cpp b/tests/unit/core/test-core-eval.cpp index 4f2a90e9e..f0e333b79 100644 --- a/tests/unit/core/test-core-eval.cpp +++ b/tests/unit/core/test-core-eval.cpp @@ -507,13 +507,13 @@ TEST(CoreEval, EvalReplaceRegex) /* add brackets around URLs (regex as string) */ hashtable_remove (pointers, "regex"); - hashtable_set (options, "regex", "\\w+://\\S+"); + hashtable_set (options, "regex", "[a-zA-Z0-9_]+://[^ ]+"); hashtable_set (options, "regex_replace", "[ ${re:0} ]"); WEE_CHECK_EVAL("test: [ https://weechat.org/ ]", "test: https://weechat.org/"); /* add brackets around URLs (compiled regex) */ - LONGS_EQUAL(0, string_regcomp (®ex, "\\w+://\\S+", + LONGS_EQUAL(0, string_regcomp (®ex, "[a-zA-Z0-9_]+://[^ ]+", REG_EXTENDED | REG_ICASE)); hashtable_set (pointers, "regex", ®ex); hashtable_remove (options, "regex"); @@ -524,13 +524,13 @@ TEST(CoreEval, EvalReplaceRegex) /* hide passwords (regex as string) */ hashtable_remove (pointers, "regex"); - hashtable_set (options, "regex", "(password=)(\\S+)"); + hashtable_set (options, "regex", "(password=)([^ ]+)"); hashtable_set (options, "regex_replace", "${re:1}${hide:*,${re:2}}"); WEE_CHECK_EVAL("password=*** password=***", "password=abc password=def"); /* hide passwords (compiled regex) */ - LONGS_EQUAL(0, string_regcomp (®ex, "(password=)(\\S+)", + LONGS_EQUAL(0, string_regcomp (®ex, "(password=)([^ ]+)", REG_EXTENDED | REG_ICASE)); hashtable_set (pointers, "regex", ®ex); hashtable_remove (options, "regex");