# WeeChat tester’s guide

Sébastien Helleu
<flashcode@flashtux.org>
version 1.4, 2017-04-27

## Purpose

Many thankful users ask us how can they help developing WeeChat. The easiest (and also most tricky) way to help developing WeeChat is testing!

Testing is a very important part of software development and should not be underestimated. When some features are implemented it should be tested, but for some features there are too many use cases or these cases are tricky and developers can’t try out every case.

For example: A notorious charset plugin was introduced in WeeChat 0.2.2: none of us (developers, contributors and testers) used channels with national characters in their names and when 0.2.2 was released we got flooded by Russian users blaming us. If we have more testers it should not happen again in the future.

Testing the stable version of WeeChat is pointless because developers are busy implementing new stuff (and fixing old bugs) all the time.

## Prepare your system

It would help us a lot if you enable Linux core files: if WeeChat crashes, Linux will write a file called core. This file contains very useful debug info, to know exactly where is problem in WeeChat.

If you’re using the bash shell, add following line to your ~/.bashrc:

    ulimit -c unlimited

## Download devel version

Fresh code (with latest bugs and features) is stored in a GIT repository.

You may decide to build it manually (recommended way):

- the GIT version can be built and installed in parallel to the stable version,

- you don’t need root access, and you don’t need to sacrifice the stable version of WeeChat.

### Get and build sources

First create a directory, for example weechat-git:

    $ mkdir ~/weechat-git
    $ cd ~/weechat-git

If you have git installed, you can just clone the git repository (recommended way):

    $ git clone https://github.com/weechat/weechat.git
    $ cd weechat

Note | Later, you can run "git pull" in this directory, to get deltas with the latest updates.

Otherwise you can download and unpack devel package:

    $ wget https://weechat.org/files/src/weechat-devel.tar.bz2
    $ tar xvjf weechat-devel.tar.bz2
    $ cd weechat-devel

To build sources, cmake is recommended:

    $ mkdir build
    $ cd build
    $ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
    $ make
    $ make install

If you don’t have cmake, it’s still possible to use autotools:

    $ ./autogen.sh
    $ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
    $ make
    $ make install

### Install binary package

According to your Linux distribution:

- Debian: https://weechat.org/download/debian

- Gentoo: https://weechat.org/download

- ArchLinux: PKGBUILD from http://aur.archlinux.org/

- other: we don’t know! Eheh.

## Run WeeChat

It’s recommended to run WeeChat with another directory (different from stable version), with option --dir.

Command is:

    $ ~/weechat-git/bin/weechat

If you’re still awake you should see the familiar interface and brag about having the newest possible version of WeeChat. ;)

Now if you experience strange behavior (it may have issues or crash or boil your beer) don’t hesitate to join #weechat at chat.freenode.net and tell us.

If it doesn’t crash - tell us too, we need your feedback!