graphicscomposition/surfaceupdate/tsrc/tsurfaceupdate.cpp
changeset 110 7f25ef56562d
parent 98 bf7481649c98
equal deleted inserted replaced
98:bf7481649c98 110:7f25ef56562d
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
  1756 	TEST(KErrArgument == status.Int());
  1756 	TEST(KErrArgument == status.Int());
  1757 	
  1757 	
  1758 	session.Close();
  1758 	session.Close();
  1759 	}
  1759 	}
  1760 
  1760 
       
  1761 
       
  1762 /**
       
  1763   @SYMTestCaseID GRAPHICS-SURFACEUPDATE-0019
       
  1764 
       
  1765 
       
  1766   @SYMPREQ 1007
       
  1767   
       
  1768   @SYMREQ 8223
       
  1769 
       
  1770   @SYMTestCaseDesc Starting the surface update server in two different threads.
       
  1771 
       
  1772   @SYMTestPriority High
       
  1773 
       
  1774   @SYMTestStatus Implemented
       
  1775 
       
  1776   @SYMTestActions Start the surface update server in two different threads.
       
  1777     
       
  1778   @SYMTestExpectedResults Thread 1: KErrNone
       
  1779      Thread 2: KErrNone
       
  1780      The "provider" returned to both threads should also be the same value!
       
  1781 */
       
  1782 void CTSurfaceUpdate::TestCase12L()
       
  1783     {
       
  1784     MSurfaceUpdateServerProvider *surfaceUpdateProvider = NULL;
       
  1785     TInt res = StartSurfaceUpdateServer(surfaceUpdateProvider);
       
  1786     TEST(res == KErrNone);
       
  1787     User::LeaveIfError(res);
       
  1788 
       
  1789     _LIT(KThreadName, "TestServerStartupTwoThreads");
       
  1790     TTime tm;
       
  1791     TBuf<32> buf;
       
  1792     tm.UniversalTime();
       
  1793     TRAP(res, tm.FormatL(buf, _L("_%H%T%S%C")));
       
  1794     TEST(res == KErrNone);
       
  1795     User::LeaveIfError(res);
       
  1796     TBuf<128> threadName(KThreadName);
       
  1797     threadName.Append(buf); //guarantee uniqueness  of the thread name
       
  1798     RThread thread;
       
  1799     MSurfaceUpdateServerProvider *surfaceUpdateProvider2 = NULL;
       
  1800     res = thread.Create(threadName,
       
  1801             TestServerStartupTwoThreads,
       
  1802             KDefaultStackSize,
       
  1803             &User::Heap(),
       
  1804             &surfaceUpdateProvider2);
       
  1805     TEST(res == KErrNone);
       
  1806     User::LeaveIfError(res);
       
  1807     TRequestStatus rendezvousStatus;
       
  1808     thread.Rendezvous(rendezvousStatus);
       
  1809     thread.Resume();
       
  1810     User::WaitForRequest(rendezvousStatus);
       
  1811     TEST(KErrNone == rendezvousStatus.Int());
       
  1812     // Check that we get the same provider for both threads!
       
  1813     TEST(surfaceUpdateProvider2 == surfaceUpdateProvider);
       
  1814     }
       
  1815 
       
  1816 
  1761 /**
  1817 /**
  1762 Starting the update server in another thread - called from TestCase12
  1818 Starting the update server in another thread - called from TestCase12
  1763 */
  1819 */
  1764 TInt CTSurfaceUpdate::TestServerStartupTwoThreads(TAny*)
  1820 TInt CTSurfaceUpdate::TestServerStartupTwoThreads(TAny *aArgPtr)
  1765 	{
  1821 	{
  1766 	MSurfaceUpdateServerProvider *surfaceUpdateProvider = NULL;
  1822 	MSurfaceUpdateServerProvider **surfaceUpdateProviderPtr = 
  1767 	TInt res = StartSurfaceUpdateServer(surfaceUpdateProvider);
  1823 	        reinterpret_cast<MSurfaceUpdateServerProvider **>(aArgPtr);
       
  1824 	TInt res = StartSurfaceUpdateServer(*surfaceUpdateProviderPtr);
  1768 	return res;
  1825 	return res;
  1769 	}
  1826 	}
  1770 
  1827 
  1771 /**
  1828 /**
  1772   @SYMTestCaseID GRAPHICS-SURFACEUPDATE-0020
  1829   @SYMTestCaseID GRAPHICS-SURFACEUPDATE-0020
  2198  		INFO_PRINTF1(_L("TestCase11"));
  2255  		INFO_PRINTF1(_L("TestCase11"));
  2199  		TRAPD(ret, TestCase11());
  2256  		TRAPD(ret, TestCase11());
  2200  		TEST(ret == KErrNone);
  2257  		TEST(ret == KErrNone);
  2201  		break;
  2258  		break;
  2202 		}
  2259 		}
  2203 	case 12:
  2260     case 12:
       
  2261         {
       
  2262         ((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0019"));
       
  2263         INFO_PRINTF1(_L("TestCase12L"));
       
  2264         TRAPD(ret, TestCase12L());
       
  2265         TEST(ret == KErrNone);
       
  2266         break;
       
  2267         }
       
  2268 	case 13:
  2204  		{
  2269  		{
  2205  		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0020"));
  2270  		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0020"));
  2206  		INFO_PRINTF1(_L("TestCase13L"));
  2271  		INFO_PRINTF1(_L("TestCase13L"));
  2207  		TRAPD(ret, TestCase13L());
  2272  		TRAPD(ret, TestCase13L());
  2208  		TEST(ret == KErrNone);
  2273  		TEST(ret == KErrNone);
  2209  		break;
  2274  		break;
  2210 		}
  2275 		}
  2211 	case 13:
  2276 	case 14:
  2212  		{
  2277  		{
  2213  		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0022"));
  2278  		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0022"));
  2214  		INFO_PRINTF1(_L("TestCase14"));
  2279  		INFO_PRINTF1(_L("TestCase14"));
  2215  		TestCase14();
  2280  		TestCase14();
  2216  		break;
  2281  		break;
  2217 		}
  2282 		}
  2218 	case 14:
  2283 	case 15:
  2219  		{
  2284  		{
  2220 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0023"));
  2285 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0023"));
  2221  		INFO_PRINTF1(_L("TestCase15"));
  2286  		INFO_PRINTF1(_L("TestCase15"));
  2222  		TRAPD(ret, TestCase15());
  2287  		TRAPD(ret, TestCase15());
  2223  		TEST(ret == KErrNone);
  2288  		TEST(ret == KErrNone);
  2224  		break;
  2289  		break;
  2225 		}
  2290 		}
  2226 	case 15:
  2291 	case 16:
  2227  		{
  2292  		{
  2228 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0024"));
  2293 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0024"));
  2229  		INFO_PRINTF1(_L("TestCase16"));
  2294  		INFO_PRINTF1(_L("TestCase16"));
  2230  		TRAPD(ret, TestCase16L());
  2295  		TRAPD(ret, TestCase16L());
  2231  		TEST(ret == KErrNone);
  2296  		TEST(ret == KErrNone);
  2232  		break;
  2297  		break;
  2233 		}
  2298 		}
  2234 	case 16:
  2299 	case 17:
  2235  		{
  2300  		{
  2236 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0028"));
  2301 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0028"));
  2237  		INFO_PRINTF1(_L("TestCase17"));
  2302  		INFO_PRINTF1(_L("TestCase17"));
  2238  		TRAPD(ret, TestCase17());
  2303  		TRAPD(ret, TestCase17());
  2239  		TEST(ret == KErrNone);
  2304  		TEST(ret == KErrNone);
  2240  		break;
  2305  		break;
  2241 		}
  2306 		}
  2242 	case 17:
  2307 	case 18:
  2243  		{
  2308  		{
  2244 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0025"));
  2309 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0025"));
  2245  		INFO_PRINTF1(_L("TestCase18"));
  2310  		INFO_PRINTF1(_L("TestCase18"));
  2246  		TRAPD(ret, TestCase18());
  2311  		TRAPD(ret, TestCase18());
  2247  		TEST(ret == KErrNone);
  2312  		TEST(ret == KErrNone);
  2248  		break;
  2313  		break;
  2249 		}
  2314 		}
  2250 	case 18:
  2315 	case 19:
  2251 		{
  2316 		{
  2252 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0027"));
  2317 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0027"));
  2253 	 	INFO_PRINTF1(_L("TestCaseNotifyWhenAvailableGlobal"));
  2318 	 	INFO_PRINTF1(_L("TestCaseNotifyWhenAvailableGlobal"));
  2254  		TRAPD(ret, TestCaseNotifyWhenAvailableGlobal());
  2319  		TRAPD(ret, TestCaseNotifyWhenAvailableGlobal());
  2255  		TEST(ret == KErrNone);
  2320  		TEST(ret == KErrNone);
  2256  		break;
  2321  		break;
  2257 		}
  2322 		}
  2258 	case 19:
  2323 	case 20:
  2259 		{
  2324 		{
  2260 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0029"));
  2325 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0029"));
  2261 	 	INFO_PRINTF1(_L("TestCaseRegisterIdenticalPrioritiesL"));
  2326 	 	INFO_PRINTF1(_L("TestCaseRegisterIdenticalPrioritiesL"));
  2262  		TRAPD(ret, TestCaseRegisterIdenticalPrioritiesL());
  2327  		TRAPD(ret, TestCaseRegisterIdenticalPrioritiesL());
  2263  		TEST(ret == KErrNone);
  2328  		TEST(ret == KErrNone);
  2264  		break;
  2329  		break;
  2265 		}
  2330 		}
  2266 	case 20:
  2331 	case 21:
  2267  		{//should be the last test case
  2332  		{//should be the last test case
  2268 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0021"));
  2333 		((CTSurfaceUpdateStep*)iStep)->SetTestStepID(_L("GRAPHICS-SURFACEUPDATE-0021"));
  2269  		INFO_PRINTF1(_L("TestCaseTerminateServer"));
  2334  		INFO_PRINTF1(_L("TestCaseTerminateServer"));
  2270  		TRAPD(ret, TestCaseTerminateServer());
  2335  		TRAPD(ret, TestCaseTerminateServer());
  2271  		TEST(ret == KErrNone);
  2336  		TEST(ret == KErrNone);