From 237bdc6a97c0dd455da99c16e6b3b7cac4c79e86 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 2 Sep 2022 16:12:42 -0500 Subject: Add WixCanRestart and make wixstdba elevate for restart when required. Fixes 5499 --- src/libs/dutil/test/DUtilUnitTest/ProcUtilTest.cpp | 28 ++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'src/libs/dutil/test/DUtilUnitTest/ProcUtilTest.cpp') diff --git a/src/libs/dutil/test/DUtilUnitTest/ProcUtilTest.cpp b/src/libs/dutil/test/DUtilUnitTest/ProcUtilTest.cpp index 297d90f4..8672ed38 100644 --- a/src/libs/dutil/test/DUtilUnitTest/ProcUtilTest.cpp +++ b/src/libs/dutil/test/DUtilUnitTest/ProcUtilTest.cpp @@ -6,6 +6,7 @@ using namespace System; using namespace System::Security::Principal; using namespace Xunit; using namespace WixBuildTools::TestSupport; +using namespace WixBuildTools::TestSupport::XunitExtensions; namespace DutilTests { @@ -13,7 +14,7 @@ namespace DutilTests { public: [Fact] - void ProcTokenUserTest() + void ProcGetTokenInformationTest() { HRESULT hr = S_OK; TOKEN_USER* pTokenUser = NULL; @@ -21,7 +22,7 @@ namespace DutilTests try { - hr = ProcTokenUser(::GetCurrentProcess(), &pTokenUser); + hr = ProcGetTokenInformation(::GetCurrentProcess(), TokenUser, reinterpret_cast(&pTokenUser)); NativeAssert::Succeeded(hr, "Failed to get TokenUser for current process."); if (!::ConvertSidToStringSidW(pTokenUser->User.Sid, &sczSid)) @@ -38,5 +39,28 @@ namespace DutilTests ReleaseStr(sczSid); } } + + [SkippableFact] + void ProcHasPrivilegeTest() + { + HRESULT hr = S_OK; + BOOL fHasPrivilege = FALSE; + + hr = ProcHasPrivilege(::GetCurrentProcess(), SE_CREATE_TOKEN_NAME, &fHasPrivilege); + NativeAssert::Succeeded(hr, "Failed to check privilege for current process."); + + if (fHasPrivilege) + { + WixAssert::Skip("Didn't expect process to have SE_CREATE_TOKEN_NAME privilege"); + } + + hr = ProcHasPrivilege(::GetCurrentProcess(), SE_INC_WORKING_SET_NAME, &fHasPrivilege); + NativeAssert::Succeeded(hr, "Failed to check privilege for current process."); + + if (!fHasPrivilege) + { + WixAssert::Skip("Expected process to have SE_INC_WORKING_SET_NAME privilege"); + } + } }; } -- cgit v1.2.3-55-g6feb