#!/bin/sh rm -f gmid.pid . ./lib.sh . ./tests.sh trap 'onexit' INT TERM EXIT if [ $# -ne 0 ]; then while [ $# -ne 0 ]; do run_test $1 shift done tests_done fi # Run standalone unit tests. run_test test_punycode run_test test_iri run_test test_gg_n_flag # Run configuration parsing tests. run_test test_parse_comments_at_start run_test test_dump_config if [ "${SKIP_RUNTIME_TESTS:-0}" -eq 1 ]; then echo echo "======================" echo "runtime tests skipped!" echo "======================" echo tests_done fi # Run regression tests for the gemexp binary. run_test test_gemexp # Run regression tests for the gmid binary. run_test test_static_files run_test test_alias run_test test_alias_long_hostname run_test test_directory_redirect run_test test_serve_big_files run_test test_dont_execute_scripts run_test test_custom_mime run_test test_default_type run_test test_custom_lang run_test test_parse_custom_lang_per_location run_test test_custom_index run_test test_custom_index_default_type_per_location run_test test_auto_index run_test test_block run_test test_block_return_fmt run_test test_require_client_ca run_test test_root_inside_location run_test test_root_inside_location_with_redirect run_test test_fastcgi run_test test_fastcgi_inside_location run_test test_fastcgi_location_match run_test test_fastcgi_deprecated_syntax run_test test_macro_expansion run_test test_proxy_relay_to run_test test_proxy_with_certs # run_test test_unknown_host # XXX: breaks on some distro run_test test_include_mime run_test test_log_file run_test test_ipv4_addr run_test test_ipv6_addr need_ipv6 run_test test_ipv6_server need_ipv6 run_test test_high_prefork run_test test_proxy_protocol_v1 # TODO: add test that uses only a TLSv1.2 or TLSv1.3 # TODO: add a test that attempt to serve a non-regular file # TODO: add a test where the index is not a regular file # TODO: add a test that logs and uses a client cert tests_done