You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			154 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			154 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|   | // | ||
|  | // MonoTests.Remoting.CrossDomainCalls.cs | ||
|  | // | ||
|  | // Author: Lluis Sanchez Gual (lluis@ximian.com) | ||
|  | // | ||
|  | // 2003 (C) Copyright, Novell, Inc. | ||
|  | // | ||
|  | 
 | ||
|  | using System; | ||
|  | using System.Threading; | ||
|  | using System.Runtime.Remoting; | ||
|  | using System.Runtime.Remoting.Channels; | ||
|  | using System.Runtime.Remoting.Channels.Tcp; | ||
|  | using NUnit.Framework; | ||
|  | 
 | ||
|  | namespace MonoTests.Remoting | ||
|  | { | ||
|  | 	class CrossDomainServer: MarshalByRefObject | ||
|  | 	{ | ||
|  | 		public RemoteObject CreateRemoteInstance () | ||
|  | 		{ | ||
|  | 			return new RemoteObject(); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		public AbstractRemoteObject CreateRemoteAbstract () | ||
|  | 		{ | ||
|  | 			return new RemoteObject(); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		public IRemoteObject CreateRemoteInterface () | ||
|  | 		{ | ||
|  | 			return new RemoteObject(); | ||
|  | 		}	 | ||
|  | 		 | ||
|  | 		public int GetDomId () | ||
|  | 		{ | ||
|  | 			return Thread.GetDomainID(); | ||
|  | 		} | ||
|  | 	} | ||
|  | 	 | ||
|  | 	[TestFixture] | ||
|  | 	public class CrossDomainSyncCallTest : SyncCallTest | ||
|  | 	{ | ||
|  | 		CrossDomainServer server; | ||
|  | 		 | ||
|  | 		protected override int CreateServer () | ||
|  | 		{ | ||
|  | 			AppDomain domain = BaseCallTest.CreateDomain ("testdomain"); | ||
|  | 			server = (CrossDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CrossDomainServer"); | ||
|  | 			return server.GetDomId (); | ||
|  | 		} | ||
|  | 		 | ||
|  | 		protected override RemoteObject CreateRemoteInstance () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteInstance (); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		protected override AbstractRemoteObject CreateRemoteAbstract () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteAbstract (); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		protected override IRemoteObject CreateRemoteInterface () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteInterface (); | ||
|  | 		}	 | ||
|  | 	} | ||
|  | 
 | ||
|  | 	[TestFixture] | ||
|  | 	public class CrossDomainAsyncCallTest : AsyncCallTest | ||
|  | 	{ | ||
|  | 		CrossDomainServer server; | ||
|  | 		 | ||
|  | 		protected override int CreateServer () | ||
|  | 		{ | ||
|  | 			AppDomain domain = BaseCallTest.CreateDomain ("testdomain"); | ||
|  | 			server = (CrossDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CrossDomainServer"); | ||
|  | 			return server.GetDomId (); | ||
|  | 		} | ||
|  | 		 | ||
|  | 		protected override RemoteObject CreateRemoteInstance () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteInstance (); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		protected override AbstractRemoteObject CreateRemoteAbstract () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteAbstract (); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		protected override IRemoteObject CreateRemoteInterface () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteInterface (); | ||
|  | 		}	 | ||
|  | 	} | ||
|  | 
 | ||
|  | 	[TestFixture] | ||
|  | 	public class CrossDomainReflectionCallTest : ReflectionCallTest | ||
|  | 	{ | ||
|  | 		CrossDomainServer server; | ||
|  | 		 | ||
|  | 		protected override int CreateServer () | ||
|  | 		{ | ||
|  | 			AppDomain domain = BaseCallTest.CreateDomain ("testdomain"); | ||
|  | 			server = (CrossDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CrossDomainServer"); | ||
|  | 			return server.GetDomId (); | ||
|  | 		} | ||
|  | 		 | ||
|  | 		protected override RemoteObject CreateRemoteInstance () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteInstance (); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		protected override AbstractRemoteObject CreateRemoteAbstract () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteAbstract (); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		protected override IRemoteObject CreateRemoteInterface () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteInterface (); | ||
|  | 		}	 | ||
|  | 	} | ||
|  | 
 | ||
|  | 	[TestFixture] | ||
|  | 	public class CrossDomainDelegateCallTest : DelegateCallTest | ||
|  | 	{ | ||
|  | 		CrossDomainServer server; | ||
|  | 		 | ||
|  | 		protected override int CreateServer () | ||
|  | 		{ | ||
|  | 			AppDomain domain = BaseCallTest.CreateDomain ("testdomain"); | ||
|  | 			server = (CrossDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CrossDomainServer"); | ||
|  | 			return server.GetDomId (); | ||
|  | 		} | ||
|  | 		 | ||
|  | 		protected override RemoteObject CreateRemoteInstance () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteInstance (); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		protected override AbstractRemoteObject CreateRemoteAbstract () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteAbstract (); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		protected override IRemoteObject CreateRemoteInterface () | ||
|  | 		{ | ||
|  | 			return server.CreateRemoteInterface (); | ||
|  | 		}	 | ||
|  | 	} | ||
|  | } | ||
|  | 
 |