IMPORTANT NOTE: Running the test servers!
    ===============--------------------------

    When you "make tjazz" and run it using ./tjazz, the tests expect both zeroMQ and http test servers running.

    The servers are in the folder Jazz/server/test_servers/

    There are three servers:

      ./serve_a2m.py
      ./serve_alpha.py
      ./serve_htm.py

    They are simple python 3 scripts. You can pip install anything required (flask and zmq). You have to keep the three scripts running.


    Jazz 0.5+ uses Catch2
    =====================


    IMPORTANT NOTE: The single file header version of Catch is PATCHED !!
    ---------------

    To avoid a naming conflict with the macro WARN (from R.h), the Catch macro WARN is renamed to CWARN.
    Always rename (manually) when updating to a new catch version.


    Instructions on testing
    -----------------------

    Testing is done using Catch https://github.com/philsquared/Catch

    Catch converts Jazz into an executable with its own help, made by;

    make tjazz  (also, make runtest makes tjazz and runs it with: ./bin_test/tjazz -d yes


    A typical BDD test looks like:
    ------------------------------

        #if defined CATCH_TEST

        SCENARIO("Testing something.")
        {
            (code here)
            REQUIRE((many assertions));

            GIVEN("Something")
            {
                (code here)
                REQUIRE((many assertions));

                WHEN("Whatever")
                {
                    (code here)
                    REQUIRE((many assertions));

                    THEN("Yesss")
                    {
                        (code here)
                        REQUIRE((many assertions));
                    }
                }
            }
        }

        #endif


    Useful commands are:
    --------------------

    make runtest            // Runs showing times. Note that some messages are in reverse order since time can
                            // only be measured when finished and events are nested.
    ./bin_test/tjazz -s -a  // Shows every detail "-s", but ABORTS "-a" so the last test is the one failing.

    ./bin_test/tjazz -help  // Shows this help

        Catch v1.5.9
        usage:
        tjazz [ ...] [options]

        where options are:
        -?, -h, --help               display usage information
        -l, --list-tests             list all/matching test cases
        -t, --list-tags              list all/matching tags
        -s, --success                include successful tests in output
        -b, --break                  break into debugger on failure
        -e, --nothrow                skip exception tests
        -i, --invisibles             show invisibles (tabs, newlines)
        -o, --out          output filename
        -r, --reporter         reporter to use (defaults to console)
        -n, --name             suite name
        -a, --abort                  abort at first failure
        -x, --abortx   abort after x failures
        -w, --warn     enable warnings
        -d, --durations      show test durations
        -f, --input-file   load test names to run from a file
        -#, --filenames-as-tags      adds a tag for the filename
        --list-test-names-only       list all/matching test cases names only
        --list-reporters             list all reporters
        --order       test case order (defaults to decl)
        --rng-seed <'time'|number>   set a specific seed for random numbers
        --force-colour               force colourised output (deprecated)
        --use-colour         should output be colourised

        For more detail usage please see the project docs