1 /* Copyright (c) 2015-2018 the Civetweb developers 2 * 3 * Permission is hereby granted, free of charge, to any person obtaining a copy 4 * of this software and associated documentation files (the "Software"), to deal 5 * in the Software without restriction, including without limitation the rights 6 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 * copies of the Software, and to permit persons to whom the Software is 8 * furnished to do so, subject to the following conditions: 9 * 10 * The above copyright notice and this permission notice shall be included in 11 * all copies or substantial portions of the Software. 12 * 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 * THE SOFTWARE. 20 */ 21 #ifndef TEST_CIVETWEB_CHECK_H_ 22 #define TEST_CIVETWEB_CHECK_H_ 23 24 #ifdef __clang__ 25 #pragma clang diagnostic push 26 // FIXME: check uses GCC specific variadic macros that are non-standard 27 #pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments" 28 #endif 29 30 #if defined(__MINGW__) || defined(__GNUC__) 31 #pragma GCC diagnostic push 32 #pragma GCC diagnostic ignored "-Wall" 33 /* Disable warnings for defining _CRT_SECURE_NO_* (here) and 34 * _CHECK_CHECK_STDINT_H (in check.h) 35 */ 36 /* Disable until Warning returns to Travis CI or AppVeyor 37 #pragma GCC diagnostic ignored "-Wunknown-pragmas" 38 #pragma GCC diagnostic ignored "-Wno-variadic-macros" 39 #pragma GCC diagnostic ignored "-Wreserved-id-macro" 40 */ 41 #endif 42 43 #ifdef _MSC_VER 44 #undef pid_t 45 #define pid_t int 46 /* Unreferenced formal parameter. START_TEST has _i */ 47 #pragma warning(disable : 4100) 48 /* conditional expression is constant . asserts use while(0) */ 49 #pragma warning(disable : 4127) 50 #endif 51 #include <stdint.h> 52 53 /* All unit tests use the "check" framework. 54 * Download from https://libcheck.github.io/check/ 55 */ 56 #include "check.h" 57 58 #if (CHECK_MINOR_VERSION < 11) 59 #ifndef LOCAL_TEST 60 #error "CivetWeb unit tests require at least check 0.11.0" 61 #endif 62 #endif 63 64 #ifdef __clang__ 65 #pragma clang diagnostic pop 66 #endif 67 68 #if !defined(_CRT_SECURE_NO_WARNINGS) 69 #define _CRT_SECURE_NO_WARNINGS 70 #endif 71 #if !defined(_CRT_SECURE_NO_DEPRECATE) 72 #define _CRT_SECURE_NO_DEPRECATE 73 #endif 74 75 #if defined(__MINGW__) || defined(__GNUC__) 76 #pragma GCC diagnostic pop 77 #endif 78 79 #ifdef __clang__ 80 /* When using -Weverything, clang does not accept it's own headers 81 * in a release build configuration. Disable what is too much in 82 * -Weverything. */ 83 #pragma clang diagnostic ignored "-Wdisabled-macro-expansion" 84 #endif 85 86 /* A minimal timeout used for all tests with the "check" framework. */ 87 #define civetweb_min_test_timeout (30) 88 89 /* A minimal timeout for all tests starting a server. */ 90 #define civetweb_min_server_test_timeout (civetweb_min_test_timeout + 30) 91 92 /* A default timeout for all tests running multiple requests to a server. */ 93 #define civetweb_mid_server_test_timeout \ 94 (civetweb_min_server_test_timeout + 180) 95 96 #endif /* TEST_CIVETWEB_CHECK_H_ */ 97