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