public void TestMutexConstructorException() { using (var outer = new Mutex(initiallyOwned: true, name: BuildServerConnection.GetClientMutexName(_pipeName), out bool createdNew)) { Assert.True(createdNew); var mutexSecurity = outer.GetAccessControl(); mutexSecurity.AddAccessRule(new MutexAccessRule(WindowsIdentity.GetCurrent().Owner, MutexRights.FullControl, AccessControlType.Deny)); outer.SetAccessControl(mutexSecurity); var ranLocal = false; var client = CreateClient( compileFunc: delegate { ranLocal = true; return(0); }); var exitCode = client.RunCompilation(new[] { "/shared" }, _buildPaths).ExitCode; Assert.Equal(0, exitCode); Assert.True(ranLocal); } }