test/main.c

branch
dav-2
changeset 902
06fa328989ee
parent 901
271103d11d55
--- a/test/main.c	Fri Jan 23 17:38:59 2026 +0100
+++ b/test/main.c	Sat Jan 24 13:56:19 2026 +0100
@@ -29,10 +29,15 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "wsgidav.h"
+
 #include "base64.h"
 #include "crypto.h"
 #include "utils.h"
 
+#include "webdav.h"
+#include "webdav_resource.h"
+
 #include <cx/test.h>
 
 int test_main(int argc, char **argv);
@@ -47,11 +52,18 @@
 }
 #endif
 
-int test_main(int argc, char **argv) { 
-    printf("libidav tests\n");
-    printf("-------------\n\n");
+int test_main(int argc, char **argv) {   
+    int dav_client_tests = wsgidav_is_available();
+    if(!dav_client_tests) {
+        printf("wsgidav not available: skipping some libidav webdav tests\n");
+    } else {
+        if(wsgidav_start()) {
+            printf("Error: wsgidav_start failed: skipping some libidav webdav tests\n");
+            dav_client_tests = 0;
+        }
+    }
     
-    CxTestSuite* suite = cx_test_suite_new("libidav");
+    CxTestSuite* suite = cx_test_suite_new("libidav basic");
     
     cx_test_register(suite, test_util_base64decode);
     cx_test_register(suite, test_util_base64decode_len);
@@ -70,9 +82,22 @@
     cx_test_register(suite, test_util_path_normalize);
     cx_test_register(suite, test_util_parent_path);
     
+    CxTestSuite* suite_webdav = cx_test_suite_new("libidav webdav");
+    test_webdav_init();
+    if(dav_client_tests) {
+        cx_test_register(suite_webdav, test_dav_load_webdav);
+    }
+    
     cx_test_run_stdout(suite);
     cx_test_suite_free(suite);
     
+    cx_test_run_stdout(suite_webdav);
+    cx_test_suite_free(suite_webdav);
+    
+    if(dav_client_tests) {
+        wsgidav_stop();
+    }
+    
     return 0;
 }
     

mercurial