Hans Leidekker : pdh: Add tests for PdhValidatePath{, Ex}{A, W}.
Module: wine Branch: master Commit: 9209582048edd1e60833cdb6fd183e217a019847 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9209582048edd1e60833cdb6fd... Author: Hans Leidekker <hans(a)it.vu.nl> Date: Sat Sep 29 21:06:07 2007 +0200 pdh: Add tests for PdhValidatePath{, Ex}{A, W}. --- dlls/pdh/tests/pdh.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 108 insertions(+), 0 deletions(-) diff --git a/dlls/pdh/tests/pdh.c b/dlls/pdh/tests/pdh.c index 104589e..85b0853 100644 --- a/dlls/pdh/tests/pdh.c +++ b/dlls/pdh/tests/pdh.c @@ -32,6 +32,8 @@ static HMODULE pdh; static PDH_STATUS (WINAPI *pPdhAddEnglishCounterA)(PDH_HQUERY, LPCSTR, DWORD_PTR, PDH_HCOUNTER *); static PDH_STATUS (WINAPI *pPdhAddEnglishCounterW)(PDH_HQUERY, LPCWSTR, DWORD_PTR, PDH_HCOUNTER *); static PDH_STATUS (WINAPI *pPdhCollectQueryDataWithTime)(PDH_HQUERY, LONGLONG *); +static PDH_STATUS (WINAPI *pPdhValidatePathExA)(PDH_HLOG, LPCSTR); +static PDH_STATUS (WINAPI *pPdhValidatePathExW)(PDH_HLOG, LPCWSTR); #define GETFUNCPTR(func) p##func = (void *)GetProcAddress( pdh, #func ); @@ -41,6 +43,8 @@ static void init_function_ptrs( void ) GETFUNCPTR( PdhAddEnglishCounterA ) GETFUNCPTR( PdhAddEnglishCounterW ) GETFUNCPTR( PdhCollectQueryDataWithTime ) + GETFUNCPTR( PdhValidatePathExA ) + GETFUNCPTR( PdhValidatePathExW ) } static const WCHAR processor_time[] = @@ -695,6 +699,104 @@ static void test_PdhLookupPerfNameByIndexW( void ) ok(size == sizeof(uptime) / sizeof(WCHAR), "PdhLookupPerfNameByIndexW failed %d\n", size); } +static void test_PdhValidatePathA( void ) +{ + PDH_STATUS ret; + + ret = PdhValidatePathA( NULL ); + ok(ret == PDH_INVALID_ARGUMENT, "PdhValidatePathA failed 0x%08x\n", ret); + + ret = PdhValidatePathA( "" ); + ok(ret == PDH_INVALID_ARGUMENT, "PdhValidatePathA failed 0x%08x\n", ret); + + ret = PdhValidatePathA( "\\System" ); + ok(ret == PDH_CSTATUS_BAD_COUNTERNAME, "PdhValidatePathA failed 0x%08x\n", ret); + + ret = PdhValidatePathA( "System Up Time" ); + ok(ret == PDH_CSTATUS_BAD_COUNTERNAME, "PdhValidatePathA failed 0x%08x\n", ret); + + ret = PdhValidatePathA( "\\System\\System Down Time" ); + ok(ret == PDH_CSTATUS_NO_COUNTER, "PdhValidatePathA failed 0x%08x\n", ret); + + ret = PdhValidatePathA( "\\System\\System Up Time" ); + ok(ret == ERROR_SUCCESS, "PdhValidatePathA failed 0x%08x\n", ret); +} + +static void test_PdhValidatePathW( void ) +{ + PDH_STATUS ret; + + static const WCHAR empty[] = {0}; + static const WCHAR system[] = {'\\','S','y','s','t','e','m',0}; + + ret = PdhValidatePathW( NULL ); + ok(ret == PDH_INVALID_ARGUMENT, "PdhValidatePathW failed 0x%08x\n", ret); + + ret = PdhValidatePathW( empty ); + ok(ret == PDH_INVALID_ARGUMENT, "PdhValidatePathW failed 0x%08x\n", ret); + + ret = PdhValidatePathW( system ); + ok(ret == PDH_CSTATUS_BAD_COUNTERNAME, "PdhValidatePathW failed 0x%08x\n", ret); + + ret = PdhValidatePathW( uptime ); + ok(ret == PDH_CSTATUS_BAD_COUNTERNAME, "PdhValidatePathW failed 0x%08x\n", ret); + + ret = PdhValidatePathW( system_downtime ); + ok(ret == PDH_CSTATUS_NO_COUNTER, "PdhValidatePathW failed 0x%08x\n", ret); + + ret = PdhValidatePathW( system_uptime ); + ok(ret == ERROR_SUCCESS, "PdhValidatePathW failed 0x%08x\n", ret); +} + +static void test_PdhValidatePathExA( void ) +{ + PDH_STATUS ret; + + ret = pPdhValidatePathExA( NULL, NULL ); + ok(ret == PDH_INVALID_ARGUMENT, "PdhValidatePathExA failed 0x%08x\n", ret); + + ret = pPdhValidatePathExA( NULL, "" ); + ok(ret == PDH_INVALID_ARGUMENT, "PdhValidatePathExA failed 0x%08x\n", ret); + + ret = pPdhValidatePathExA( NULL, "\\System" ); + ok(ret == PDH_CSTATUS_BAD_COUNTERNAME, "PdhValidatePathExA failed 0x%08x\n", ret); + + ret = pPdhValidatePathExA( NULL, "System Up Time" ); + ok(ret == PDH_CSTATUS_BAD_COUNTERNAME, "PdhValidatePathExA failed 0x%08x\n", ret); + + ret = pPdhValidatePathExA( NULL, "\\System\\System Down Time" ); + ok(ret == PDH_CSTATUS_NO_COUNTER, "PdhValidatePathExA failed 0x%08x\n", ret); + + ret = pPdhValidatePathExA( NULL, "\\System\\System Up Time" ); + ok(ret == ERROR_SUCCESS, "PdhValidatePathExA failed 0x%08x\n", ret); +} + +static void test_PdhValidatePathExW( void ) +{ + PDH_STATUS ret; + + static const WCHAR empty[] = {0}; + static const WCHAR system[] = {'\\','S','y','s','t','e','m',0}; + + ret = pPdhValidatePathExW( NULL, NULL ); + ok(ret == PDH_INVALID_ARGUMENT, "PdhValidatePathExW failed 0x%08x\n", ret); + + ret = pPdhValidatePathExW( NULL, empty ); + ok(ret == PDH_INVALID_ARGUMENT, "PdhValidatePathExW failed 0x%08x\n", ret); + + ret = pPdhValidatePathExW( NULL, system ); + ok(ret == PDH_CSTATUS_BAD_COUNTERNAME, "PdhValidatePathExW failed 0x%08x\n", ret); + + ret = pPdhValidatePathExW( NULL, uptime ); + ok(ret == PDH_CSTATUS_BAD_COUNTERNAME, "PdhValidatePathExW failed 0x%08x\n", ret); + + ret = pPdhValidatePathExW( NULL, system_downtime ); + ok(ret == PDH_CSTATUS_NO_COUNTER, "PdhValidatePathExW failed 0x%08x\n", ret); + + ret = pPdhValidatePathExW( NULL, system_uptime ); + ok(ret == ERROR_SUCCESS, "PdhValidatePathExW failed 0x%08x\n", ret); +} + START_TEST(pdh) { init_function_ptrs(); @@ -722,4 +824,10 @@ START_TEST(pdh) test_PdhLookupPerfNameByIndexA(); test_PdhLookupPerfNameByIndexW(); + + test_PdhValidatePathA(); + test_PdhValidatePathW(); + + if (pPdhValidatePathExA) test_PdhValidatePathExA(); + if (pPdhValidatePathExW) test_PdhValidatePathExW(); }
participants (1)
-
Alexandre Julliard