bel 3082e09033 Adapt unit test for rewritten alloc_vprintf function %!s(int64=9) %!d(string=hai) anos
..
ajax bb5bc3ff99 New CGI script for ajax test %!s(int64=10) %!d(string=hai) anos
dir with spaces d864d72470 On windows, enclosing path to CGI script in quotes to allow paths with spaces %!s(int64=12) %!d(string=hai) anos
imagetest 4872116f19 image test: File extension is case sensitive for Linux %!s(int64=10) %!d(string=hai) anos
.leading.dot.txt a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
1000images.lua 72b3d3deb2 Reduce test default from 10000 images to 1000 (number can be configured as ?cnt=1000) %!s(int64=10) %!d(string=hai) anos
100images.htm 8ce2caa2aa Update test description %!s(int64=10) %!d(string=hai) anos
CMakeLists.txt 641a742128 Add helper funktion for mask_data and enhance test for websocket clients %!s(int64=9) %!d(string=hai) anos
HugeText.lua a9cdd7960c Test 'require' of other Lua libs %!s(int64=11) %!d(string=hai) anos
MakefileTest.mk 16b31002e7 Updated test makefile to eb easier to read. %!s(int64=11) %!d(string=hai) anos
MethodTest.xhtml 01711abd46 Test even more HTTP methods %!s(int64=10) %!d(string=hai) anos
README.md 548baf792c Added check unit tests %!s(int64=10) %!d(string=hai) anos
all_build_flags.pl cd94fb9bdc Changed exec permissions on perl test programs %!s(int64=11) %!d(string=hai) anos
bad.cgi a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
bad2.cgi 82bcf523f3 added %!s(int64=13) %!d(string=hai) anos
bad_page.lp 66aa28b234 Add a bad lua script and a bad lua page for test purposes %!s(int64=9) %!d(string=hai) anos
bad_script.lua 66aa28b234 Add a bad lua script and a bad lua page for test purposes %!s(int64=9) %!d(string=hai) anos
civetweb_check.h acdec461ab Disable `Microsoft does not like standard C library functions` warning for all tests %!s(int64=9) %!d(string=hai) anos
cors.html 7a366c45b2 CORS test should work with default port 8080 %!s(int64=10) %!d(string=hai) anos
cors.reply.html c498dde851 Add cross-origin resource sharing (CORS) test %!s(int64=11) %!d(string=hai) anos
cors.reply.lua 1e3d8ff8ca Full CORS support for dynamic resources %!s(int64=11) %!d(string=hai) anos
cors.reply.shtml c62ded82e8 CORS for SSI pages %!s(int64=11) %!d(string=hai) anos
embed.c ec9d5413a8 replace Windows CRLF with Unix newline %!s(int64=10) %!d(string=hai) anos
env.cgi da75a62a32 More tests %!s(int64=13) %!d(string=hai) anos
error.lua b5da6dbcaa Lua error handler for all errors %!s(int64=11) %!d(string=hai) anos
error404.htm 4b0bfbb55b Error4xx page should be an error404 page. The error 403 (e.g., list a directory if enable_directory_listing no is configured) will show the error.lua page %!s(int64=11) %!d(string=hai) anos
exit.lua 1473a00ce2 Add Lua script to exit the server %!s(int64=9) %!d(string=hai) anos
exploit.pl cd94fb9bdc Changed exec permissions on perl test programs %!s(int64=11) %!d(string=hai) anos
form.html 50c2f4f11f Fix example for form handling and file upload in Lua (example for #70) %!s(int64=10) %!d(string=hai) anos
handle_form.lua 8dea7de0c4 Dump file content as hex in handle_form example %!s(int64=10) %!d(string=hai) anos
hello.cgi a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
hello.txt a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
hello_gz.txt.gz 94b38ccc65 Add zipped test file %!s(int64=10) %!d(string=hai) anos
hello_gz_unzipped.txt 94b38ccc65 Add zipped test file %!s(int64=10) %!d(string=hai) anos
html_esc.lua d8adb70f43 Character encoding converstion functions for Lua (as test/example) %!s(int64=11) %!d(string=hai) anos
linux.cgi a3d71a0a0c Show CGI variables in Linux mini-CGI shell script %!s(int64=10) %!d(string=hai) anos
linux_fail.cgi c9bb894b84 Redirect stderr of CGI process to error log (Step 3/3) %!s(int64=10) %!d(string=hai) anos
linux_fail_silent.cgi c9bb894b84 Redirect stderr of CGI process to error log (Step 3/3) %!s(int64=10) %!d(string=hai) anos
lua_preload_file.lua 4f3c267731 Add test for lua_preload_file %!s(int64=11) %!d(string=hai) anos
main.c 4de9090577 Apply revised clang-format (#207) to all actively maintained source files %!s(int64=9) %!d(string=hai) anos
page.lp 5e9859510b Add documentation on the working path used for Lua scripts %!s(int64=10) %!d(string=hai) anos
page.lua 5e9859510b Add documentation on the working path used for Lua scripts %!s(int64=10) %!d(string=hai) anos
page.ssjs 4189a556ab Fix Duktape test: rename function in test %!s(int64=9) %!d(string=hai) anos
page2.lp 533eac37cd Add library test for Lua5.3 %!s(int64=10) %!d(string=hai) anos
page2.lua 533eac37cd Add library test for Lua5.3 %!s(int64=10) %!d(string=hai) anos
page2.ssjs e9860d7180 Duktape example: show content of civetweb specific javascript objects %!s(int64=9) %!d(string=hai) anos
page3.lua 9bb13c9232 Add parameter checking in var_get %!s(int64=11) %!d(string=hai) anos
page3.ssjs 9a9a424511 Duktape: Add http_headers %!s(int64=9) %!d(string=hai) anos
page4.lua 65c83fa8a6 get_response_code_text for Lua %!s(int64=10) %!d(string=hai) anos
page_keep_alive.lua aae7646e90 Cache control (see also #201) (Step 1/?) %!s(int64=9) %!d(string=hai) anos
page_keep_alive_chunked.lua aae7646e90 Cache control (see also #201) (Step 1/?) %!s(int64=9) %!d(string=hai) anos
passfile a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
prime.ssjs 799a8e0f19 Duktape: Store connection object as internal property on the Ecmascript function object %!s(int64=9) %!d(string=hai) anos
private.c 3082e09033 Adapt unit test for rewritten alloc_vprintf function %!s(int64=9) %!d(string=hai) anos
private.h 622ea2f659 Clang-Format every source file %!s(int64=10) %!d(string=hai) anos
private_exe.c bbbe470d9f Unit tests: rename all test case instances %!s(int64=9) %!d(string=hai) anos
private_exe.h 4de9090577 Apply revised clang-format (#207) to all actively maintained source files %!s(int64=9) %!d(string=hai) anos
public_func.c bbbe470d9f Unit tests: rename all test case instances %!s(int64=9) %!d(string=hai) anos
public_func.h 57e0bcb743 Split public unit test into server tests and function tests (Step 2) %!s(int64=10) %!d(string=hai) anos
public_server.c bbbe470d9f Unit tests: rename all test case instances %!s(int64=9) %!d(string=hai) anos
public_server.h 57e0bcb743 Split public unit test into server tests and function tests (Step 2) %!s(int64=10) %!d(string=hai) anos
require_test.lua a9cdd7960c Test 'require' of other Lua libs %!s(int64=11) %!d(string=hai) anos
resource_script_demo.lua e497dd34f8 Test for chunked transfer encoding (#95, #98) %!s(int64=10) %!d(string=hai) anos
shared.c 4de9090577 Apply revised clang-format (#207) to all actively maintained source files %!s(int64=9) %!d(string=hai) anos
shared.h 4de9090577 Apply revised clang-format (#207) to all actively maintained source files %!s(int64=9) %!d(string=hai) anos
ssi1.shtml e003236a03 Made SSI #include file= relative to the current doc, as per spec %!s(int64=12) %!d(string=hai) anos
ssi2.shtml a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
ssi3.shtml a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
ssi4.shtml a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
ssi5.shtml e003236a03 Made SSI #include file= relative to the current doc, as per spec %!s(int64=12) %!d(string=hai) anos
ssi6.shtml e003236a03 Made SSI #include file= relative to the current doc, as per spec %!s(int64=12) %!d(string=hai) anos
ssi7.shtml a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
ssi8.shtml a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
ssi9.shtml e003236a03 Made SSI #include file= relative to the current doc, as per spec %!s(int64=12) %!d(string=hai) anos
syntax_error.ssjs 9308cbd16d Duktape: Create 'conn' object with 'read' and 'write' function %!s(int64=9) %!d(string=hai) anos
test.ico 32cbb48710 Allow to specify title and tray icon for the Windows standalone server %!s(int64=11) %!d(string=hai) anos
test.pl cd94fb9bdc Changed exec permissions on perl test programs %!s(int64=11) %!d(string=hai) anos
testclient.c 6620783911 testclient.c: fix format qualifier use %i for int var %!s(int64=10) %!d(string=hai) anos
timeout.cgi 08bf149d85 timeout.cgi test sometimes failed. %!s(int64=14) %!d(string=hai) anos
unit_test.c ac3968c850 Add patch of pull request #196 to unit_test.c %!s(int64=10) %!d(string=hai) anos
websocket.lua ed72d40adf Websocket test should support WSS %!s(int64=11) %!d(string=hai) anos
websocket.xhtml 1a273e421d Fix for issue #77 (Step 1/?) %!s(int64=10) %!d(string=hai) anos
windows.cgi ceb5f39461 Add CGI test for windows, that does not need an extra interpreter %!s(int64=10) %!d(string=hai) anos
windows.cgi.cmd 1286e26b43 Windows minimal CGI test: HTTP method and status code are sent by the framework and windows.cgi.cmd must be in the PATH %!s(int64=10) %!d(string=hai) anos
windows_fail.cgi d8adf7d640 Redirect stderr of CGI process to error log (Step 2/3) %!s(int64=10) %!d(string=hai) anos
windows_fail.cgi.cmd d8adf7d640 Redirect stderr of CGI process to error log (Step 2/3) %!s(int64=10) %!d(string=hai) anos
windows_fail_silent.cgi d8adf7d640 Redirect stderr of CGI process to error log (Step 2/3) %!s(int64=10) %!d(string=hai) anos
windows_fail_silent.cgi.cmd d8adf7d640 Redirect stderr of CGI process to error log (Step 2/3) %!s(int64=10) %!d(string=hai) anos
x.php 771ce9059c added %!s(int64=12) %!d(string=hai) anos

README.md

Testing

C API

The unit tests leverage the CTest and Check frameworks to provide a easy environment to build up unit tests. They are split into Public and Private test suites reflecting the public and internal API functions of civetweb.

When adding new functionality to civetweb tests should be written so that the new functionality will be tested across the continuous build servers. There are various levels of the unit tests:

  • Tests are included in
  • Test Cases which are there are multiple in
  • Test Suites which are ran by the check framework by
  • civetweb-unit-tests which is driven using the --suite and --test-case arguments by
  • CTest via add_test in CMakeLists.txt

Each test suite and test case is ran individually by CTest so that it provides good feedback to the continuous integration servers and also CMake. Adding a new test case or suite will require the corresponding add_test driver to be added to CMakeLists.txt