public void Mutex_OpenExisting_PathNotFound() { string name = @"global\foo"; Assert.Throws <DirectoryNotFoundException>(() => { MutexAcl.OpenExisting(name, MutexRights.FullControl).Dispose(); }); Assert.False(MutexAcl.TryOpenExisting(name, MutexRights.FullControl, out _)); }
public void Mutex_OpenExisting_NameInvalid() { string name = '\0'.ToString(); Assert.Throws <WaitHandleCannotBeOpenedException>(() => { MutexAcl.OpenExisting(name, MutexRights.FullControl).Dispose(); }); Assert.False(MutexAcl.TryOpenExisting(name, MutexRights.FullControl, out _)); }
public void Mutex_OpenExisting_NameNotFound() { string name = "ThisShouldNotExist"; Assert.Throws <WaitHandleCannotBeOpenedException>(() => { MutexAcl.OpenExisting(name, MutexRights.FullControl).Dispose(); }); Assert.False(MutexAcl.TryOpenExisting(name, MutexRights.FullControl, out _)); }
public void Mutex_OpenExisting_EmptyName() { Assert.Throws <ArgumentException>(() => { MutexAcl.OpenExisting(string.Empty, MutexRights.FullControl).Dispose(); }); Assert.Throws <ArgumentException>(() => { MutexAcl.TryOpenExisting(string.Empty, MutexRights.FullControl, out _); }); }
public void Mutex_OpenExisting_NullName() { Assert.Throws <ArgumentNullException>(() => { MutexAcl.OpenExisting(null, MutexRights.FullControl).Dispose(); }); Assert.Throws <ArgumentNullException>(() => { MutexAcl.TryOpenExisting(null, MutexRights.FullControl, out _); }); }
public void Mutex_OpenExisting_BadPathName() { string name = @"\\?\Path"; Assert.Throws <System.IO.IOException>(() => { MutexAcl.OpenExisting(name, MutexRights.FullControl).Dispose(); }); Assert.Throws <System.IO.IOException>(() => { MutexAcl.TryOpenExisting(name, MutexRights.FullControl, out _); }); }
public void Mutex_OpenExisting() { string name = GetRandomName(); MutexSecurity expectedSecurity = GetMutexSecurity(WellKnownSidType.BuiltinUsersSid, MutexRights.FullControl, AccessControlType.Allow); using Mutex mutexNew = CreateAndVerifyMutex(initiallyOwned: true, name, expectedSecurity, expectedCreatedNew: true); using Mutex mutexExisting = MutexAcl.OpenExisting(name, MutexRights.FullControl); VerifyHandles(mutexNew, mutexExisting); MutexSecurity actualSecurity = mutexExisting.GetAccessControl(); VerifyMutexSecurity(expectedSecurity, actualSecurity); }