1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
These are various applications to test different aspects of the infinote API.
They are different in nature and depend on each other (meaning that if
inf-test-browser fails, inf-test-gtk-browser probably won't work either).
Here is a rough overview of the tests:
(NI=Non-Interactive, I=Interactive)
NI inf-test-state-vector:
Verifies that basic inf_adopted_state_vector functions work.
I inf-test-tcp-connection:
Connects to localhost on port 5223, sending "Hello World" and printing
everything it receives to stdout.
I inf-test-tcp-server:
Listens on 5223, accepting every connection and printing anything it
receives from all connections.
I inf-test-browser:
Connects to a infinote server at localhost on port 6523, providing a simple
command line interface to list, explore, add and remove subdirectory nodes
on the server.
NI inf-test-chunk:
Verifies that basic InfTextChunk operations do not cause a segfault.
NI inf-test-text-session:
Reads all test files in the session/ subdirectory and performs the tests.
The test files contain a number of requests from different users, a
beginning state and an end state of the text buffer. It applies all requests
from all users in a random order to the beginning buffer and verifies that
at the end the buffer matches the end state.
NI inf-test-text-cleanup:
Performs all test files in the cleanup/ subdirectory. This basically checks
that cleaning up the request log works correctly in certain situations.
Again, the test files contain a number of requests from different users.
This time, however, they are always applied in order. In between the
requests, there are <verify/> tags that verify that the request log
of the given user has a specified size or that the user can or can not
issue Undo/Redo in the current situation. This is to ensure that the
algorithm correctly shrinks the request log.
NI inf-test-text-replay
Replays a record as recorded with InfAdoptedSessionRecord. A few records
that should play without problems are contained in the replay/
subdirectory.
|