From: Sebastian Lackner Subject: [2/2] kernel32/tests: Add tests for JobObjectLimitInformation info classes. Message-Id: <55BB0C50.4050801@fds-team.de> Date: Fri, 31 Jul 2015 07:49:04 +0200 --- dlls/kernel32/tests/process.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c index 9f62e13..113ec35 100644 --- a/dlls/kernel32/tests/process.c +++ b/dlls/kernel32/tests/process.c @@ -2304,6 +2304,8 @@ static void test_QueryInformationJobObject(void) { char buf[FIELD_OFFSET(JOBOBJECT_BASIC_PROCESS_ID_LIST, ProcessIdList[5])]; PJOBOBJECT_BASIC_PROCESS_ID_LIST pid_list = (JOBOBJECT_BASIC_PROCESS_ID_LIST *)buf; + JOBOBJECT_EXTENDED_LIMIT_INFORMATION ext_limit_info; + JOBOBJECT_BASIC_LIMIT_INFORMATION *basic_limit_info = &ext_limit_info.BasicLimitInformation; DWORD dwret, ret_len; PROCESS_INFORMATION pi[2]; HANDLE job; @@ -2374,6 +2376,34 @@ static void test_QueryInformationJobObject(void) } } + /* test JobObjectBasicLimitInformation */ + ret = pQueryInformationJobObject(job, JobObjectBasicLimitInformation, basic_limit_info, + sizeof(*basic_limit_info) - 1, &ret_len); + ok(!ret, "QueryInformationJobObject expected failure\n"); + expect_eq_d(ERROR_BAD_LENGTH, GetLastError()); + + ret_len = 0xdeadbeef; + memset(basic_limit_info, 0x11, sizeof(*basic_limit_info)); + ret = pQueryInformationJobObject(job, JobObjectBasicLimitInformation, basic_limit_info, + sizeof(*basic_limit_info), &ret_len); + ok(ret, "QueryInformationJobObject error %u\n", GetLastError()); + ok(ret_len == sizeof(*basic_limit_info), "QueryInformationJobObject returned ret_len=%u\n", ret_len); + expect_eq_d(0, basic_limit_info->LimitFlags); + + /* test JobObjectExtendedLimitInformation */ + ret = pQueryInformationJobObject(job, JobObjectExtendedLimitInformation, &ext_limit_info, + sizeof(ext_limit_info) - 1, &ret_len); + ok(!ret, "QueryInformationJobObject expected failure\n"); + expect_eq_d(ERROR_BAD_LENGTH, GetLastError()); + + ret_len = 0xdeadbeef; + memset(&ext_limit_info, 0x11, sizeof(ext_limit_info)); + ret = pQueryInformationJobObject(job, JobObjectExtendedLimitInformation, &ext_limit_info, + sizeof(ext_limit_info), &ret_len); + ok(ret, "QueryInformationJobObject error %u\n", GetLastError()); + ok(ret_len == sizeof(ext_limit_info), "QueryInformationJobObject returned ret_len=%u\n", ret_len); + expect_eq_d(0, basic_limit_info->LimitFlags); + TerminateProcess(pi[0].hProcess, 0); CloseHandle(pi[0].hProcess); CloseHandle(pi[0].hThread); -- 2.5.0