FreeRDP
Loading...
Searching...
No Matches
TestFreeRDPProxyConfig.c
1#include <winpr/wtypes.h>
2#include <winpr/file.h>
3#include <winpr/path.h>
4#include <freerdp/server/proxy/proxy_config.h>
5
6static bool runconf(proxyConfig* config)
7{
8 bool rc = false;
9 if (!config)
10 goto fail;
11
12 // TODO: Add more checks
13 rc = true;
14fail:
16 return rc;
17}
18
19static bool runtest(const char* filename)
20{
21 proxyConfig* fconfig = pf_server_config_load_file(filename);
22 return runconf(fconfig);
23}
24
25int TestFreeRDPProxyConfig(WINPR_ATTR_UNUSED int argc, WINPR_ATTR_UNUSED char* argv[])
26{
27 int rc = -1;
28 HANDLE hFind = INVALID_HANDLE_VALUE;
29 char* tests = GetCombinedPath(CMAKE_CURRENT_SOURCE_DIR, "conf");
30 if (!tests)
31 return -1;
32
33 char* search = GetCombinedPath(tests, "*");
34 if (!search)
35 goto fail;
36
37 WIN32_FIND_DATAA FindData = WINPR_C_ARRAY_INIT;
38
39 hFind = FindFirstFileA(search, &FindData);
40 free(search);
41
42 if (hFind == INVALID_HANDLE_VALUE)
43 {
44 printf("FindFirstFile failure: %s (INVALID_HANDLE_VALUE -1)\n", tests);
45 goto fail;
46 }
47
48 do
49 {
50 printf("FindFirstFile: %s\n", FindData.cFileName);
51 if ((strcmp(".", FindData.cFileName) == 0) || (strcmp("..", FindData.cFileName) == 0))
52 continue;
53
54 char* file = GetCombinedPath(tests, FindData.cFileName);
55 if (!file)
56 goto fail;
57 const bool res = runtest(file);
58 free(file);
59 if (!res)
60 goto fail;
61 } while (FindNextFileA(hFind, &FindData));
62
63 rc = 0;
64fail:
65 if (hFind != INVALID_HANDLE_VALUE)
66 FindClose(hFind);
67
68 free(tests);
69 return rc;
70}
FREERDP_API void pf_server_config_free(proxyConfig *config)
pf_server_config_free Releases all resources associated with proxyConfig
Definition pf_config.c:1030
FREERDP_API proxyConfig * pf_server_config_load_file(const char *path)
pf_server_config_load_file Create a proxyConfig from a INI file found at path.
Definition pf_config.c:915