Start testing: Jun 08 12:29 UTC
----------------------------------------------------------
1/1 Testing: unit
1/1 Test: unit
Command: "/var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tests" "-v"
Directory: /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests
"unit" start time: Jun 08 12:29 UTC
Output:
----------------------------------------------------------
[?1002l[?1000l[?1005l[?2004hWeeChat arguments: "/var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tests --dir ./tmp_weechat_test -p"
  ___       __         ______________        _____ 
  __ |     / /___________  ____/__  /_______ __  /_
  __ | /| / /_  _ \  _ \  /    __  __ \  __ `/  __/
  __ |/ |/ / /  __/  __/ /___  _  / / / /_/ // /_  
  ____/|__/  \___/\___/\____/  /_/ /_/\__,_/ \__/  
WeeChat 3.8 [compiled on Jun  8 2023 12:28:47]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Welcome to WeeChat!

If you are discovering WeeChat, it is recommended to read at least the quickstart guide, and the user's guide if you have some time; they explain main WeeChat concepts.
All WeeChat docs are available at: https://weechat.org/doc/

Moreover, there is inline help with /help on all commands and options (use Tab key to complete the name).
The command /fset can help to customize WeeChat.

You can add and connect to an IRC server with /server and /connect commands (see /help server).

---

Bar "input" created
Bar "title" created
Bar "status" created
Bar "nicklist" created
Auto-loading plugins from path in environment variable WEECHAT_EXTRA_LIBDIR ("/var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/src")
Plugin "xfer" loaded
Plugin "typing" loaded
Plugin "trigger" loaded
Plugin "spell" loaded
Plugin "guile" loaded
Plugin "python" loaded
Plugin "perl" loaded
Plugin "script" loaded
Plugin "relay" loaded
Plugin "logger" loaded
Plugin "irc" loaded
Plugin "fifo" loaded
Plugin "exec" loaded
Plugin "charset" loaded
Plugin "buflist" loaded
Plugin "alias" loaded
New key binding (context "default"): meta-B => /buflist toggle
New key binding (context "default"): meta-OP => /bar scroll buflist * -100%
New key binding (context "default"): meta2-11~ => /bar scroll buflist * -100%
New key binding (context "default"): meta-OQ => /bar scroll buflist * +100%
New key binding (context "default"): meta2-12~ => /bar scroll buflist * +100%
New key binding (context "default"): meta2-11^ => /bar scroll buflist * -100%
New key binding (context "default"): meta2-1;5P => /bar scroll buflist * -100%
New key binding (context "default"): meta2-12^ => /bar scroll buflist * +100%
New key binding (context "default"): meta2-1;5Q => /bar scroll buflist * +100%
New key binding (context "default"): meta-meta-OP => /bar scroll buflist * b
New key binding (context "default"): meta-meta2-11~ => /bar scroll buflist * b
New key binding (context "default"): meta2-1;3P => /bar scroll buflist * b
New key binding (context "default"): meta-meta-OQ => /bar scroll buflist * e
New key binding (context "default"): meta-meta2-12~ => /bar scroll buflist * e
New key binding (context "default"): meta2-1;3Q => /bar scroll buflist * e
Loading tests on plugins: "/var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/libweechat_unit_tests_plugins.so"
>>> Running command: /command core version
WeeChat 3.8 [compiled on Jun  8 2023 12:28:47]
>>> Running command: /debug dirs

Directories:
  home:
    config: ./tmp_weechat_test
    data: ./tmp_weechat_test
    cache: ./tmp_weechat_test
    runtime: ./tmp_weechat_test
  lib: /usr/lib64/weechat
  lib (extra): /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/src
  share: /usr/share/weechat
  locale: /usr/share/locale
>>> Running command: /debug libs

Libs:
  core:
    ncurses: (?)
    gcrypt: 1.10.2-unknown
    gnutls: 3.8.0
    curl: 8.1.2
    zlib: 1.2.13
    zstd: 1.5.5
  spell: aspell 0.60.8
  guile: 2.2.7
  perl: 5.36.1
  python: 3.11.4

TEST(XferNetwork, ConvertIntegerToIpv4) - 0 ms
TEST(XferFile, CalculateSpeed) - 0 ms
TEST(XferFile, FindFilename) - 0 ms
TEST(XferFile, FindSuffix) - 0 ms
TEST(XferFile, CheckSuffix) - 0 ms
TEST(XferFile, Resume) - 0 ms
TEST(XferFile, SearchCrc32) - 0 ms
TEST(TypingStatus, NickAddSearchRemove) - 0 ms
TEST(TypingStatus, SelfAddSearch) - 0 ms
TEST(TypingStatus, SearchState) - 0 ms
TEST(Typing, SetupHooks) - 0 ms
TEST(Typing, TypingResetBufferSignalCb) - 0 ms
TEST(Typing, TypingSetNickSignalCb) - 0 ms
TEST(Typing, TimerCb) - 0 ms
TEST(Typing, StatusNicksHashMapCb) - 0 ms
TEST(Typing, StatusNicksStatusMapCb) - 0 ms
TEST(Typing, StatusSelfStatusMapCb) - 0 ms
TEST(Typing, InputTextForBufferModifierCb) - 0 ms
TEST(Typing, InputTextChangedSignalCb) - 0 ms
TEST(Typing, BufferClosingSignalCb) - 0 ms
TEST(Typing, SendSignal) - 0 ms
TEST(TriggerConfig, Free) - 0 ms
TEST(TriggerConfig, Write) - 0 ms
TEST(TriggerConfig, Read) - 0 ms
TEST(TriggerConfig, Init) - 0 ms
TEST(TriggerConfig, ReloadCb) - 0 ms
TEST(TriggerConfig, TriggerWriteDefaultCb) - 0 ms
TEST(TriggerConfig, TriggerReadCb) - 0 ms
TEST(TriggerConfig, UseTempTriggers) - 0 ms
TEST(TriggerConfig, CreateOptionTemp) - 0 ms
TEST(TriggerConfig, ChangeTriggerOption) - 0 ms
TEST(TriggerConfig, ChangeTriggerCommand) - 0 ms
TEST(TriggerConfig, ChangeTriggerRegex) - 0 ms
TEST(TriggerConfig, ChangeTriggerArguments) - 0 ms
TEST(TriggerConfig, ChangeTriggerHook) - 0 ms
TEST(TriggerConfig, ChangeTriggerEnabled) - 0 ms
TEST(TriggerConfig, ChangeEnabled) - 0 ms
TEST(TriggerConfig, DefaultTriggerServerPass) - 0 ms
TEST(TriggerConfig, DefaultTriggerMsgAuth) - 0 ms
TEST(TriggerConfig, DefaultTriggerCmdPassRegister) - 1 ms
TEST(TriggerConfig, DefaultTriggerCmdPass) - 0 ms
TEST(TriggerConfig, DefaultTriggerBeep) - 0 ms
TEST(Trigger, DebugDumpCb) - 0 ms
TEST(Trigger, PrintLog) - 0 ms
TEST(Trigger, FreeAll) - 0 ms
TEST(Trigger, Copy) - 0 ms
TEST(Trigger, Rename) - 0 ms
TEST(Trigger, CreateDefault) - 0 ms
TEST(Trigger, New)Creating disabled trigger with hook "signal"
Creating enabled trigger with hook "signal"
Creating disabled trigger with hook "hsignal"
Creating enabled trigger with hook "hsignal"
Creating disabled trigger with hook "modifier"
Creating enabled trigger with hook "modifier"
Creating disabled trigger with hook "line"
Creating enabled trigger with hook "line"
Creating disabled trigger with hook "print"
Creating enabled trigger with hook "print"
Creating disabled trigger with hook "command"
Creating enabled trigger with hook "command"
Creating disabled trigger with hook "command_run"
Creating enabled trigger with hook "command_run"
Creating disabled trigger with hook "timer"
Creating enabled trigger with hook "timer"
Creating disabled trigger with hook "config"
Creating enabled trigger with hook "config"
Creating disabled trigger with hook "focus"
Creating enabled trigger with hook "focus"
Creating disabled trigger with hook "info"
Creating enabled trigger with hook "info"
Creating disabled trigger with hook "info_hashtable"
Creating enabled trigger with hook "info_hashtable"
 - 1 ms
TEST(Trigger, NameValid) - 0 ms
TEST(Trigger, SplitCommand) - 0 ms
TEST(Trigger, RegexSplit) - 0 ms
TEST(Trigger, Hook) - 0 ms
TEST(Trigger, Unhook) - 0 ms
TEST(Trigger, SearchPostAction) - 0 ms
TEST(Trigger, SearchReturnCode) - 0 ms
TEST(Trigger, SearchRegexCommand) - 0 ms
TEST(Trigger, SearchHookType) - 0 ms
TEST(Trigger, SearchOption) - 0 ms
TEST(RelayAuth, CheckHashPbkdf2) - 1 ms
TEST(RelayAuth, CheckHashSha) - 0 ms
TEST(RelayAuth, CheckPasswordPlain) - 0 ms
TEST(RelayAuth, ParsePbkdf2) - 0 ms
TEST(RelayAuth, ParseSha) - 0 ms
TEST(RelayAuth, GenerateNonce) - 0 ms
TEST(RelayAuth, PasswordHashAlgoSearch) - 0 ms
TEST(LoggerBacklog, SignalCb) - 0 ms
TEST(LoggerBacklog, File) - 0 ms
TEST(LoggerBacklog, DisplayLine)
invalid date nick	the message
nick the message
nick the message	with tab
 - 0 ms
TEST(LoggerBacklog, CheckConditions) - 0 ms
TEST(IrcTag, Parse) - 0 ms
TEST(IrcTag, ModifierCallback) - 0 ms
TEST(IrcTag, UnescapeValue) - 0 ms
TEST(IrcTag, EscapeValue) - 0 ms
TEST(IrcServerConnected, BuildAutojoin) - 4 ms
TEST(IrcServer, PrintLog) - 0 ms
TEST(IrcServer, AddToInfolist) - 0 ms
TEST(IrcServer, HdataServerCb) - 0 ms
TEST(IrcServer, XferSendAcceptResumeCb) - 0 ms
TEST(IrcServer, XferResumeReadyCb) - 0 ms
TEST(IrcServer, XferSendReadyCb) - 0 ms
TEST(IrcServer, SetAway) - 0 ms
TEST(IrcServer, CheckAway) - 0 ms
TEST(IrcServer, RemoveAway) - 0 ms
TEST(IrcServer, GetPvCount) - 0 ms
TEST(IrcServer, GetChannelCount) - 0 ms
TEST(IrcServer, AutojoinChannels) - 0 ms
TEST(IrcServer, AutojoinCreateBuffers) - 0 ms
TEST(IrcServer, DisconnectAll) - 0 ms
TEST(IrcServer, Disconnect) - 0 ms
TEST(IrcServer, AutoConnect) - 0 ms
TEST(IrcServer, AutoConnectTimerCb) - 0 ms
TEST(IrcServer, Reconnect) - 0 ms
TEST(IrcServer, Connect) - 0 ms
TEST(IrcServer, GnutlsCallback) - 0 ms
TEST(IrcServer, CheckCertificateFingerprint) - 0 ms
TEST(IrcServer, CompareFingerprints) - 0 ms
TEST(IrcServer, FingerprintStrSizes) - 0 ms
TEST(IrcServer, FingerprintSearchAlgoWithSize) - 0 ms
TEST(IrcServer, CreateBuffer) - 0 ms
TEST(IrcServer, SetBufferTitle) - 0 ms
TEST(IrcServer, ConnectCb) - 0 ms
TEST(IrcServer, SwitchAddress) - 0 ms
TEST(IrcServer, Login) - 0 ms
TEST(IrcServer, ReconnectSchedule) - 0 ms
TEST(IrcServer, CloseConnection) - 0 ms
TEST(IrcServer, TimerCb) - 0 ms
TEST(IrcServer, CheckJoinSmartFilteredCb) - 0 ms
TEST(IrcServer, CheckJoinNoswitchCb) - 0 ms
TEST(IrcServer, CheckJoinManualCb) - 0 ms
TEST(IrcServer, TimerSaslCb) - 0 ms
TEST(IrcServer, TimerConnectionCb) - 0 ms
TEST(IrcServer, RecvCb) - 0 ms
TEST(IrcServer, MsgqFlush) - 0 ms
TEST(IrcServer, MsgqAddBuffer) - 0 ms
TEST(IrcServer, MsgqAddUnterminated) - 0 ms
TEST(IrcServer, MsgqAddMsg) - 0 ms
TEST(IrcServer, Sendf) - 0 ms
TEST(IrcServer, SendOneMsg) - 0 ms
TEST(IrcServer, OutqueueSend) - 0 ms
TEST(IrcServer, GetTagsToSend) - 0 ms
TEST(IrcServer, SetSendDefaultTags) - 0 ms
TEST(IrcServer, Send) - 0 ms
TEST(IrcServer, SendSignal) - 0 ms
TEST(IrcServer, Reorder) - 0 ms
TEST(IrcServer, Rename) - 0 ms
TEST(IrcServer, Copy) - 0 ms
TEST(IrcServer, FreeAll) - 0 ms
TEST(IrcServer, Free) - 0 ms
TEST(IrcServer, FreeData) - 0 ms
TEST(IrcServer, OutqueueFreeAll) - 0 ms
TEST(IrcServer, OutqueueFree) - 0 ms
TEST(IrcServer, OutqueueAdd) - 0 ms
TEST(IrcServer, ApplyCommandLineOptions) - 0 ms
TEST(IrcServer, AllocWithUrl) - 0 ms
TEST(IrcServer, Alloc) - 0 ms
TEST(IrcServer, GetDefaultMsg) - 0 ms
TEST(IrcServer, GetMaxModes) - 0 ms
TEST(IrcServer, PrefixCharStatusmsg) - 0 ms
TEST(IrcServer, GetChanmodes) - 0 ms
TEST(IrcServer, GetPrefixCharForMode) - 0 ms
TEST(IrcServer, GetPrefixModeForChar) - 0 ms
TEST(IrcServer, GetPrefixCharIndex) - 0 ms
TEST(IrcServer, GetPrefixModeIndex) - 0 ms
TEST(IrcServer, GetPrefixChars) - 0 ms
TEST(IrcServer, GetPrefixModes) - 0 ms
TEST(IrcServer, SetLag) - 0 ms
TEST(IrcServer, SetClienttagdeny) - 0 ms
TEST(IrcServer, SetPrefixModesChars) - 0 ms
TEST(IrcServer, GetIsupportValue) - 0 ms
TEST(IrcServer, GetAlternateNick) - 0 ms
TEST(IrcServer, GetNickIndex) - 0 ms
TEST(IrcServer, SetHost) - 0 ms
TEST(IrcServer, SetNick) - 0 ms
TEST(IrcServer, SetNicks) - 0 ms
TEST(IrcServer, SetIndexCurrentAddress) - 0 ms
TEST(IrcServer, SetAddresses) - 0 ms
TEST(IrcServer, GetNameWithoutPort) - 0 ms
TEST(IrcServer, SaslEnabled) - 0 ms
TEST(IrcServer, EvalFingerprint) - 0 ms
TEST(IrcServer, EvalExpression) - 0 ms
TEST(IrcServer, Strncasecmp) - 0 ms
TEST(IrcServer, Strcasecmp) - 0 ms
TEST(IrcServer, SearchUtf8mapping) - 0 ms
TEST(IrcServer, SearchCasemapping) - 0 ms
TEST(IrcServer, SearchOption) - 0 ms
TEST(IrcServer, CaseSearch) - 0 ms
TEST(IrcServer, Search) - 0 ms
TEST(IrcServer, Valid) - 1 ms
TEST(IrcSasl, MechanismEcdsaNist256pChallenge) - 0 ms
TEST(IrcSasl, GetKeyContent) - 0 ms
TEST(IrcSasl, MechanismScram) - 0 ms
TEST(IrcSasl, MechanismPlain) - 0 ms
TEST(IrcProtocolWithServer, server_mode_reason) - 4 ms
TEST(IrcProtocolWithServer, 902_904_905_906) - 3 ms
TEST(IrcProtocolWithServer, 903_907) - 2 ms
TEST(IrcProtocolWithServer, 901) - 2 ms
TEST(IrcProtocolWithServer, 900) - 3 ms
TEST(IrcProtocolWithServer, 734) - 2 ms
TEST(IrcProtocolWithServer, 733) - 2 ms
TEST(IrcProtocolWithServer, 732) - 2 ms
TEST(IrcProtocolWithServer, 730) - 3 ms
TEST(IrcProtocolWithServer, 729) - 4 ms
TEST(IrcProtocolWithServer, 728) - 3 ms
TEST(IrcProtocolWithServer, 706) - 2 ms
TEST(IrcProtocolWithServer, 705) - 3 ms
TEST(IrcProtocolWithServer, 704) - 2 ms
TEST(IrcProtocolWithServer, 524) - 2 ms
TEST(IrcProtocolWithServer, 470) - 2 ms
TEST(IrcProtocolWithServer, 438) - 2 ms
TEST(IrcProtocolWithServer, 437_connected) - 2 ms
TEST(IrcProtocolWithServer, 437_not_connected) - 1 ms
TEST(IrcProtocolWithServer, 433_connected) - 2 ms
TEST(IrcProtocolWithServer, 433_not_connected) - 2 ms
TEST(IrcProtocolWithServer, 432_connected) - 2 ms
TEST(IrcProtocolWithServer, 432_not_connected) - 2 ms
TEST(IrcProtocolWithServer, 404) - 3 ms
TEST(IrcProtocolWithServer, 402) - 3 ms
TEST(IrcProtocolWithServer, 401) - 3 ms
TEST(IrcProtocolWithServer, 368) - 3 ms
TEST(IrcProtocolWithServer, 367) - 4 ms
TEST(IrcProtocolWithServer, 366) - 5 ms
TEST(IrcProtocolWithServer, 354) - 6 ms
TEST(IrcProtocolWithServer, 353) - 4 ms
TEST(IrcProtocolWithServer, 352) - 4 ms
TEST(IrcProtocolWithServer, 351) - 3 ms
TEST(IrcProtocolWithServer, 350) - 3 ms
TEST(IrcProtocolWithServer, 349) - 4 ms
TEST(IrcProtocolWithServer, 348) - 3 ms
TEST(IrcProtocolWithServer, 347) - 4 ms
TEST(IrcProtocolWithServer, 346) - 4 ms
TEST(IrcProtocolWithServer, 345) - 3 ms
TEST(IrcProtocolWithServer, 344) - 3 ms
TEST(IrcProtocolWithServer, 341) - 3 ms
TEST(IrcProtocolWithServer, 338) - 2 ms
TEST(IrcProtocolWithServer, 333) - 3 ms
TEST(IrcProtocolWithServer, 332) - 4 ms
TEST(IrcProtocolWithServer, 331) - 3 ms
TEST(IrcProtocolWithServer, 330_343) - 4 ms
TEST(IrcProtocolWithServer, 329) - 3 ms
TEST(IrcProtocolWithServer, 328) - 3 ms
TEST(IrcProtocolWithServer, 327) - 3 ms
TEST(IrcProtocolWithServer, 324) - 3 ms
TEST(IrcProtocolWithServer, 323) - 2 ms
TEST(IrcProtocolWithServer, 322) - 2 ms
TEST(IrcProtocolWithServer, 321) - 3 ms
TEST(IrcProtocolWithServer, 317) - 2 ms
TEST(IrcProtocolWithServer, 315) - 3 ms
TEST(IrcProtocolWithServer, 314) - 2 ms
TEST(IrcProtocolWithServer, 312) - 3 ms
TEST(IrcProtocolWithServer, 311) - 2 ms
TEST(IrcProtocolWithServer, 305_306) - 2 ms
TEST(IrcProtocolWithServer, 303) - 2 ms
TEST(IrcProtocolWithServer, 301) - 2 ms
TEST(IrcProtocolWithServer, whowas_nick_msg) - 2 ms
TEST(IrcProtocolWithServer, whois_nick_msg) - 12 ms
TEST(IrcProtocolWithServer, 221) - 2 ms
TEST(IrcProtocolWithServer, 008) - 2 ms
TEST(IrcProtocolWithServer, 005_multiple_messages) - 2 ms
TEST(IrcProtocolWithServer, 005_full) - 2 ms
TEST(IrcProtocolWithServer, 005_empty) - 1 ms
TEST(IrcProtocolWithServer, 001_welcome) - 2 ms
TEST(IrcProtocolWithServer, 001_empty) - 1 ms
TEST(IrcProtocolWithServer, warn) - 3 ms
TEST(IrcProtocolWithServer, wallops) - 2 ms
TEST(IrcProtocolWithServer, topic) - 4 ms
TEST(IrcProtocolWithServer, tagmsg) - 3 ms
TEST(IrcProtocolWithServer, setname_with_setname_cap) - 4 ms
TEST(IrcProtocolWithServer, setname_without_setname_cap) - 3 ms
TEST(IrcProtocolWithServer, quit) - 5 ms
TEST(IrcProtocolWithServer, privmsg)xfer: incoming file from bob (0.0.0.1, irc.fake), name: file.txt, 3 bytes (protocol: dcc)
xfer: incoming file from bob (0.0.0.1, irc.fake), name: file.txt, 3 bytes (protocol: dcc)
xfer: incoming file from bob (0.0.0.1, irc.fake), name: file.txt, 3 bytes (protocol: dcc)
xfer: incoming file from bob (0.0.0.1, irc.fake), name: file.txt, 3 bytes (protocol: dcc)
 - 9 ms
TEST(IrcProtocolWithServer, pong) - 3 ms
TEST(IrcProtocolWithServer, ping) - 1 ms
TEST(IrcProtocolWithServer, part) - 5 ms
TEST(IrcProtocolWithServer, notice) - 9 ms
TEST(IrcProtocolWithServer, note) - 3 ms
TEST(IrcProtocolWithServer, nick) - 5 ms
TEST(IrcProtocolWithServer, mode) - 5 ms
TEST(IrcProtocolWithServer, kill) - 3 ms
TEST(IrcProtocolWithServer, kick) - 4 ms
TEST(IrcProtocolWithServer, join) - 3 ms
TEST(IrcProtocolWithServer, invite) - 3 ms
TEST(IrcProtocolWithServer, fail) - 3 ms
TEST(IrcProtocolWithServer, error) - 2 ms
TEST(IrcProtocolWithServer, chghost) - 5 ms
TEST(IrcProtocolWithServer, cap) - 5 ms
TEST(IrcProtocol, cap_to_enable) - 0 ms
TEST(IrcProtocolWithServer, away) - 3 ms
TEST(IrcProtocolWithServer, authenticate) - 2 ms
TEST(IrcProtocolWithServer, account_with_account_notify_cap) - 3 ms
TEST(IrcProtocolWithServer, account_without_account_notify_cap) - 4 ms
TEST(IrcProtocolWithServer, recv_command_invalid_message) - 2 ms
TEST(IrcProtocolWithServer, recv_command_not_found) - 2 ms
TEST(IrcProtocolWithServer, NickAddress) - 3 ms
TEST(IrcProtocol, StringParams) - 0 ms
TEST(IrcProtocol, ParseTime) - 0 ms
TEST(IrcProtocol, Tags) - 0 ms
TEST(IrcProtocol, LogLevelForCommand) - 0 ms
TEST(IrcProtocol, IsNumericCommand) - 0 ms
TEST(IrcNick, IsNick) - 0 ms
TEST(IrcNick, Valid) - 0 ms
TEST(IrcMode, GetArguments) - 0 ms
TEST(IrcMessage, Split) - 0 ms
TEST(IrcMessage, ReplaceVars) - 1 ms
TEST(IrcMessage, Ignored) - 0 ms
TEST(IrcMessage, GetAddressFromHost) - 0 ms
TEST(IrcMessage, GetNickFromHost) - 0 ms
TEST(IrcMessage, ConvertCharset) - 0 ms
TEST(IrcMessage, ParseToHashtable) - 0 ms
TEST(IrcMessage, Parse) - 0 ms
TEST(IrcMessage, ParseParams) - 0 ms
TEST(IrcJoin, SortAutojoinChannels) - 0 ms
TEST(IrcJoin, SaveChannelsToAutojoin) - 1 ms
TEST(IrcJoin, AddRemoveChannelsAutojoin) - 0 ms
TEST(IrcJoin, SortChannels) - 0 ms
TEST(IrcJoin, RemoveChannel) - 0 ms
TEST(IrcJoin, AddChannels) - 0 ms
TEST(IrcJoin, AddChannel) - 0 ms
TEST(IrcJoin, SplitBuildString) - 1 ms
TEST(IrcJoin, CompateJoinChannel) - 0 ms
TEST(IrcIgnore, CheckHost) - 0 ms
TEST(IrcIgnore, Search) - 0 ms
TEST(IrcIgnore, Valid) - 0 ms
TEST(IrcIgnore, Free) - 0 ms
TEST(IrcIgnore, New) - 0 ms
TEST(IrcConfig, CheckAutojoin) - 0 ms
TEST(IrcColor, WeechatAddToInfolist) - 0 ms
TEST(IrcColor, ModifierCallback) - 0 ms
TEST(IrcColor, ForTags) - 0 ms
TEST(IrcColor, DecodeAnsi) - 0 ms
TEST(IrcColor, ConvertTerm2Irc) - 0 ms
TEST(IrcColor, ConvertRgb2Irc) - 0 ms
TEST(IrcColor, Encode) - 0 ms
TEST(IrcColor, Decode) - 1 ms
TEST(IrcChannel, IsChannel) - 0 ms
TEST(IrcChannel, Valid) - 0 ms
TEST(IrcBuffer, SearchPrivateLowestNumber) - 0 ms
TEST(IrcBuffer, SearchServerLowestNumber) - 0 ms
TEST(IrcBuffer, CloseServerChannels) - 0 ms
TEST(IrcBuffer, BuildName) - 0 ms
TEST(IrcBuffer, GetServerAndChannel) - 0 ms
TEST(Scripts, API)...
>>> Running command: /script load /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8/tests/scripts/python/testapigen.py
python: loading script "/var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8/tests/scripts/python/testapigen.py"
python: registered script "testapigen", version 0.1 (Generate scripting API test scripts)
>>> Running command: /testapigen /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8/tests/scripts/python/testapi.py ./tmp_weechat_test/testapi
python: stdout/stderr (testapigen): Writing script /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tmp_weechat_test/testapi/weechat_testapi.scm... OK
python: stdout/stderr (testapigen): Writing script /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tmp_weechat_test/testapi/weechat_testapi.js... OK
python: stdout/stderr (testapigen): Writing script /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tmp_weechat_test/testapi/weechat_testapi.lua... OK
python: stdout/stderr (testapigen): Writing script /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tmp_weechat_test/testapi/weechat_testapi.pl... OK
python: stdout/stderr (testapigen): Writing script /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tmp_weechat_test/testapi/weechat_testapi.php... OK
python: stdout/stderr (testapigen): Writing script /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tmp_weechat_test/testapi/weechat_testapi.py... OK
python: stdout/stderr (testapigen): Writing script /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tmp_weechat_test/testapi/weechat_testapi.rb... OK
python: stdout/stderr (testapigen): Writing script /var/tmp/portage/net-irc/weechat-3.8/work/weechat-3.8_build/tests/tmp_weechat_test/testapi/weechat_testapi.tcl... OK
>>> Running command: /script unload testapigen.py
python: unloading script "testapigen"
python: script "testapigen" unloaded
>>> Running command: /script load -q ./tmp_weechat_test/testapi/weechat_testapi.py
>>> Running command: /weechat_testapi.py
>>>
>>> ------------------------------
>>> Testing python API
  > TESTS: 261
  > test_plugins
      TEST OK: weechat.plugin_get_name('') == 'core'
      TEST OK: weechat.plugin_get_name(weechat.buffer_get_pointer(weechat.buffer_search_main(), 'plugin')) == 'core'
  > test_strings
      TEST OK: weechat.charset_set('iso-8859-15') == 1
      TEST OK: weechat.charset_set('') == 1
      TEST OK: weechat.iconv_to_internal('iso-8859-15', 'abc') == 'abc'
      TEST OK: weechat.iconv_from_internal('iso-8859-15', 'abcd') == 'abcd'
      TEST OK: weechat.gettext('abcdef') == 'abcdef'
      TEST OK: weechat.ngettext('file', 'files', 1) == 'file'
      TEST OK: weechat.ngettext('file', 'files', 2) == 'files'
      TEST OK: weechat.strlen_screen('abcd') == 4
      TEST OK: weechat.string_match('abcdef', 'abc*', 0) == 1
      TEST OK: weechat.string_match('abcdef', 'abc*', 1) == 1
      TEST OK: weechat.string_match('ABCDEF', 'abc*', 1) == 0
      TEST OK: weechat.string_match_list('abcdef', '*,!abc*', 0) == 0
      TEST OK: weechat.string_match_list('ABCDEF', '*,!abc*', 1) == 1
      TEST OK: weechat.string_match_list('def', '*,!abc*', 0) == 1
      TEST OK: weechat.string_eval_path_home('test ${abc}', {}, {'abc': '123'}, {}) == 'test 123'
      TEST OK: weechat.string_mask_to_regex('test*mask') == 'test.*mask'
      TEST OK: weechat.string_has_highlight('my test string', 'test,word2') == 1
      TEST OK: weechat.string_has_highlight_regex('my test string', 'test|word2') == 1
      TEST OK: weechat.string_format_size(0) == '0 bytes'
      TEST OK: weechat.string_format_size(1) == '1 byte'
      TEST OK: weechat.string_format_size(2097152) == '2.10 MB'
      TEST OK: weechat.string_format_size(420000000) == '420.00 MB'
      TEST OK: weechat.string_parse_size('') == 0
      TEST OK: weechat.string_parse_size('*') == 0
      TEST OK: weechat.string_parse_size('z') == 0
      TEST OK: weechat.string_parse_size('1ba') == 0
      TEST OK: weechat.string_parse_size('1') == 1
      TEST OK: weechat.string_parse_size('12b') == 12
      TEST OK: weechat.string_parse_size('123 b') == 123
      TEST OK: weechat.string_parse_size('120k') == 120000
      TEST OK: weechat.string_parse_size('1500m') == 1500000000
      TEST OK: weechat.string_parse_size('3g') == 3000000000
      TEST OK: weechat.string_color_code_size('') == 0
      TEST OK: weechat.string_color_code_size('test') == 0
      TEST OK: weechat.string_color_code_size(str_color) == 7
      TEST OK: weechat.string_remove_color('test', '?') == 'test'
      TEST OK: weechat.string_is_command_char('/test') == 1
      TEST OK: weechat.string_is_command_char('test') == 0
      TEST OK: weechat.string_input_for_buffer('test') == 'test'
      TEST OK: weechat.string_input_for_buffer('/test') == ''
      TEST OK: weechat.string_input_for_buffer('//test') == '/test'
      TEST OK: weechat.string_eval_expression('100 > 50', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('-50 < 100', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('18.2 > 5', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('0xA3 > 2', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('${buffer.full_name}', {}, {}, {}) == 'core.weechat'
  > test_lists
      TEST OK: ptr_list != ''
      TEST OK: weechat.list_size(ptr_list) == 0
      TEST OK: weechat.list_size(ptr_list) == 1
      TEST OK: weechat.list_size(ptr_list) == 2
      TEST OK: weechat.list_search(ptr_list, 'abc') == item_abc
      TEST OK: weechat.list_search(ptr_list, 'def') == item_def
      TEST OK: weechat.list_search(ptr_list, 'ghi') == ''
      TEST OK: weechat.list_search_pos(ptr_list, 'abc') == 0
      TEST OK: weechat.list_search_pos(ptr_list, 'def') == 1
      TEST OK: weechat.list_search_pos(ptr_list, 'ghi') == -1
      TEST OK: weechat.list_casesearch(ptr_list, 'abc') == item_abc
      TEST OK: weechat.list_casesearch(ptr_list, 'def') == item_def
      TEST OK: weechat.list_casesearch(ptr_list, 'ghi') == ''
      TEST OK: weechat.list_casesearch(ptr_list, 'ABC') == item_abc
      TEST OK: weechat.list_casesearch(ptr_list, 'DEF') == item_def
      TEST OK: weechat.list_casesearch(ptr_list, 'GHI') == ''
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'abc') == 0
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'def') == 1
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'ghi') == -1
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'ABC') == 0
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'DEF') == 1
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'GHI') == -1
      TEST OK: weechat.list_get(ptr_list, 0) == item_abc
      TEST OK: weechat.list_get(ptr_list, 1) == item_def
      TEST OK: weechat.list_get(ptr_list, 2) == ''
      TEST OK: weechat.list_string(item_def) == 'def2'
      TEST OK: weechat.list_next(item_abc) == item_def
      TEST OK: weechat.list_next(item_def) == ''
      TEST OK: weechat.list_prev(item_abc) == ''
      TEST OK: weechat.list_prev(item_def) == item_abc
      TEST OK: weechat.list_size(ptr_list) == 1
      TEST OK: weechat.list_get(ptr_list, 0) == item_def
      TEST OK: weechat.list_get(ptr_list, 1) == ''
      TEST OK: weechat.list_size(ptr_list) == 0
  > test_config
      TEST OK: ptr_config != ''
      TEST OK: ptr_section != ''
      TEST OK: ptr_section2 == ptr_section
      TEST OK: ptr_opt_bool != ''
      TEST OK: weechat.config_boolean(ptr_opt_bool) == 1
      TEST OK: weechat.config_option_set(ptr_opt_bool, 'off', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_bool, 'off', 1) == 1
      TEST OK: weechat.config_boolean(ptr_opt_bool) == 0
      TEST OK: weechat.config_boolean_default(ptr_opt_bool) == 1
      TEST OK: weechat.config_option_reset(ptr_opt_bool, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_bool, 1) == 1
      TEST OK: weechat.config_boolean(ptr_opt_bool) == 1
      TEST OK: ptr_opt_int != ''
      TEST OK: weechat.config_integer(ptr_opt_int) == 2
      TEST OK: weechat.config_option_set(ptr_opt_int, '15', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_int, '15', 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int) == 15
      TEST OK: weechat.config_integer_default(ptr_opt_int) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_int, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_int, 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int) == 2
      TEST OK: ptr_opt_int_str != ''
      TEST OK: weechat.config_integer(ptr_opt_int_str) == 1
      TEST OK: weechat.config_string(ptr_opt_int_str) == 'val2'
      TEST OK: weechat.config_option_set(ptr_opt_int_str, 'val1', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_int_str, 'val1', 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int_str) == 0
      TEST OK: weechat.config_string(ptr_opt_int_str) == 'val1'
      TEST OK: weechat.config_integer_default(ptr_opt_int_str) == 1
      TEST OK: weechat.config_string_default(ptr_opt_int_str) == 'val2'
      TEST OK: weechat.config_option_reset(ptr_opt_int_str, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_int_str, 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int_str) == 1
      TEST OK: weechat.config_string(ptr_opt_int_str) == 'val2'
      TEST OK: ptr_opt_str != ''
      TEST OK: weechat.config_string(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_set(ptr_opt_str, 'value2', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_str, 'value2', 1) == 1
      TEST OK: weechat.config_string(ptr_opt_str) == 'value2'
      TEST OK: weechat.config_string_default(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_reset(ptr_opt_str, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_str, 1) == 1
      TEST OK: weechat.config_string(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_is_null(ptr_opt_str) == 0
      TEST OK: weechat.config_option_set_null(ptr_opt_str, 1) == 2
      TEST OK: weechat.config_option_set_null(ptr_opt_str, 1) == 1
      TEST OK: weechat.config_option_is_null(ptr_opt_str) == 1
      TEST OK: weechat.config_string(ptr_opt_str) == ''
      TEST OK: weechat.config_option_unset(ptr_opt_str) == 1
      TEST OK: weechat.config_option_unset(ptr_opt_str) == 0
      TEST OK: weechat.config_string(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_default_is_null(ptr_opt_str) == 0
      TEST OK: ptr_opt_col != ''
      TEST OK: weechat.config_color(ptr_opt_col) == 'lightgreen'
      TEST OK: weechat.config_option_set(ptr_opt_col, 'red', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_col, 'red', 1) == 1
      TEST OK: weechat.config_color(ptr_opt_col) == 'red'
      TEST OK: weechat.config_color_default(ptr_opt_col) == 'lightgreen'
      TEST OK: weechat.config_option_reset(ptr_opt_col, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_col, 1) == 1
      TEST OK: weechat.config_color(ptr_opt_col) == 'lightgreen'
      TEST OK: ptr_opt_bool2 == ptr_opt_bool
      TEST OK: weechat.config_string_to_boolean('') == 0
      TEST OK: weechat.config_string_to_boolean('off') == 0
      TEST OK: weechat.config_string_to_boolean('0') == 0
      TEST OK: weechat.config_string_to_boolean('on') == 1
      TEST OK: weechat.config_string_to_boolean('1') == 1
      TEST OK: weechat.config_read(ptr_config) == 0
      TEST OK: weechat.config_write(ptr_config) == 0
      TEST OK: weechat.config_reload(ptr_config) == 0
      TEST OK: ptr_option != ''
      TEST OK: weechat.config_string(ptr_option) == '%H:%M'
      TEST OK: weechat.config_get_plugin('option') == ''
      TEST OK: weechat.config_is_set_plugin('option') == 0
      TEST OK: weechat.config_set_plugin('option', 'value') == 1
      TEST OK: weechat.config_get_plugin('option') == 'value'
      TEST OK: weechat.config_is_set_plugin('option') == 1
      TEST OK: weechat.config_unset_plugin('option') == 2
      TEST OK: weechat.config_unset_plugin('option') == -1
  > test_key
      TEST OK: weechat.key_bind('mouse', {'@chat(plugin.test):button1': 'hsignal:test_mouse', '@chat(plugin.test):wheelup': '/mycommand up', '@chat(plugin.test):wheeldown': '/mycommand down', '__quiet': ''}) == 3
      TEST OK: weechat.key_unbind('mouse', 'quiet:area:chat(plugin.test)') == 3
  > test_display
      TEST OK: weechat.prefix('action') != ''
      TEST OK: weechat.prefix('error') != ''
      TEST OK: weechat.prefix('join') != ''
      TEST OK: weechat.prefix('network') != ''
      TEST OK: weechat.prefix('quit') != ''
      TEST OK: weechat.prefix('unknown') == ''
      TEST OK: weechat.color('green') != ''
      TEST OK: weechat.color('unknown') == ''
## test print core buffer
## test print_date_tags core buffer
## test print_date_tags core buffer, year 2150
      TEST OK: weechat.hdata_time(hdata_line_data, data, 'date') == 5680744830
      TEST OK: buffer != ''
      TEST OK: weechat.buffer_get_integer(buffer, 'type') == 0
      TEST OK: weechat.buffer_get_integer(buffer, 'type') == 1
      TEST OK: buffer != ''
  > test_hooks
      TEST OK: data == 'completion_data'
      TEST OK: completion_item == '{SCRIPT_NAME}'
      TEST OK: weechat.completion_get_string(completion, 'args') == 'w'
      TEST OK: data == 'command_run_data'
      TEST OK: command == '/cmd' + '{SCRIPT_NAME}' + ' word_completed'
      TEST OK: data == 'command_data'
      TEST OK: args == 'word_completed'
      TEST OK: ptr_infolist != ''
      TEST OK: weechat.infolist_next(ptr_infolist) == 1
      TEST OK: weechat.infolist_string(ptr_infolist, 'interval') == '5000111000'
  > test_command
      TEST OK: weechat.command('', '/mute') == 0
      TEST OK: weechat.command_options('', '/mute', {'commands': '*,!print'}) == 0
      TEST OK: weechat.command_options('', '/mute', {'commands': '*,!mute'}) == -1
  > test_infolist
      TEST OK: weechat.infolist_get('infolist_does_not_exist', '', '') == ''
      TEST OK: infolist != ''
      TEST OK: item != ''
      TEST OK: weechat.infolist_new_var_integer(item, 'integer', 123) != ''
      TEST OK: weechat.infolist_new_var_string(item, 'string', 'test string') != ''
      TEST OK: weechat.infolist_new_var_pointer(item, 'pointer', '0xabcdef') != ''
      TEST OK: weechat.infolist_new_var_time(item, 'time1', 1231231230) != ''
      TEST OK: weechat.infolist_new_var_time(item, 'time2', 5680744830) != ''
      TEST OK: ptr_infolist != ''
      TEST OK: weechat.infolist_next(ptr_infolist) == 1
      TEST OK: weechat.infolist_integer(ptr_infolist, 'integer') == 123
      TEST OK: weechat.infolist_string(ptr_infolist, 'string') == 'test string'
      TEST OK: weechat.infolist_pointer(ptr_infolist, 'pointer') == '0xabcdef'
      TEST OK: weechat.infolist_time(ptr_infolist, 'time1') == 1231231230
      TEST OK: weechat.infolist_time(ptr_infolist, 'time2') == 5680744830
      TEST OK: weechat.infolist_fields(ptr_infolist) == 'i:integer,s:string,p:pointer,t:time1,t:time2'
      TEST OK: weechat.infolist_next(ptr_infolist) == 0
  > test_hdata
      TEST OK: hdata_buffer != ''
      TEST OK: hdata_lines != ''
      TEST OK: hdata_line != ''
      TEST OK: hdata_line_data != ''
      TEST OK: hdata_key != ''
      TEST OK: hdata_hotlist != ''
      TEST OK: hdata_irc_server != ''
      TEST OK: weechat.hdata_get_var_offset(hdata_buffer, 'plugin') == 0
      TEST OK: weechat.hdata_get_var_offset(hdata_buffer, 'number') > 0
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'plugin') == 'pointer'
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'number') == 'integer'
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'name') == 'string'
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'local_variables') == 'hashtable'
      TEST OK: weechat.hdata_get_var_type_string(hdata_line_data, 'displayed') == 'char'
      TEST OK: weechat.hdata_get_var_type_string(hdata_line_data, 'prefix') == 'shared_string'
      TEST OK: weechat.hdata_get_var_type_string(hdata_line_data, 'date') == 'time'
      TEST OK: weechat.hdata_get_var_type_string(hdata_hotlist, 'creation_time.tv_usec') == 'long'
      TEST OK: weechat.hdata_get_var_type_string(hdata_irc_server, 'gnutls_sess') == 'other'
      TEST OK: weechat.hdata_get_var_array_size(hdata_buffer, buffer2, 'name') == -1
      TEST OK: weechat.hdata_get_var_array_size(hdata_buffer, buffer2, 'highlight_tags_array') >= 0
      TEST OK: weechat.hdata_get_var_array_size_string(hdata_buffer, buffer2, 'name') == ''
      TEST OK: weechat.hdata_get_var_array_size_string(hdata_buffer, buffer2, 'highlight_tags_array') == 'highlight_tags_count'
      TEST OK: weechat.hdata_get_var_hdata(hdata_buffer, 'plugin') == 'plugin'
      TEST OK: weechat.hdata_get_var_hdata(hdata_buffer, 'own_lines') == 'lines'
      TEST OK: weechat.hdata_get_var_hdata(hdata_buffer, 'name') == ''
      TEST OK: weechat.hdata_get_list(hdata_buffer, 'gui_buffers') == buffer
      TEST OK: weechat.hdata_check_pointer(hdata_buffer, buffer, buffer) == 1
      TEST OK: weechat.hdata_check_pointer(hdata_buffer, buffer, buffer2) == 1
      TEST OK: weechat.hdata_check_pointer(hdata_buffer, buffer, own_lines) == 0
      TEST OK: weechat.hdata_move(hdata_line, line1, 1) == line2
      TEST OK: weechat.hdata_move(hdata_line, line1, 2) == line3
      TEST OK: weechat.hdata_move(hdata_line, line3, -1) == line2
      TEST OK: weechat.hdata_move(hdata_line, line3, -2) == line1
      TEST OK: weechat.hdata_move(hdata_line, line1, -1) == ''
      TEST OK: weechat.hdata_search(hdata_buffer, buffer, '${name} == test', {}, {}, {}, 1) == buffer2
      TEST OK: weechat.hdata_search(hdata_buffer, buffer, '${name} == xxx', {}, {}, {}, 1) == ''
      TEST OK: weechat.hdata_char(hdata_line_data, line1_data, 'displayed') == 1
      TEST OK: weechat.hdata_char(hdata_buffer, buffer2, 'number') == 2
      TEST OK: weechat.hdata_long(hdata_hotlist, gui_hotlist, 'creation_time.tv_usec') >= 0
      TEST OK: weechat.hdata_string(hdata_buffer, buffer2, 'name') == 'test'
      TEST OK: weechat.hdata_pointer(hdata_buffer, buffer2, 'own_lines') == own_lines
      TEST OK: weechat.hdata_time(hdata_line_data, line1_data, 'date') > 1659430030
      TEST OK: value == 'test'
      TEST OK: weechat.hdata_compare(hdata_buffer, buffer, buffer2, 'name', 0) > 0
      TEST OK: weechat.hdata_compare(hdata_buffer, buffer2, buffer, 'name', 0) < 0
      TEST OK: weechat.hdata_compare(hdata_buffer, buffer, buffer, 'name', 0) == 0
      TEST OK: weechat.hdata_time(hdata_line_data, line1_data, 'date') == 5680744830
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'prefix') == 'prefix1'
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'message') == '## msg1'
      TEST OK: weechat.hdata_update(hdata_line_data, line1_data, update) == 3
      TEST OK: weechat.hdata_time(hdata_line_data, line1_data, 'date') == 5680744835
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'prefix') == 'new_prefix1'
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'message') == 'new_message1'
      TEST OK: weechat.hdata_get_string(hdata_line, 'var_prev') == 'prev_line'
      TEST OK: weechat.hdata_get_string(hdata_line, 'var_next') == 'next_line'
  > TESTS END

>>> Tests python: 261 tests, 261 OK, 0 errors, 0 unexpected messages, 24 ms

>>> Running command: /script unload -q weechat_testapi.py
>>> Running command: /script load -q ./tmp_weechat_test/testapi/weechat_testapi.pl
>>> Running command: /weechat_testapi.pl
>>>
>>> ------------------------------
>>> Testing perl API
  > TESTS: 261
  > test_plugins
      TEST OK: weechat.plugin_get_name('') == 'core'
      TEST OK: weechat.plugin_get_name(weechat.buffer_get_pointer(weechat.buffer_search_main(), 'plugin')) == 'core'
  > test_strings
      TEST OK: weechat.charset_set('iso-8859-15') == 1
      TEST OK: weechat.charset_set('') == 1
      TEST OK: weechat.iconv_to_internal('iso-8859-15', 'abc') == 'abc'
      TEST OK: weechat.iconv_from_internal('iso-8859-15', 'abcd') == 'abcd'
      TEST OK: weechat.gettext('abcdef') == 'abcdef'
      TEST OK: weechat.ngettext('file', 'files', 1) == 'file'
      TEST OK: weechat.ngettext('file', 'files', 2) == 'files'
      TEST OK: weechat.strlen_screen('abcd') == 4
      TEST OK: weechat.string_match('abcdef', 'abc*', 0) == 1
      TEST OK: weechat.string_match('abcdef', 'abc*', 1) == 1
      TEST OK: weechat.string_match('ABCDEF', 'abc*', 1) == 0
      TEST OK: weechat.string_match_list('abcdef', '*,!abc*', 0) == 0
      TEST OK: weechat.string_match_list('ABCDEF', '*,!abc*', 1) == 1
      TEST OK: weechat.string_match_list('def', '*,!abc*', 0) == 1
      TEST OK: weechat.string_eval_path_home('test ${abc}', {}, {'abc': '123'}, {}) == 'test 123'
      TEST OK: weechat.string_mask_to_regex('test*mask') == 'test.*mask'
      TEST OK: weechat.string_has_highlight('my test string', 'test,word2') == 1
      TEST OK: weechat.string_has_highlight_regex('my test string', 'test|word2') == 1
      TEST OK: weechat.string_format_size(0) == '0 bytes'
      TEST OK: weechat.string_format_size(1) == '1 byte'
      TEST OK: weechat.string_format_size(2097152) == '2.10 MB'
      TEST OK: weechat.string_format_size(420000000) == '420.00 MB'
      TEST OK: weechat.string_parse_size('') == 0
      TEST OK: weechat.string_parse_size('*') == 0
      TEST OK: weechat.string_parse_size('z') == 0
      TEST OK: weechat.string_parse_size('1ba') == 0
      TEST OK: weechat.string_parse_size('1') == 1
      TEST OK: weechat.string_parse_size('12b') == 12
      TEST OK: weechat.string_parse_size('123 b') == 123
      TEST OK: weechat.string_parse_size('120k') == 120000
      TEST OK: weechat.string_parse_size('1500m') == 1500000000
      TEST OK: weechat.string_parse_size('3g') == 3000000000
      TEST OK: weechat.string_color_code_size('') == 0
      TEST OK: weechat.string_color_code_size('test') == 0
      TEST OK: weechat.string_color_code_size(str_color) == 7
      TEST OK: weechat.string_remove_color('test', '?') == 'test'
      TEST OK: weechat.string_is_command_char('/test') == 1
      TEST OK: weechat.string_is_command_char('test') == 0
      TEST OK: weechat.string_input_for_buffer('test') == 'test'
      TEST OK: weechat.string_input_for_buffer('/test') == ''
      TEST OK: weechat.string_input_for_buffer('//test') == '/test'
      TEST OK: weechat.string_eval_expression('100 > 50', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('-50 < 100', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('18.2 > 5', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('0xA3 > 2', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('${buffer.full_name}', {}, {}, {}) == 'core.weechat'
  > test_lists
      TEST OK: ptr_list != ''
      TEST OK: weechat.list_size(ptr_list) == 0
      TEST OK: weechat.list_size(ptr_list) == 1
      TEST OK: weechat.list_size(ptr_list) == 2
      TEST OK: weechat.list_search(ptr_list, 'abc') == item_abc
      TEST OK: weechat.list_search(ptr_list, 'def') == item_def
      TEST OK: weechat.list_search(ptr_list, 'ghi') == ''
      TEST OK: weechat.list_search_pos(ptr_list, 'abc') == 0
      TEST OK: weechat.list_search_pos(ptr_list, 'def') == 1
      TEST OK: weechat.list_search_pos(ptr_list, 'ghi') == -1
      TEST OK: weechat.list_casesearch(ptr_list, 'abc') == item_abc
      TEST OK: weechat.list_casesearch(ptr_list, 'def') == item_def
      TEST OK: weechat.list_casesearch(ptr_list, 'ghi') == ''
      TEST OK: weechat.list_casesearch(ptr_list, 'ABC') == item_abc
      TEST OK: weechat.list_casesearch(ptr_list, 'DEF') == item_def
      TEST OK: weechat.list_casesearch(ptr_list, 'GHI') == ''
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'abc') == 0
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'def') == 1
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'ghi') == -1
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'ABC') == 0
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'DEF') == 1
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'GHI') == -1
      TEST OK: weechat.list_get(ptr_list, 0) == item_abc
      TEST OK: weechat.list_get(ptr_list, 1) == item_def
      TEST OK: weechat.list_get(ptr_list, 2) == ''
      TEST OK: weechat.list_string(item_def) == 'def2'
      TEST OK: weechat.list_next(item_abc) == item_def
      TEST OK: weechat.list_next(item_def) == ''
      TEST OK: weechat.list_prev(item_abc) == ''
      TEST OK: weechat.list_prev(item_def) == item_abc
      TEST OK: weechat.list_size(ptr_list) == 1
      TEST OK: weechat.list_get(ptr_list, 0) == item_def
      TEST OK: weechat.list_get(ptr_list, 1) == ''
      TEST OK: weechat.list_size(ptr_list) == 0
  > test_config
      TEST OK: ptr_config != ''
      TEST OK: ptr_section != ''
      TEST OK: ptr_section2 == ptr_section
      TEST OK: ptr_opt_bool != ''
      TEST OK: weechat.config_boolean(ptr_opt_bool) == 1
      TEST OK: weechat.config_option_set(ptr_opt_bool, 'off', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_bool, 'off', 1) == 1
      TEST OK: weechat.config_boolean(ptr_opt_bool) == 0
      TEST OK: weechat.config_boolean_default(ptr_opt_bool) == 1
      TEST OK: weechat.config_option_reset(ptr_opt_bool, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_bool, 1) == 1
      TEST OK: weechat.config_boolean(ptr_opt_bool) == 1
      TEST OK: ptr_opt_int != ''
      TEST OK: weechat.config_integer(ptr_opt_int) == 2
      TEST OK: weechat.config_option_set(ptr_opt_int, '15', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_int, '15', 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int) == 15
      TEST OK: weechat.config_integer_default(ptr_opt_int) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_int, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_int, 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int) == 2
      TEST OK: ptr_opt_int_str != ''
      TEST OK: weechat.config_integer(ptr_opt_int_str) == 1
      TEST OK: weechat.config_string(ptr_opt_int_str) == 'val2'
      TEST OK: weechat.config_option_set(ptr_opt_int_str, 'val1', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_int_str, 'val1', 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int_str) == 0
      TEST OK: weechat.config_string(ptr_opt_int_str) == 'val1'
      TEST OK: weechat.config_integer_default(ptr_opt_int_str) == 1
      TEST OK: weechat.config_string_default(ptr_opt_int_str) == 'val2'
      TEST OK: weechat.config_option_reset(ptr_opt_int_str, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_int_str, 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int_str) == 1
      TEST OK: weechat.config_string(ptr_opt_int_str) == 'val2'
      TEST OK: ptr_opt_str != ''
      TEST OK: weechat.config_string(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_set(ptr_opt_str, 'value2', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_str, 'value2', 1) == 1
      TEST OK: weechat.config_string(ptr_opt_str) == 'value2'
      TEST OK: weechat.config_string_default(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_reset(ptr_opt_str, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_str, 1) == 1
      TEST OK: weechat.config_string(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_is_null(ptr_opt_str) == 0
      TEST OK: weechat.config_option_set_null(ptr_opt_str, 1) == 2
      TEST OK: weechat.config_option_set_null(ptr_opt_str, 1) == 1
      TEST OK: weechat.config_option_is_null(ptr_opt_str) == 1
      TEST OK: weechat.config_string(ptr_opt_str) == ''
      TEST OK: weechat.config_option_unset(ptr_opt_str) == 1
      TEST OK: weechat.config_option_unset(ptr_opt_str) == 0
      TEST OK: weechat.config_string(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_default_is_null(ptr_opt_str) == 0
      TEST OK: ptr_opt_col != ''
      TEST OK: weechat.config_color(ptr_opt_col) == 'lightgreen'
      TEST OK: weechat.config_option_set(ptr_opt_col, 'red', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_col, 'red', 1) == 1
      TEST OK: weechat.config_color(ptr_opt_col) == 'red'
      TEST OK: weechat.config_color_default(ptr_opt_col) == 'lightgreen'
      TEST OK: weechat.config_option_reset(ptr_opt_col, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_col, 1) == 1
      TEST OK: weechat.config_color(ptr_opt_col) == 'lightgreen'
      TEST OK: ptr_opt_bool2 == ptr_opt_bool
      TEST OK: weechat.config_string_to_boolean('') == 0
      TEST OK: weechat.config_string_to_boolean('off') == 0
      TEST OK: weechat.config_string_to_boolean('0') == 0
      TEST OK: weechat.config_string_to_boolean('on') == 1
      TEST OK: weechat.config_string_to_boolean('1') == 1
      TEST OK: weechat.config_read(ptr_config) == 0
      TEST OK: weechat.config_write(ptr_config) == 0
      TEST OK: weechat.config_reload(ptr_config) == 0
      TEST OK: ptr_option != ''
      TEST OK: weechat.config_string(ptr_option) == '%H:%M'
      TEST OK: weechat.config_get_plugin('option') == ''
      TEST OK: weechat.config_is_set_plugin('option') == 0
      TEST OK: weechat.config_set_plugin('option', 'value') == 1
      TEST OK: weechat.config_get_plugin('option') == 'value'
      TEST OK: weechat.config_is_set_plugin('option') == 1
      TEST OK: weechat.config_unset_plugin('option') == 2
      TEST OK: weechat.config_unset_plugin('option') == -1
  > test_key
      TEST OK: weechat.key_bind('mouse', {'@chat(plugin.test):button1': 'hsignal:test_mouse', '@chat(plugin.test):wheelup': '/mycommand up', '@chat(plugin.test):wheeldown': '/mycommand down', '__quiet': ''}) == 3
      TEST OK: weechat.key_unbind('mouse', 'quiet:area:chat(plugin.test)') == 3
  > test_display
      TEST OK: weechat.prefix('action') != ''
      TEST OK: weechat.prefix('error') != ''
      TEST OK: weechat.prefix('join') != ''
      TEST OK: weechat.prefix('network') != ''
      TEST OK: weechat.prefix('quit') != ''
      TEST OK: weechat.prefix('unknown') == ''
      TEST OK: weechat.color('green') != ''
      TEST OK: weechat.color('unknown') == ''
## test print core buffer
## test print_date_tags core buffer
## test print_date_tags core buffer, year 2150
      TEST OK: weechat.hdata_time(hdata_line_data, data, 'date') == 5680744830
      TEST OK: buffer != ''
      TEST OK: weechat.buffer_get_integer(buffer, 'type') == 0
      TEST OK: weechat.buffer_get_integer(buffer, 'type') == 1
      TEST OK: buffer != ''
  > test_hooks
      TEST OK: data == 'completion_data'
      TEST OK: completion_item == '{SCRIPT_NAME}'
      TEST OK: weechat.completion_get_string(completion, 'args') == 'w'
      TEST OK: data == 'command_run_data'
      TEST OK: command == '/cmd' + '{SCRIPT_NAME}' + ' word_completed'
      TEST OK: data == 'command_data'
      TEST OK: args == 'word_completed'
      TEST OK: ptr_infolist != ''
      TEST OK: weechat.infolist_next(ptr_infolist) == 1
      TEST OK: weechat.infolist_string(ptr_infolist, 'interval') == '5000111000'
  > test_command
      TEST OK: weechat.command('', '/mute') == 0
      TEST OK: weechat.command_options('', '/mute', {'commands': '*,!print'}) == 0
      TEST OK: weechat.command_options('', '/mute', {'commands': '*,!mute'}) == -1
  > test_infolist
      TEST OK: weechat.infolist_get('infolist_does_not_exist', '', '') == ''
      TEST OK: infolist != ''
      TEST OK: item != ''
      TEST OK: weechat.infolist_new_var_integer(item, 'integer', 123) != ''
      TEST OK: weechat.infolist_new_var_string(item, 'string', 'test string') != ''
      TEST OK: weechat.infolist_new_var_pointer(item, 'pointer', '0xabcdef') != ''
      TEST OK: weechat.infolist_new_var_time(item, 'time1', 1231231230) != ''
      TEST OK: weechat.infolist_new_var_time(item, 'time2', 5680744830) != ''
      TEST OK: ptr_infolist != ''
      TEST OK: weechat.infolist_next(ptr_infolist) == 1
      TEST OK: weechat.infolist_integer(ptr_infolist, 'integer') == 123
      TEST OK: weechat.infolist_string(ptr_infolist, 'string') == 'test string'
      TEST OK: weechat.infolist_pointer(ptr_infolist, 'pointer') == '0xabcdef'
      TEST OK: weechat.infolist_time(ptr_infolist, 'time1') == 1231231230
      TEST OK: weechat.infolist_time(ptr_infolist, 'time2') == 5680744830
      TEST OK: weechat.infolist_fields(ptr_infolist) == 'i:integer,s:string,p:pointer,t:time1,t:time2'
      TEST OK: weechat.infolist_next(ptr_infolist) == 0
  > test_hdata
      TEST OK: hdata_buffer != ''
      TEST OK: hdata_lines != ''
      TEST OK: hdata_line != ''
      TEST OK: hdata_line_data != ''
      TEST OK: hdata_key != ''
      TEST OK: hdata_hotlist != ''
      TEST OK: hdata_irc_server != ''
      TEST OK: weechat.hdata_get_var_offset(hdata_buffer, 'plugin') == 0
      TEST OK: weechat.hdata_get_var_offset(hdata_buffer, 'number') > 0
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'plugin') == 'pointer'
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'number') == 'integer'
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'name') == 'string'
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'local_variables') == 'hashtable'
      TEST OK: weechat.hdata_get_var_type_string(hdata_line_data, 'displayed') == 'char'
      TEST OK: weechat.hdata_get_var_type_string(hdata_line_data, 'prefix') == 'shared_string'
      TEST OK: weechat.hdata_get_var_type_string(hdata_line_data, 'date') == 'time'
      TEST OK: weechat.hdata_get_var_type_string(hdata_hotlist, 'creation_time.tv_usec') == 'long'
      TEST OK: weechat.hdata_get_var_type_string(hdata_irc_server, 'gnutls_sess') == 'other'
      TEST OK: weechat.hdata_get_var_array_size(hdata_buffer, buffer2, 'name') == -1
      TEST OK: weechat.hdata_get_var_array_size(hdata_buffer, buffer2, 'highlight_tags_array') >= 0
      TEST OK: weechat.hdata_get_var_array_size_string(hdata_buffer, buffer2, 'name') == ''
      TEST OK: weechat.hdata_get_var_array_size_string(hdata_buffer, buffer2, 'highlight_tags_array') == 'highlight_tags_count'
      TEST OK: weechat.hdata_get_var_hdata(hdata_buffer, 'plugin') == 'plugin'
      TEST OK: weechat.hdata_get_var_hdata(hdata_buffer, 'own_lines') == 'lines'
      TEST OK: weechat.hdata_get_var_hdata(hdata_buffer, 'name') == ''
      TEST OK: weechat.hdata_get_list(hdata_buffer, 'gui_buffers') == buffer
      TEST OK: weechat.hdata_check_pointer(hdata_buffer, buffer, buffer) == 1
      TEST OK: weechat.hdata_check_pointer(hdata_buffer, buffer, buffer2) == 1
      TEST OK: weechat.hdata_check_pointer(hdata_buffer, buffer, own_lines) == 0
      TEST OK: weechat.hdata_move(hdata_line, line1, 1) == line2
      TEST OK: weechat.hdata_move(hdata_line, line1, 2) == line3
      TEST OK: weechat.hdata_move(hdata_line, line3, -1) == line2
      TEST OK: weechat.hdata_move(hdata_line, line3, -2) == line1
      TEST OK: weechat.hdata_move(hdata_line, line1, -1) == ''
      TEST OK: weechat.hdata_search(hdata_buffer, buffer, '${name} == test', {}, {}, {}, 1) == buffer2
      TEST OK: weechat.hdata_search(hdata_buffer, buffer, '${name} == xxx', {}, {}, {}, 1) == ''
      TEST OK: weechat.hdata_char(hdata_line_data, line1_data, 'displayed') == 1
      TEST OK: weechat.hdata_char(hdata_buffer, buffer2, 'number') == 2
      TEST OK: weechat.hdata_long(hdata_hotlist, gui_hotlist, 'creation_time.tv_usec') >= 0
      TEST OK: weechat.hdata_string(hdata_buffer, buffer2, 'name') == 'test'
      TEST OK: weechat.hdata_pointer(hdata_buffer, buffer2, 'own_lines') == own_lines
      TEST OK: weechat.hdata_time(hdata_line_data, line1_data, 'date') > 1659430030
      TEST OK: value == 'test'
      TEST OK: weechat.hdata_compare(hdata_buffer, buffer, buffer2, 'name', 0) > 0
      TEST OK: weechat.hdata_compare(hdata_buffer, buffer2, buffer, 'name', 0) < 0
      TEST OK: weechat.hdata_compare(hdata_buffer, buffer, buffer, 'name', 0) == 0
      TEST OK: weechat.hdata_time(hdata_line_data, line1_data, 'date') == 5680744830
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'prefix') == 'prefix1'
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'message') == '## msg1'
      TEST OK: weechat.hdata_update(hdata_line_data, line1_data, update) == 3
      TEST OK: weechat.hdata_time(hdata_line_data, line1_data, 'date') == 5680744835
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'prefix') == 'new_prefix1'
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'message') == 'new_message1'
      TEST OK: weechat.hdata_get_string(hdata_line, 'var_prev') == 'prev_line'
      TEST OK: weechat.hdata_get_string(hdata_line, 'var_next') == 'next_line'
  > TESTS END

>>> Tests perl: 261 tests, 261 OK, 0 errors, 0 unexpected messages, 23 ms

>>> Running command: /script unload -q weechat_testapi.pl
>>> Running command: /script load -q ./tmp_weechat_test/testapi/weechat_testapi.scm
>>> Running command: /weechat_testapi.scm
>>>
>>> ------------------------------
>>> Testing guile API
  > TESTS: 261
  > test_plugins
      TEST OK: weechat.plugin_get_name('') == 'core'
      TEST OK: weechat.plugin_get_name(weechat.buffer_get_pointer(weechat.buffer_search_main(), 'plugin')) == 'core'
  > test_strings
      TEST OK: weechat.charset_set('iso-8859-15') == 1
      TEST OK: weechat.charset_set('') == 1
      TEST OK: weechat.iconv_to_internal('iso-8859-15', 'abc') == 'abc'
      TEST OK: weechat.iconv_from_internal('iso-8859-15', 'abcd') == 'abcd'
      TEST OK: weechat.gettext('abcdef') == 'abcdef'
      TEST OK: weechat.ngettext('file', 'files', 1) == 'file'
      TEST OK: weechat.ngettext('file', 'files', 2) == 'files'
      TEST OK: weechat.strlen_screen('abcd') == 4
      TEST OK: weechat.string_match('abcdef', 'abc*', 0) == 1
      TEST OK: weechat.string_match('abcdef', 'abc*', 1) == 1
      TEST OK: weechat.string_match('ABCDEF', 'abc*', 1) == 0
      TEST OK: weechat.string_match_list('abcdef', '*,!abc*', 0) == 0
      TEST OK: weechat.string_match_list('ABCDEF', '*,!abc*', 1) == 1
      TEST OK: weechat.string_match_list('def', '*,!abc*', 0) == 1
      TEST OK: weechat.string_eval_path_home('test ${abc}', {}, {'abc': '123'}, {}) == 'test 123'
      TEST OK: weechat.string_mask_to_regex('test*mask') == 'test.*mask'
      TEST OK: weechat.string_has_highlight('my test string', 'test,word2') == 1
      TEST OK: weechat.string_has_highlight_regex('my test string', 'test|word2') == 1
      TEST OK: weechat.string_format_size(0) == '0 bytes'
      TEST OK: weechat.string_format_size(1) == '1 byte'
      TEST OK: weechat.string_format_size(2097152) == '2.10 MB'
      TEST OK: weechat.string_format_size(420000000) == '420.00 MB'
      TEST OK: weechat.string_parse_size('') == 0
      TEST OK: weechat.string_parse_size('*') == 0
      TEST OK: weechat.string_parse_size('z') == 0
      TEST OK: weechat.string_parse_size('1ba') == 0
      TEST OK: weechat.string_parse_size('1') == 1
      TEST OK: weechat.string_parse_size('12b') == 12
      TEST OK: weechat.string_parse_size('123 b') == 123
      TEST OK: weechat.string_parse_size('120k') == 120000
      TEST OK: weechat.string_parse_size('1500m') == 1500000000
      TEST OK: weechat.string_parse_size('3g') == 3000000000
      TEST OK: weechat.string_color_code_size('') == 0
      TEST OK: weechat.string_color_code_size('test') == 0
      TEST OK: weechat.string_color_code_size(str_color) == 7
      TEST OK: weechat.string_remove_color('test', '?') == 'test'
      TEST OK: weechat.string_is_command_char('/test') == 1
      TEST OK: weechat.string_is_command_char('test') == 0
      TEST OK: weechat.string_input_for_buffer('test') == 'test'
      TEST OK: weechat.string_input_for_buffer('/test') == ''
      TEST OK: weechat.string_input_for_buffer('//test') == '/test'
      TEST OK: weechat.string_eval_expression('100 > 50', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('-50 < 100', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('18.2 > 5', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('0xA3 > 2', {}, {}, {'type': 'condition'}) == '1'
      TEST OK: weechat.string_eval_expression('${buffer.full_name}', {}, {}, {}) == 'core.weechat'
  > test_lists
      TEST OK: ptr_list != ''
      TEST OK: weechat.list_size(ptr_list) == 0
      TEST OK: weechat.list_size(ptr_list) == 1
      TEST OK: weechat.list_size(ptr_list) == 2
      TEST OK: weechat.list_search(ptr_list, 'abc') == item_abc
      TEST OK: weechat.list_search(ptr_list, 'def') == item_def
      TEST OK: weechat.list_search(ptr_list, 'ghi') == ''
      TEST OK: weechat.list_search_pos(ptr_list, 'abc') == 0
      TEST OK: weechat.list_search_pos(ptr_list, 'def') == 1
      TEST OK: weechat.list_search_pos(ptr_list, 'ghi') == -1
      TEST OK: weechat.list_casesearch(ptr_list, 'abc') == item_abc
      TEST OK: weechat.list_casesearch(ptr_list, 'def') == item_def
      TEST OK: weechat.list_casesearch(ptr_list, 'ghi') == ''
      TEST OK: weechat.list_casesearch(ptr_list, 'ABC') == item_abc
      TEST OK: weechat.list_casesearch(ptr_list, 'DEF') == item_def
      TEST OK: weechat.list_casesearch(ptr_list, 'GHI') == ''
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'abc') == 0
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'def') == 1
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'ghi') == -1
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'ABC') == 0
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'DEF') == 1
      TEST OK: weechat.list_casesearch_pos(ptr_list, 'GHI') == -1
      TEST OK: weechat.list_get(ptr_list, 0) == item_abc
      TEST OK: weechat.list_get(ptr_list, 1) == item_def
      TEST OK: weechat.list_get(ptr_list, 2) == ''
      TEST OK: weechat.list_string(item_def) == 'def2'
      TEST OK: weechat.list_next(item_abc) == item_def
      TEST OK: weechat.list_next(item_def) == ''
      TEST OK: weechat.list_prev(item_abc) == ''
      TEST OK: weechat.list_prev(item_def) == item_abc
      TEST OK: weechat.list_size(ptr_list) == 1
      TEST OK: weechat.list_get(ptr_list, 0) == item_def
      TEST OK: weechat.list_get(ptr_list, 1) == ''
      TEST OK: weechat.list_size(ptr_list) == 0
  > test_config
      TEST OK: ptr_config != ''
      TEST OK: ptr_section != ''
      TEST OK: ptr_section2 == ptr_section
      TEST OK: ptr_opt_bool != ''
      TEST OK: weechat.config_boolean(ptr_opt_bool) == 1
      TEST OK: weechat.config_option_set(ptr_opt_bool, 'off', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_bool, 'off', 1) == 1
      TEST OK: weechat.config_boolean(ptr_opt_bool) == 0
      TEST OK: weechat.config_boolean_default(ptr_opt_bool) == 1
      TEST OK: weechat.config_option_reset(ptr_opt_bool, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_bool, 1) == 1
      TEST OK: weechat.config_boolean(ptr_opt_bool) == 1
      TEST OK: ptr_opt_int != ''
      TEST OK: weechat.config_integer(ptr_opt_int) == 2
      TEST OK: weechat.config_option_set(ptr_opt_int, '15', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_int, '15', 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int) == 15
      TEST OK: weechat.config_integer_default(ptr_opt_int) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_int, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_int, 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int) == 2
      TEST OK: ptr_opt_int_str != ''
      TEST OK: weechat.config_integer(ptr_opt_int_str) == 1
      TEST OK: weechat.config_string(ptr_opt_int_str) == 'val2'
      TEST OK: weechat.config_option_set(ptr_opt_int_str, 'val1', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_int_str, 'val1', 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int_str) == 0
      TEST OK: weechat.config_string(ptr_opt_int_str) == 'val1'
      TEST OK: weechat.config_integer_default(ptr_opt_int_str) == 1
      TEST OK: weechat.config_string_default(ptr_opt_int_str) == 'val2'
      TEST OK: weechat.config_option_reset(ptr_opt_int_str, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_int_str, 1) == 1
      TEST OK: weechat.config_integer(ptr_opt_int_str) == 1
      TEST OK: weechat.config_string(ptr_opt_int_str) == 'val2'
      TEST OK: ptr_opt_str != ''
      TEST OK: weechat.config_string(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_set(ptr_opt_str, 'value2', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_str, 'value2', 1) == 1
      TEST OK: weechat.config_string(ptr_opt_str) == 'value2'
      TEST OK: weechat.config_string_default(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_reset(ptr_opt_str, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_str, 1) == 1
      TEST OK: weechat.config_string(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_is_null(ptr_opt_str) == 0
      TEST OK: weechat.config_option_set_null(ptr_opt_str, 1) == 2
      TEST OK: weechat.config_option_set_null(ptr_opt_str, 1) == 1
      TEST OK: weechat.config_option_is_null(ptr_opt_str) == 1
      TEST OK: weechat.config_string(ptr_opt_str) == ''
      TEST OK: weechat.config_option_unset(ptr_opt_str) == 1
      TEST OK: weechat.config_option_unset(ptr_opt_str) == 0
      TEST OK: weechat.config_string(ptr_opt_str) == 'value'
      TEST OK: weechat.config_option_default_is_null(ptr_opt_str) == 0
      TEST OK: ptr_opt_col != ''
      TEST OK: weechat.config_color(ptr_opt_col) == 'lightgreen'
      TEST OK: weechat.config_option_set(ptr_opt_col, 'red', 1) == 2
      TEST OK: weechat.config_option_set(ptr_opt_col, 'red', 1) == 1
      TEST OK: weechat.config_color(ptr_opt_col) == 'red'
      TEST OK: weechat.config_color_default(ptr_opt_col) == 'lightgreen'
      TEST OK: weechat.config_option_reset(ptr_opt_col, 1) == 2
      TEST OK: weechat.config_option_reset(ptr_opt_col, 1) == 1
      TEST OK: weechat.config_color(ptr_opt_col) == 'lightgreen'
      TEST OK: ptr_opt_bool2 == ptr_opt_bool
      TEST OK: weechat.config_string_to_boolean('') == 0
      TEST OK: weechat.config_string_to_boolean('off') == 0
      TEST OK: weechat.config_string_to_boolean('0') == 0
      TEST OK: weechat.config_string_to_boolean('on') == 1
      TEST OK: weechat.config_string_to_boolean('1') == 1
      TEST OK: weechat.config_read(ptr_config) == 0
      TEST OK: weechat.config_write(ptr_config) == 0
      TEST OK: weechat.config_reload(ptr_config) == 0
      TEST OK: ptr_option != ''
      TEST OK: weechat.config_string(ptr_option) == '%H:%M'
      TEST OK: weechat.config_get_plugin('option') == ''
      TEST OK: weechat.config_is_set_plugin('option') == 0
      TEST OK: weechat.config_set_plugin('option', 'value') == 1
      TEST OK: weechat.config_get_plugin('option') == 'value'
      TEST OK: weechat.config_is_set_plugin('option') == 1
      TEST OK: weechat.config_unset_plugin('option') == 2
      TEST OK: weechat.config_unset_plugin('option') == -1
  > test_key
      TEST OK: weechat.key_bind('mouse', {'@chat(plugin.test):button1': 'hsignal:test_mouse', '@chat(plugin.test):wheelup': '/mycommand up', '@chat(plugin.test):wheeldown': '/mycommand down', '__quiet': ''}) == 3
      TEST OK: weechat.key_unbind('mouse', 'quiet:area:chat(plugin.test)') == 3
  > test_display
      TEST OK: weechat.prefix('action') != ''
      TEST OK: weechat.prefix('error') != ''
      TEST OK: weechat.prefix('join') != ''
      TEST OK: weechat.prefix('network') != ''
      TEST OK: weechat.prefix('quit') != ''
      TEST OK: weechat.prefix('unknown') == ''
      TEST OK: weechat.color('green') != ''
      TEST OK: weechat.color('unknown') == ''
## test print core buffer
## test print_date_tags core buffer
## test print_date_tags core buffer, year 2150
      TEST OK: weechat.hdata_time(hdata_line_data, data, 'date') == 5680744830
      TEST OK: buffer != ''
      TEST OK: weechat.buffer_get_integer(buffer, 'type') == 0
      TEST OK: weechat.buffer_get_integer(buffer, 'type') == 1
      TEST OK: buffer != ''
  > test_hooks
      TEST OK: data == 'completion_data'
      TEST OK: completion_item == '{SCRIPT_NAME}'
      TEST OK: weechat.completion_get_string(completion, 'args') == 'w'
      TEST OK: data == 'command_run_data'
      TEST OK: command == '/cmd' + '{SCRIPT_NAME}' + ' word_completed'
      TEST OK: data == 'command_data'
      TEST OK: args == 'word_completed'
      TEST OK: ptr_infolist != ''
      TEST OK: weechat.infolist_next(ptr_infolist) == 1
      TEST OK: weechat.infolist_string(ptr_infolist, 'interval') == '5000111000'
  > test_command
      TEST OK: weechat.command('', '/mute') == 0
      TEST OK: weechat.command_options('', '/mute', {'commands': '*,!print'}) == 0
      TEST OK: weechat.command_options('', '/mute', {'commands': '*,!mute'}) == -1
  > test_infolist
      TEST OK: weechat.infolist_get('infolist_does_not_exist', '', '') == ''
      TEST OK: infolist != ''
      TEST OK: item != ''
      TEST OK: weechat.infolist_new_var_integer(item, 'integer', 123) != ''
      TEST OK: weechat.infolist_new_var_string(item, 'string', 'test string') != ''
      TEST OK: weechat.infolist_new_var_pointer(item, 'pointer', '0xabcdef') != ''
      TEST OK: weechat.infolist_new_var_time(item, 'time1', 1231231230) != ''
      TEST OK: weechat.infolist_new_var_time(item, 'time2', 5680744830) != ''
      TEST OK: ptr_infolist != ''
      TEST OK: weechat.infolist_next(ptr_infolist) == 1
      TEST OK: weechat.infolist_integer(ptr_infolist, 'integer') == 123
      TEST OK: weechat.infolist_string(ptr_infolist, 'string') == 'test string'
      TEST OK: weechat.infolist_pointer(ptr_infolist, 'pointer') == '0xabcdef'
      TEST OK: weechat.infolist_time(ptr_infolist, 'time1') == 1231231230
      TEST OK: weechat.infolist_time(ptr_infolist, 'time2') == 5680744830
      TEST OK: weechat.infolist_fields(ptr_infolist) == 'i:integer,s:string,p:pointer,t:time1,t:time2'
      TEST OK: weechat.infolist_next(ptr_infolist) == 0
  > test_hdata
      TEST OK: hdata_buffer != ''
      TEST OK: hdata_lines != ''
      TEST OK: hdata_line != ''
      TEST OK: hdata_line_data != ''
      TEST OK: hdata_key != ''
      TEST OK: hdata_hotlist != ''
      TEST OK: hdata_irc_server != ''
      TEST OK: weechat.hdata_get_var_offset(hdata_buffer, 'plugin') == 0
      TEST OK: weechat.hdata_get_var_offset(hdata_buffer, 'number') > 0
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'plugin') == 'pointer'
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'number') == 'integer'
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'name') == 'string'
      TEST OK: weechat.hdata_get_var_type_string(hdata_buffer, 'local_variables') == 'hashtable'
      TEST OK: weechat.hdata_get_var_type_string(hdata_line_data, 'displayed') == 'char'
      TEST OK: weechat.hdata_get_var_type_string(hdata_line_data, 'prefix') == 'shared_string'
      TEST OK: weechat.hdata_get_var_type_string(hdata_line_data, 'date') == 'time'
      TEST OK: weechat.hdata_get_var_type_string(hdata_hotlist, 'creation_time.tv_usec') == 'long'
      TEST OK: weechat.hdata_get_var_type_string(hdata_irc_server, 'gnutls_sess') == 'other'
      TEST OK: weechat.hdata_get_var_array_size(hdata_buffer, buffer2, 'name') == -1
      TEST OK: weechat.hdata_get_var_array_size(hdata_buffer, buffer2, 'highlight_tags_array') >= 0
      TEST OK: weechat.hdata_get_var_array_size_string(hdata_buffer, buffer2, 'name') == ''
      TEST OK: weechat.hdata_get_var_array_size_string(hdata_buffer, buffer2, 'highlight_tags_array') == 'highlight_tags_count'
      TEST OK: weechat.hdata_get_var_hdata(hdata_buffer, 'plugin') == 'plugin'
      TEST OK: weechat.hdata_get_var_hdata(hdata_buffer, 'own_lines') == 'lines'
      TEST OK: weechat.hdata_get_var_hdata(hdata_buffer, 'name') == ''
      TEST OK: weechat.hdata_get_list(hdata_buffer, 'gui_buffers') == buffer
      TEST OK: weechat.hdata_check_pointer(hdata_buffer, buffer, buffer) == 1
      TEST OK: weechat.hdata_check_pointer(hdata_buffer, buffer, buffer2) == 1
      TEST OK: weechat.hdata_check_pointer(hdata_buffer, buffer, own_lines) == 0
      TEST OK: weechat.hdata_move(hdata_line, line1, 1) == line2
      TEST OK: weechat.hdata_move(hdata_line, line1, 2) == line3
      TEST OK: weechat.hdata_move(hdata_line, line3, -1) == line2
      TEST OK: weechat.hdata_move(hdata_line, line3, -2) == line1
      TEST OK: weechat.hdata_move(hdata_line, line1, -1) == ''
      TEST OK: weechat.hdata_search(hdata_buffer, buffer, '${name} == test', {}, {}, {}, 1) == buffer2
      TEST OK: weechat.hdata_search(hdata_buffer, buffer, '${name} == xxx', {}, {}, {}, 1) == ''
      TEST OK: weechat.hdata_char(hdata_line_data, line1_data, 'displayed') == 1
      TEST OK: weechat.hdata_char(hdata_buffer, buffer2, 'number') == 2
      TEST OK: weechat.hdata_long(hdata_hotlist, gui_hotlist, 'creation_time.tv_usec') >= 0
      TEST OK: weechat.hdata_string(hdata_buffer, buffer2, 'name') == 'test'
      TEST OK: weechat.hdata_pointer(hdata_buffer, buffer2, 'own_lines') == own_lines
      TEST OK: weechat.hdata_time(hdata_line_data, line1_data, 'date') > 1659430030
      TEST OK: value == 'test'
      TEST OK: weechat.hdata_compare(hdata_buffer, buffer, buffer2, 'name', 0) > 0
      TEST OK: weechat.hdata_compare(hdata_buffer, buffer2, buffer, 'name', 0) < 0
      TEST OK: weechat.hdata_compare(hdata_buffer, buffer, buffer, 'name', 0) == 0
      TEST OK: weechat.hdata_time(hdata_line_data, line1_data, 'date') == 5680744830
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'prefix') == 'prefix1'
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'message') == '## msg1'
      TEST OK: weechat.hdata_update(hdata_line_data, line1_data, update) == 3
      TEST OK: weechat.hdata_time(hdata_line_data, line1_data, 'date') == 5680744835
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'prefix') == 'new_prefix1'
      TEST OK: weechat.hdata_string(hdata_line_data, line1_data, 'message') == 'new_message1'
      TEST OK: weechat.hdata_get_string(hdata_line, 'var_prev') == 'prev_line'
      TEST OK: weechat.hdata_get_string(hdata_line, 'var_next') == 'next_line'
  > TESTS END

>>> Tests guile: 261 tests, 261 OK, 0 errors, 0 unexpected messages, 50 ms

>>> Running command: /script unload -q weechat_testapi.scm
TEST(Scripts, API) - 480 ms
TEST(GuiNick, FindColor) - 0 ms
TEST(GuiNick, StrdupForColor) - 0 ms
TEST(GuiNick, GetForcedColor) - 0 ms
TEST(GuiNick, HashColor) - 0 ms
TEST(GuiNick, HashSum32) - 0 ms
TEST(GuiNick, HashSum64) - 0 ms
TEST(GuiNick, HashDbj232) - 0 ms
TEST(GuiNick, HashDbj264) - 0 ms
TEST(GuiLine, HdataPrintLog) - 0 ms
TEST(GuiLine, AddToInfolist) - 0 ms
TEST(GuiLine, HdataLineDataCb) - 0 ms
TEST(GuiLine, HdataLineDataUpdateCb) - 0 ms
TEST(GuiLine, HdataLineCb) - 0 ms
TEST(GuiLine, HdataLinesCb) - 0 ms
TEST(GuiLine, MixBuffers) - 0 ms
TEST(GuiLine, Clear) - 0 ms
TEST(GuiLine, AddY) - 0 ms
TEST(GuiLine, Add) - 0 ms
TEST(GuiLine, HookUpdate) - 0 ms
TEST(GuiLine, New) - 1 ms
TEST(GuiLine, SetHighlight) - 0 ms
TEST(GuiLine, SetNotifyLevel) - 0 ms
TEST(GuiLine, GetMaxNotifyLevel) - 0 ms
TEST(GuiLine, FreeAll) - 0 ms
TEST(GuiLine, Free) - 0 ms
TEST(GuiLine, MixedFreeAll) - 0 ms
TEST(GuiLine, MixedFreeBuffer) - 0 ms
TEST(GuiLine, MixedAdd) - 0 ms
TEST(GuiLine, RemoveFromList) - 0 ms
TEST(GuiLine, FreeData) - 0 ms
TEST(GuiLine, AddToList) - 0 ms
TEST(GuiLine, ComputePrefixMaxLength) - 0 ms
TEST(GuiLine, ComputeBufferMaxLength) - 0 ms
TEST(GuiLine, HasOfflineNick) - 0 ms
TEST(GuiLine, HasHighlight) - 0 ms
TEST(GuiLine, GetNickTag) - 0 ms
TEST(GuiLine, SearchTagStartingWith) - 0 ms
TEST(GuiLine, MatchTags) - 0 ms
TEST(GuiLine, HasTagNoFilter) - 0 ms
TEST(GuiLine, MatchRegex) - 0 ms
TEST(GuiLine, SearchText) - 0 ms
TEST(GuiLine, GetNextDisplayed) - 0 ms
TEST(GuiLine, GetPrevDisplayed) - 0 ms
TEST(GuiLine, GetLastDisplayed) - 0 ms
TEST(GuiLine, GetFirstDisplayed) - 0 ms
TEST(GuiLine, IsDisplayed) - 0 ms
TEST(GuiLine, BuildStringMessageTags) - 0 ms
TEST(GuiLine, BuildStringPrefixMessage) - 0 ms
TEST(GuiLine, GetAlign) - 0 ms
TEST(GuiLine, GetPrefixForDisplay) - 0 ms
TEST(GuiLine, PrefixIsSameNick) - 0 ms
TEST(GuiLine, TagsAlloc) - 0 ms
TEST(GuiLine, LinesAlloc) - 0 ms
TEST(GuiInput, Redo) - 0 ms
TEST(GuiInput, Undo) - 0 ms
TEST(GuiInput, UndoUse) - 0 ms
TEST(GuiInput, Insert) - 0 ms
TEST(GuiInput, GrabMouse) - 0 ms
TEST(GuiInput, GrabKey) - 0 ms
TEST(GuiInput, HistoryGlobalNext) - 0 ms
TEST(GuiInput, HistoryGlobalPrevious) - 0 ms
TEST(GuiInput, HistoryLocalNext) - 0 ms
TEST(GuiInput, HistoryLocalPrevious) - 0 ms
TEST(GuiInput, HistoryNext) - 0 ms
TEST(GuiInput, HistoryPrevious) - 0 ms
TEST(GuiInput, MoveNextWord) - 0 ms
TEST(GuiInput, MovePreviousWord) - 0 ms
TEST(GuiInput, MoveNextChar) - 0 ms
TEST(GuiInput, MovePreviousChar) - 0 ms
TEST(GuiInput, MoveEndOfLine) - 0 ms
TEST(GuiInput, MoveBeginningOfLine) - 0 ms
TEST(GuiInput, TransposeChars) - 0 ms
TEST(GuiInput, DeleteLine) - 0 ms
TEST(GuiInput, DeleteEndOfLine) - 1 ms
TEST(GuiInput, DeleteBeginningOfLine) - 0 ms
TEST(GuiInput, DeleteNextWord) - 0 ms
TEST(GuiInput, DeletePreviousWordWhitespace) - 0 ms
TEST(GuiInput, DeletePreviousWord) - 0 ms
TEST(GuiInput, DeleteRange) - 0 ms
TEST(GuiInput, DeleteNextChar) - 0 ms
TEST(GuiInput, DeletePreviousChar) - 1 ms
TEST(GuiInput, SearchStop) - 0 ms
TEST(GuiInput, SearchStopHere) - 0 ms
TEST(GuiInput, SearchNext) - 0 ms
TEST(GuiInput, SearchPrevious) - 0 ms
TEST(GuiInput, SearchSwitchWhere) - 0 ms
TEST(GuiInput, SearchSwitchRegex) - 0 ms
TEST(GuiInput, SearchSwitchCase) - 0 ms
TEST(GuiInput, SearchCompileRegex) - 0 ms
TEST(GuiInput, SearchText) - 0 ms
TEST(GuiInput, SearchTextHere) - 0 ms
TEST(GuiInput, Complete) - 0 ms
TEST(GuiInput, Return) - 0 ms
TEST(GuiInput, ClipboardPaste) - 0 ms
TEST(GuiInput, ClipboardCopy) - 0 ms
TEST(GuiInput, InsertString) - 0 ms
TEST(GuiInput, SearchSignal) - 0 ms
TEST(GuiInput, TextCursorMovedSignal) - 0 ms
TEST(GuiInput, TextChangedModifierAndSignal) - 0 ms
TEST(GuiInput, PastePendingSignal) - 0 ms
TEST(GuiInput, ReplaceInputSetPos) - 0 ms
TEST(GuiInput, OptimizeSize) - 0 ms
TEST(GuiFilter, PrintLog) - 0 ms
TEST(GuiFilter, AddToInfolist) - 0 ms
TEST(GuiFilter, HdataFilterCb) - 0 ms
TEST(GuiFilter, Rename) - 0 ms
TEST(GuiFilter, New)=!= Unable to add filter "": not enough arguments
=!= Unable to add filter "test": not enough arguments
=!= Unable to add filter "test": not enough arguments
=!= Unable to add filter "test": not enough arguments
=!= Unable to add filter "abc": invalid regular expression (Invalid preceding regular expression)
=!= Unable to add filter "abc": invalid regular expression (Invalid preceding regular expression)
=!= Unable to add filter "abc": a filter with same name already exists (choose another name or use option "addreplace" to overwrite it)
 - 1 ms
TEST(GuiFilter, NewError) - 0 ms
TEST(GuiFilter, SearchByName) - 1 ms
TEST(GuiFilter, GlobalEnableDisable) - 0 ms
TEST(GuiFilter, AllBuffers) - 0 ms
TEST(GuiFilter, Buffer) - 0 ms
TEST(GuiFilter, CheckLine)this is a test
this is a test
 - 0 ms
TEST(GuiColor, Emphasize) - 0 ms
TEST(GuiColor, EncodeAnsi) - 0 ms
TEST(GuiColor, DecodeAnsi) - 1 ms
TEST(GuiColor, Decode) - 0 ms
TEST(GuiColor, CodeSize) - 0 ms
TEST(GuiColor, GetCustom) - 0 ms
TEST(GuiChat, ChatEnd) - 0 ms
TEST(GuiChat, HsignalQuoteLineCb) - 0 ms
TEST(GuiChat, PrintYDateTags)
*** Very bad! WeeChat is crashing (SIGSEGV received)
*** Full crash dump was saved to ./tmp_weechat_test/weechat_crash_20230608_47.log file.
***
*** Please help WeeChat developers to fix this bug:
***
***   1. If you have a core file, please run: gdb /path/to/weechat core
***      then issue command: "bt full" and send result to developers.
***      See the user's guide for more info about enabling the core files
***      and reporting crashes:
***      https://weechat.org/doc/stable/user/#report_crashes
***
***   2. Otherwise send the backtrace (below), only if it is a complete trace.
***      Keep the crash log file, just in case developers ask you some info
***      (be careful, private info like passwords may be in this file).

======= WeeChat backtrace =======
(written by WeeChat 3.8, compiled on Jun  8 2023 12:28:47)
001  ??:? [function weechat_backtrace]
002  ??:? [function debug_sigsegv_cb]
003  ??:? [function __sigaction]
004  ??:? [function __nss_database_lookup]
005  ??:? [function _IO_vfprintf]
006  ??:? [function vscanf]
007  ??:? [function gui_chat_printf_y_date_tags]
008  TEST_GuiChat_PrintYDateTags_Test::testBody()
008  ??:?
009  lib_libCppUTest_a-UtestPlatform.o:? [function PlatformSpecificSetJmpImplementation]
010  Utest::run()
010  ??:?
011  UtestShell::runOneTestInCurrentProcess(TestPlugin*, TestResult&)
011  ??:?
012  lib_libCppUTest_a-UtestPlatform.o:? [function PlatformSpecificSetJmpImplementation]
013  UtestShell::runOneTest(TestPlugin*, TestResult&)
013  ??:?
014  TestRegistry::runAllTests(TestResult&)
014  ??:?
015  CommandLineTestRunner::runAllTests()
015  ??:?
016  CommandLineTestRunner::runAllTestsMain()
016  ??:?
017  CommandLineTestRunner::RunAllTests(int, char const* const*)
017  ??:?
018  ??:? [function main]
019  ??:? [function __libc_init_first]
020  ??:? [function __libc_start_main]
021  ??:? [function _start]
======= End of  backtrace =======
<end of output>
Test time =   1.11 sec
----------------------------------------------------------
Test Failed.
"unit" end time: Jun 08 12:29 UTC
"unit" time elapsed: 00:00:01
----------------------------------------------------------

End testing: Jun 08 12:29 UTC