Stéphane Raimbault ef3c4bc989 Reduce memory use of TCP PI backend (closes #621) 2 年之前
..
LICENSE 11459f2868 Update license for the tests in Debian packaging (#221) 10 年之前
Makefile.am 486f277d32 Include the test LICENSE in tarball 3 年之前
README.md a2e0e4546e Make sub-command more clear 3 年之前
bandwidth-client.c d25150ac61 Fix many typos 3 年之前
bandwidth-server-many-up.c f43066a157 Fix CID 69140 - Bad bit shift operation (coverity) in tests 9 年之前
bandwidth-server-one.c d25150ac61 Fix many typos 3 年之前
random-test-client.c a5bfc75652 Fix address range in random-test-client 9 年之前
random-test-server.c 09807f1419 Introduce SPDX license identifiers 10 年之前
unit-test-client.c ef3c4bc989 Reduce memory use of TCP PI backend (closes #621) 2 年之前
unit-test-server.c 4dbef35516 Remove duplicate ';' (closes #602) 3 年之前
unit-test.h.in 49af73debd Fix float endianness issue on big endian architecture. 3 年之前
unit-tests.sh 2fb7c2eb53 Wait the server for 1 second before running tests 9 年之前
version.c 75543b212e Fix LIBMODBUS_VERSION_HEX encoding (closes #345) 8 年之前

README.md

License

Test programs of this directory are provided under BSD license (see associated LICENSE file).

Compilation

After installation, you can use pkg-config to compile these tests. For example, to compile random-test-server run:

gcc random-test-server.c -o random-test-server $(pkg-config --libs --cflags libmodbus)

  • random-test-server is necessary to launch a server before running random-test-client. By default, it receives and replies to Modbus query on the localhost and port 1502.

  • random-test-client sends many different queries to a large range of addresses and values to test the communication between the client and the server.

  • unit-test-server and unit-test-client run a full unit test suite. These programs are essential to test the Modbus protocol implementation and libmodbus behavior.

  • bandwidth-server-one, bandwidth-server-many-up and bandwidth-client return very useful information about the performance of transfer rate between the server and the client. bandwidth-server-one can only handles one connection at once with a client whereas bandwidth-server-many-up opens a connection for each new clients (with a limit).