54 Commits

Author SHA1 Message Date
Sébastien Helleu
7c83ee02f2 tests: add tests on typing plugin functions 2021-07-04 13:27:33 +02:00
Sébastien Helleu
23c46c3f2b irc: escape/unescape IRC message tags values (issue #1654)
Spec: https://ircv3.net/specs/extensions/message-tags#escaping-values
2021-06-24 20:59:21 +02:00
Sébastien Helleu
89e43eaf40 core: set server name when connecting to server with TLS (SNI extension) only if it's not an IPV4/IPv6 (closes #1635) 2021-05-16 14:52:11 +02:00
Sébastien Helleu
269576eea2 core: move directory/file functions from wee-util.c to wee-dir.c (issue #1285) 2021-05-11 21:06:29 +02:00
Sébastien Helleu
e58c827c91 trigger: add tests on main trigger functions 2021-04-11 09:20:49 +02:00
Sébastien Helleu
0dc7fbcb0c core: add options to customize commands on system signals, quit by default on SIGHUP when not running headless (closes #1595)
New options to customize behavior on signals received, with the default
behavior:

- weechat.signal.sighup: quit in normal mode, reload config in headless
- weechat.signal.sigquit: quit
- weechat.signal.sigterm: quit
- weechat.signal.sigusr1: no command executed by default
- weechat.signal.sigusr2: no command executed by default

The signals SIGUSR1 and SIGUSR2 are introduced by this commit, so it's now
possible to run commands when they are received.

The SIGHUP signal makes now WeeChat quit, it was the behavior before version
2.9 of WeeChat (see commit de1e61f7cd50cbd1a99777fe6611642a51abf5f6).
2021-03-16 18:47:31 +01:00
Sébastien Helleu
efc7a588d6 core: update copyright dates 2021-01-02 21:34:16 +01:00
Sébastien Helleu
0cc5df6649 irc: send all channels in a single JOIN command when reconnecting to the server (closes #1551) 2020-08-05 20:05:36 +02:00
Sébastien Helleu
bf964de939 tests: add tests on IRC function irc_channel_is_channel 2020-06-20 12:04:40 +02:00
Sébastien Helleu
62ccee9505 tests: run tests on plugins only if the plugins are enabled and compiled 2020-05-17 15:29:06 +02:00
Sébastien Helleu
9fa3609c85 relay: add command "handshake" in weechat relay protocol and nonce to prevent replay attacks (closes #1474)
This introduces a new command called "handshake" in the weechat relay protocol.
It should be sent by the client before the "init" command, to negotiate the way
to authenticate with a password.

3 new options are added:

* relay.network.auth_password
* relay.network.hash_iterations
* relay.network.nonce_size
2020-04-14 21:38:12 +02:00
Sébastien Helleu
2d2b49bfaa relay: accept hash of password in init command with option "password_hash"
Allowed algorithms are:

* PBKDF2 (SHA256 or SHA512, salt, iterations)
* SHA256
* SHA512
2020-03-02 00:46:10 +01:00
Sébastien Helleu
9a6a27ef58 core: move crypto functions to wee-crypto.c, rename API function string_hash to crypto_hash 2020-03-01 21:24:27 +01:00
Sébastien Helleu
410a5b341f api: add functions string_hash_binary and string_hash 2020-02-29 21:02:42 +01:00
Sébastien Helleu
feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu
a8ca4b5b3a tests: add tests on GUI color functions 2019-10-01 18:31:41 +02:00
Sébastien Helleu
baf8f635ff core: fix style in CMake files 2019-10-01 18:31:41 +02:00
Sébastien Helleu
997894edc0 core: add calculation of expression in evaluation of expressions with "calc:..." (issue #997) 2019-09-20 21:37:01 +02:00
Sébastien Helleu
80f103b68a core: use fixed-width integer for computing nick hash (issue #1394) 2019-08-19 23:27:11 +02:00
Sébastien Helleu
b4215ee466 tests: add tests on IRC function irc_nick_is_nick 2019-08-06 22:13:10 +02:00
Sébastien Helleu
28d79d0c93 tests: add unit tests on IRC functions irc_message_get_{nick,address}_from_host 2019-08-03 11:30:35 +02:00
Sébastien Helleu
82a92bd4e9 irc: add unit tests on ignore functions 2019-07-10 19:20:09 +02:00
Sébastien Helleu
2073408b86 irc: fix parsing of MODE command when there are colons after the first mode argument (closes #1296) 2019-05-10 19:29:58 +02:00
Sébastien Helleu
ece92efd81 tests: add link with iconv library (if found)
This fixes a compilation error on FreeBSD.
2019-04-20 10:15:01 +02:00
Sébastien Helleu
b04d8934ee tests: fix style in CMake file 2019-03-24 13:43:19 +01:00
Sébastien Helleu
2612adf899 core: add CMake option "ENABLE_CODE_COVERAGE" to compile with code coverage options
This option is OFF by default and should be enabled only for tests, to measure
test coverage.
2019-03-24 09:38:43 +01:00
Sébastien Helleu
eb0828ec6c tests: fix link of tests on GNU Hurd and FreeBSD 2019-01-20 16:53:00 +01:00
Sébastien Helleu
98249ada86 tests: add tests on IRC color functions
Functions tested:

- irc_color_decode
- irc_color_encode
- irc_color_decode_ansi
2019-01-20 15:17:21 +01:00
Sébastien Helleu
34a6fce134 tests: add tests on function irc_protocol_parse_time 2019-01-13 14:47:35 +01:00
Sébastien Helleu
c96e2f3593 tests: add tests on function irc_config_check_autojoin 2019-01-11 22:27:28 +01:00
Sébastien Helleu
2b0057239b core: update copyright dates 2019-01-01 15:40:51 +01:00
Sébastien Helleu
4712d0bb06 core: use https for links to GNU GPL license 2018-11-29 23:16:07 +01:00
Sébastien Helleu
d0ea801724 core: add support of TOTP generation/validation (Time-based One-Time Password) 2018-11-02 14:06:14 +01:00
Sébastien Helleu
ca90f28beb tests: add tests on modifier hook 2018-08-16 18:27:04 +02:00
Sébastien Helleu
12a6f74ec0 core: fix check of tags in lines
All changes:
- fix check of tags in lines: check lines without tags, fix check of tags with
  negation ("!tag")
- add string functions string_split_tags and string_free_split_tags
- add tests on function gui_line_match_tags
2018-08-12 20:30:13 +02:00
Sébastien Helleu
9be08943ab tests: fix name of target in dependencies 2018-03-16 22:08:11 +01:00
Sébastien Helleu
805717e9ec core: add binary weechat-headless to run WeeChat without interface (closes #1120)
The optional command line option "--daemon" runs WeeChat like a daemon
(fork, new process group, file descriptors closed).
2018-03-11 09:59:39 +01:00
Sébastien Helleu
ed4837b2f6 core: update copyright dates 2018-01-05 00:54:18 +01:00
Sébastien Helleu
e8af853624 tests: add scripting API tests (issue #104)
Automatic tests of scripting API are made with Python scripts:

- unparse.py: convert Python code to other languages
- testapigen.py: generate scripts in all languages to test the API
- testapi.py scripting API tests
2017-10-07 16:51:25 +02:00
Sébastien Helleu
8efbf61e66 tests: fix load of plugins in tests after a build with autotools 2017-07-05 21:33:19 +02:00
Sébastien Helleu
5e48b50da8 tests: fix double load of plugins when "make install" is executed before tests 2017-07-05 19:41:11 +02:00
Sébastien Helleu
a59ce8331a tests: load plugins from build directory instead of installed libdir
This allows to run tests without running "make install".
2017-07-04 22:14:44 +02:00
Sébastien Helleu
1361602ea5 tests: fix compilation of tests on FreeBSD 11
Some includes were missing in .h files, and the tests must be linked
with intl and execinfo on FreeBSD.
2017-01-13 20:57:59 +01:00
Sébastien Helleu
705d86e684 core: update copyright dates 2017-01-01 11:32:04 +01:00
Sébastien Helleu
3330724574 core: update copyright dates 2016-01-01 11:09:53 +01:00
Sébastien Helleu
6ff8de5740 tests: check if all plugins are loaded 2015-12-24 22:21:33 +01:00
Sébastien Helleu
3262599413 core: make cpputest optional in cmake compilation
With this fix, WeeChat can be built without tests (if cpputest is not found),
without having to explicitely disable tests ("-DENABLE_TESTS=OFF").
2015-05-17 14:58:10 +02:00
Sébastien Helleu
a020c28ea6 core: update copyright dates 2015-01-01 09:23:23 +01:00
Sébastien Helleu
dda1a66fd7 tests: add tests of arraylist functions 2014-09-01 11:51:04 +02:00
Sébastien Helleu
f39b37351c tests: fix build of tests when the build directory is outside source tree (closes #178) 2014-08-25 07:38:38 +02:00