bel2125 40c36423c2 Add Lua interface for new API function (#856) %!s(int64=5) %!d(string=hai) anos
..
ajax 3dfd5d58a9 Test: Update jquery library in test folder %!s(int64=6) %!d(string=hai) anos
canvasdir accd42698f Test: Add canvas test %!s(int64=7) %!d(string=hai) anos
cgidir 9e243206e6 Add test scripts for #768: Support CGI scripts with <LF> instead of <CRLF> %!s(int64=6) %!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
htmldir c899246d73 Test: make visible if CSS is loaded %!s(int64=7) %!d(string=hai) anos
imagetest a38e0d3492 [ImgBot] optimizes images %!s(int64=7) %!d(string=hai) anos
linux_shell_cgi ff061c96b0 Format code %!s(int64=6) %!d(string=hai) anos
luarest bc37b0bf75 Use RFC 4627 MIME type for JSON in examples %!s(int64=6) %!d(string=hai) anos
nonlatin d97bbdea35 Resolve merge conflict %!s(int64=5) %!d(string=hai) anos
protected b06c3f90da Rename parameter "domain" to "realm", to use the same parameter names %!s(int64=7) %!d(string=hai) anos
python_cgi ff061c96b0 Format code %!s(int64=6) %!d(string=hai) anos
scriptdir ac677235ce Add script dir test %!s(int64=7) %!d(string=hai) anos
svgdir 9753ec1df5 Test: Add SVG test %!s(int64=7) %!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 6d3cbb697f Update manual tests %!s(int64=9) %!d(string=hai) anos
HugeText.lua a9cdd7960c Test 'require' of other Lua libs %!s(int64=11) %!d(string=hai) anos
Image_2kB.png 939e4c00b2 Prefer *.gz file if it exists (#199) %!s(int64=6) %!d(string=hai) anos
Image_2kB.png.gz 939e4c00b2 Prefer *.gz file if it exists (#199) %!s(int64=6) %!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 8849e7f3ba More instrumentation for #519 %!s(int64=7) %!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
cgi_test.html 1b4b8b8fc7 Add HTML page for CGI test (#296) %!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 158e71c8e6 Add support for access_control_allow_headers %!s(int64=8) %!d(string=hai) anos
cors.reply.shtml c62ded82e8 CORS for SSI pages %!s(int64=11) %!d(string=hai) anos
delayed.cgi f0445b5de8 Code should be C89/C90 compliant, and add some CGI tests %!s(int64=7) %!d(string=hai) anos
donate.html 80353abe03 Add some local tests to the git repo %!s(int64=7) %!d(string=hai) anos
echo.lua 7539ab1172 Add websocket echo test %!s(int64=8) %!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
filehandler.lua aa6dd2f84e Add example for a Lua file handler %!s(int64=9) %!d(string=hai) anos
form.html b08b61d0d2 Alternative to mg_upload (Step 7/?) %!s(int64=9) %!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 f0445b5de8 Code should be C89/C90 compliant, and add some CGI tests %!s(int64=7) %!d(string=hai) anos
hello.shtml a2178b9045 New test for server side includes (SSI) %!s(int64=9) %!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 6d87359d6c Update LuaXML %!s(int64=5) %!d(string=hai) anos
json.lua 0f92ec4f75 Add {json.lua} for a test case %!s(int64=5) %!d(string=hai) anos
linux.cgi a6eb2d232f Linux shell scripts used as CGI process must still return \r\n at the end of header lines %!s(int64=9) %!d(string=hai) anos
linux_fail.cgi c9bb894b84 Redirect stderr of CGI process to error log (Step 3/3) %!s(int64=9) %!d(string=hai) anos
linux_fail_silent.cgi c9bb894b84 Redirect stderr of CGI process to error log (Step 3/3) %!s(int64=9) %!d(string=hai) anos
linux_stderr.cgi 1a7f248e23 Improve documentation and error messages for CGI %!s(int64=7) %!d(string=hai) anos
lua_preload_file.lua 4f3c267731 Add test for lua_preload_file %!s(int64=11) %!d(string=hai) anos
page.lp b02dd6ed8d Improve Lua database example %!s(int64=7) %!d(string=hai) anos
page.lua 38f705b416 Lua test: check return value of database open (demonstration for #601) %!s(int64=7) %!d(string=hai) anos
page.ssjs 4189a556ab Fix Duktape test: rename function in test %!s(int64=9) %!d(string=hai) anos
page1.lua 80353abe03 Add some local tests to the git repo %!s(int64=7) %!d(string=hai) anos
page2.lp 533eac37cd Add library test for Lua5.3 %!s(int64=9) %!d(string=hai) anos
page2.lua 40c36423c2 Add Lua interface for new API function (#856) %!s(int64=5) %!d(string=hai) anos
page2.ssjs e9860d7180 Duktape example: show content of civetweb specific javascript objects %!s(int64=9) %!d(string=hai) anos
page3.lp 53144a0904 Add test page for mg.include %!s(int64=8) %!d(string=hai) anos
page3.lua 80353abe03 Add some local tests to the git repo %!s(int64=7) %!d(string=hai) anos
page3.ssjs 9a9a424511 Duktape: Add http_headers %!s(int64=9) %!d(string=hai) anos
page3a.lp 5c0a223474 Lua Pages: mg.include should support absolute, relative and virtual path types %!s(int64=7) %!d(string=hai) anos
page3a.lua b814d5f526 Test: add an alternative test case for query string processing in Lua %!s(int64=7) %!d(string=hai) anos
page3r.lp 5c0a223474 Lua Pages: mg.include should support absolute, relative and virtual path types %!s(int64=7) %!d(string=hai) anos
page3v.lp 5c0a223474 Lua Pages: mg.include should support absolute, relative and virtual path types %!s(int64=7) %!d(string=hai) anos
page4.lp 467b1b07c5 Support additional Lua syntax %!s(int64=7) %!d(string=hai) anos
page4.lua 6d87359d6c Update LuaXML %!s(int64=5) %!d(string=hai) anos
page4kepler.lp cf0db0d823 Allow Kepler Syntax for Lua Server pages (part 6/?) %!s(int64=7) %!d(string=hai) anos
page5.lua f030c1c71e Add very simple test page (created by Lua) %!s(int64=8) %!d(string=hai) anos
page6.lua d0fac166e5 Fix #ifdef error in unit test %!s(int64=7) %!d(string=hai) anos
page_error.lua db6c5943be mg.send_http_error for Lua %!s(int64=5) %!d(string=hai) anos
page_keep_alive.lua 6ed309a7ac Update link in test scripts %!s(int64=8) %!d(string=hai) anos
page_keep_alive_chunked.lua aae7646e90 Cache control (see also #201) (Step 1/?) %!s(int64=9) %!d(string=hai) anos
page_shared.lua b71b444228 Atomic functions for shared Lua (experimental) %!s(int64=7) %!d(string=hai) anos
page_status.lua 8ccd6f7270 Convert system info text to JSON format %!s(int64=8) %!d(string=hai) anos
passfile a69a2da39d Initial import - converting from Subversion. %!s(int64=15) %!d(string=hai) anos
preload.lua 3a84b59572 Add debug print to lua_preload example file %!s(int64=7) %!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
pytest.linux.cgi e16c39cc79 Add pyton test script %!s(int64=7) %!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
ssi_test.shtml a2178b9045 New test for server side includes (SSI) %!s(int64=9) %!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
timeout.cgi 08bf149d85 timeout.cgi test sometimes failed. %!s(int64=14) %!d(string=hai) anos
websocket.lua 08e7ad7c76 Declare all variables at begin of the block, to comply with old C standards. %!s(int64=7) %!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=9) %!d(string=hai) anos
windows_fail.cgi.cmd d8adf7d640 Redirect stderr of CGI process to error log (Step 2/3) %!s(int64=9) %!d(string=hai) anos
windows_fail_silent.cgi d8adf7d640 Redirect stderr of CGI process to error log (Step 2/3) %!s(int64=9) %!d(string=hai) anos
windows_fail_silent.cgi.cmd d8adf7d640 Redirect stderr of CGI process to error log (Step 2/3) %!s(int64=9) %!d(string=hai) anos
ws_status.lua bd2e80ca53 Prepare data for server status (Step 20/?) (See #243) %!s(int64=8) %!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