Added support to run regression tests without libxml2

- Annotated regression tests that depend on libxml2 support
- Added Windows build without libxml2
This commit is contained in:
Eduardo Arias 2024-05-15 06:34:34 -07:00
parent 124a434439
commit 7267c1dc21
10 changed files with 24 additions and 3 deletions

View File

@ -84,6 +84,7 @@ jobs:
- {label: "full", opt: "" } - {label: "full", opt: "" }
- {label: "wo lmdb", opt: "-DWITHOUT_LMDB=ON" } - {label: "wo lmdb", opt: "-DWITHOUT_LMDB=ON" }
- {label: "wo lua", opt: "-DWITHOUT_LUA=ON" } - {label: "wo lua", opt: "-DWITHOUT_LUA=ON" }
- {label: "wo libxml2", opt: "-WITHOUT_LIBXML2=ON" }
- {label: "wo maxmind", opt: "-DWITHOUT_MAXMIND=ON" } - {label: "wo maxmind", opt: "-DWITHOUT_MAXMIND=ON" }
- {label: "wo curl", opt: "-DWITHOUT_CURL=ON" } - {label: "wo curl", opt: "-DWITHOUT_CURL=ON" }
steps: steps:

View File

@ -486,15 +486,12 @@ int main(int argc, char **argv) {
#if defined(WITH_GEOIP) or defined(WITH_MAXMIND) #if defined(WITH_GEOIP) or defined(WITH_MAXMIND)
resources.push_back("geoip-or-maxmind"); resources.push_back("geoip-or-maxmind");
#endif #endif
#if defined(WITH_MAXMIND) #if defined(WITH_MAXMIND)
resources.push_back("maxmind"); resources.push_back("maxmind");
#endif #endif
#if defined(WITH_GEOIP) #if defined(WITH_GEOIP)
resources.push_back("geoip"); resources.push_back("geoip");
#endif #endif
#ifdef WITH_CURL #ifdef WITH_CURL
resources.push_back("curl"); resources.push_back("curl");
#endif #endif
@ -504,6 +501,9 @@ int main(int argc, char **argv) {
#ifdef WITH_LUA #ifdef WITH_LUA
resources.push_back("lua"); resources.push_back("lua");
#endif #endif
#ifdef WITH_LIBXML2
resources.push_back("libxml2");
#endif
#ifdef NO_LOGS #ifdef NO_LOGS
std::cout << "Test utility cannot work without logging support." \ std::cout << "Test utility cannot work without logging support." \

View File

@ -2,6 +2,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing CtlRequestBodyProcessor=XML (1)", "title":"Testing CtlRequestBodyProcessor=XML (1)",
"expected":{ "expected":{
"debug_log": "Registered XML namespace href \"http://schemas.xmlsoap.org/soap/envelope/\" prefix \"soap\"" "debug_log": "Registered XML namespace href \"http://schemas.xmlsoap.org/soap/envelope/\" prefix \"soap\""
@ -71,6 +72,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing CtlRequestBodyProcessor=XML (2)", "title":"Testing CtlRequestBodyProcessor=XML (2)",
"expected":{ "expected":{
"debug_log": "Rule returned 0" "debug_log": "Rule returned 0"
@ -139,6 +141,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing CtlRequestBodyProcessor=XML (3)", "title":"Testing CtlRequestBodyProcessor=XML (3)",
"expected":{ "expected":{
"debug_log": "XML: Failed parsing document." "debug_log": "XML: Failed parsing document."

View File

@ -38,6 +38,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser (validate ok)", "title":"Testing XML request body parser (validate ok)",
"expected":{ "expected":{
"debug_log": "Target value: \"39.95\" \\(Variable: XML:\/bookstore\/book\/price\\[text\\(\\)\\]\\)" "debug_log": "Target value: \"39.95\" \\(Variable: XML:\/bookstore\/book\/price\\[text\\(\\)\\]\\)"

View File

@ -578,6 +578,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"SecRequestBodyNoFilesLimit - xml, limit exceeded", "title":"SecRequestBodyNoFilesLimit - xml, limit exceeded",
"client":{ "client":{
"ip":"200.249.12.31", "ip":"200.249.12.31",
@ -626,6 +627,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"SecRequestBodyNoFilesLimit - xml, limit not exceeded", "title":"SecRequestBodyNoFilesLimit - xml, limit not exceeded",
"client":{ "client":{
"ip":"200.249.12.31", "ip":"200.249.12.31",

View File

@ -2,6 +2,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing SecXMLExternalEntity/XXE 1", "title":"Testing SecXMLExternalEntity/XXE 1",
"expected":{ "expected":{
"debug_log": "Target value: \" jo smith\"" "debug_log": "Target value: \" jo smith\""
@ -47,6 +48,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing SecXMLExternalEntity/XXE 2", "title":"Testing SecXMLExternalEntity/XXE 2",
"expected":{ "expected":{
"debug_log": "XML: Failed to load DTD: test-cases/data/SoapEnvelope.dtd", "debug_log": "XML: Failed to load DTD: test-cases/data/SoapEnvelope.dtd",
@ -94,6 +96,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing SecXMLExternalEntity/XXE 3", "title":"Testing SecXMLExternalEntity/XXE 3",
"expected":{ "expected":{
"debug_log": "XML Error: No declaration for element bookstore", "debug_log": "XML Error: No declaration for element bookstore",

View File

@ -2,6 +2,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser - validateDTD (validate ok)", "title":"Testing XML request body parser - validateDTD (validate ok)",
"expected":{ "expected":{
"debug_log": "XML: Successfully validated payload against DTD: test-cases/data/SoapEnvelope.dtd" "debug_log": "XML: Successfully validated payload against DTD: test-cases/data/SoapEnvelope.dtd"
@ -47,6 +48,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser - validateDTD (validation failed)", "title":"Testing XML request body parser - validateDTD (validation failed)",
"expected":{ "expected":{
"debug_log": "XML Error: No declaration for element xBody", "debug_log": "XML Error: No declaration for element xBody",
@ -93,6 +95,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser - validateDTD (bad XML)", "title":"Testing XML request body parser - validateDTD (bad XML)",
"expected":{ "expected":{
"debug_log": "XML: DTD validation failed because content is not well formed", "debug_log": "XML: DTD validation failed because content is not well formed",
@ -139,6 +142,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser - validateDTD (bad DTD)", "title":"Testing XML request body parser - validateDTD (bad DTD)",
"expected":{ "expected":{
"debug_log": "Failed to load DTD: test-cases/data/SoapEnvelope-bad.dtd", "debug_log": "Failed to load DTD: test-cases/data/SoapEnvelope-bad.dtd",

View File

@ -2,6 +2,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser (validate ok)", "title":"Testing XML request body parser (validate ok)",
"expected":{ "expected":{
"debug_log": "XML: Successfully validated payload against Schema:" "debug_log": "XML: Successfully validated payload against Schema:"
@ -51,6 +52,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser (validate attribute value failed)", "title":"Testing XML request body parser (validate attribute value failed)",
"expected":{ "expected":{
"debug_log": "'badval' is not a valid value of the local atomic type", "debug_log": "'badval' is not a valid value of the local atomic type",
@ -101,6 +103,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser (validate failed)", "title":"Testing XML request body parser (validate failed)",
"expected":{ "expected":{
"debug_log": "This element is not expected. Expected is one of", "debug_log": "This element is not expected. Expected is one of",
@ -151,6 +154,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser (bad XML)", "title":"Testing XML request body parser (bad XML)",
"expected":{ "expected":{
"debug_log": "XML Error: Element '{http://schemas.xmlsoap.org/soap/envelope/}xBody'", "debug_log": "XML Error: Element '{http://schemas.xmlsoap.org/soap/envelope/}xBody'",
@ -201,6 +205,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XML request body parser (bad schema)", "title":"Testing XML request body parser (bad schema)",
"expected":{ "expected":{
"debug_log": "XML: Failed to load Schema: test-cases/data/SoapEnvelope-bad.xsd. XML Error: Failed to parse the XML resource 'test-cases/data/SoapEnvelope-bad.xsd", "debug_log": "XML: Failed to load Schema: test-cases/data/SoapEnvelope-bad.xsd. XML Error: Failed to parse the XML resource 'test-cases/data/SoapEnvelope-bad.xsd",

View File

@ -2,6 +2,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing Variables :: REQBODY_PROCESSOR_ERROR_MSG (1/2)", "title":"Testing Variables :: REQBODY_PROCESSOR_ERROR_MSG (1/2)",
"client":{ "client":{
"ip":"200.249.12.31", "ip":"200.249.12.31",

View File

@ -2,6 +2,7 @@
{ {
"enabled":1, "enabled":1,
"version_min":300000, "version_min":300000,
"resource":"libxml2",
"title":"Testing XPath expression with equals sign", "title":"Testing XPath expression with equals sign",
"expected":{ "expected":{
"http_code": 403 "http_code": 403