kerneltest/e32test/usb/t_usb_device/src/apitests.cpp
changeset 253 d37db4dcc88d
parent 0 a41df078684a
child 257 3e88ff8f41d5
--- a/kerneltest/e32test/usb/t_usb_device/src/apitests.cpp	Tue Aug 24 14:42:58 2010 +0100
+++ b/kerneltest/e32test/usb/t_usb_device/src/apitests.cpp	Tue Aug 24 14:49:21 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of the License "Eclipse Public License v1.0"
@@ -14,12 +14,17 @@
 // e32test/usb/t_usb_device/src/apitests.cpp
 // USB Test Program T_USB_DEVICE, functional part.
 // Device-side part, to work against T_USB_HOST running on the host.
-// 
+//
 //
 
 #include "general.h"									// CActiveControl, CActiveRW
 #include "config.h"
 #include "usblib.h"										// Helpers
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "apitestsTraces.h"
+#endif
+
 
 extern RTest test;
 extern TBool gVerbose;
@@ -65,14 +70,14 @@
 	deviceDescriptor[KUsbVendorIdOffset+1] = HiByte(aLddPtr->iVid);
 	// Change the device product ID (PID)
 	if (aPid != 0)
-		{	
+		{
 		deviceDescriptor[KUsbProductIdOffset]	= LoByte(aPid);		// little endian!
-		deviceDescriptor[KUsbProductIdOffset+1] = HiByte(aPid);		
+		deviceDescriptor[KUsbProductIdOffset+1] = HiByte(aPid);
 		}
 	else
 		{
 		deviceDescriptor[KUsbProductIdOffset]	= LoByte(aLddPtr->iPid);		// little endian!
-		deviceDescriptor[KUsbProductIdOffset+1] = HiByte(aLddPtr->iPid);		
+		deviceDescriptor[KUsbProductIdOffset+1] = HiByte(aLddPtr->iPid);
 		}
 	// Change the device release number
 	deviceDescriptor[KUsbDevReleaseOffset]	 = LoByte(aLddPtr->iRelease);	// little endian!
@@ -89,7 +94,7 @@
 
 		test.Next(_L("Compare device descriptor with value set"));
 		r = descriptor2.Compare(deviceDescriptor);
-		test_KErrNone(r);	
+		test_KErrNone(r);
 		}
 
 	// === Configuration Descriptor
@@ -110,7 +115,7 @@
 	const TUint8 KUsbAttributeDefault = 0x80;
 	const TUint8 KUsbAttributeSelfPower = 0x40;
 	const TUint8 KUsbAttributeRemoteWakeup = 0x20;
-	configDescriptor[KUsbAttributesOffset] = KUsbAttributeDefault | (aLddPtr->iSelfPower ? KUsbAttributeSelfPower : 0) 
+	configDescriptor[KUsbAttributesOffset] = KUsbAttributeDefault | (aLddPtr->iSelfPower ? KUsbAttributeSelfPower : 0)
 													| (aLddPtr->iRemoteWakeup ? KUsbAttributeRemoteWakeup : 0);
 	// Change the reported max power
 	// 100mA (= 2 * 0x32) is the highest value allowed for a bus-powered device.
@@ -130,7 +135,7 @@
 		r = descriptor2.Compare(configDescriptor);
 		test_KErrNone(r);
 		}
-		
+
 	// === String Descriptors
 
 	test.Next(_L("SetStringDescriptor"));
@@ -141,7 +146,7 @@
 		r = aPort->SetManufacturerStringDescriptor(* aLddPtr->iManufacturer);
 		test_KErrNone(r);
 		}
-		
+
 	if (aLddPtr->iProduct)
 		{
 		r = aPort->SetProductStringDescriptor(* aLddPtr->iProduct);
@@ -156,7 +161,7 @@
 
 	// Set up two arbitrary string descriptors, which can be queried
 	// manually from the host side for testing purposes
-	
+
 	TBuf16<KUsbStringDescStringMaxSize / 2> wr_str(KString_one);
 	r = aPort->SetStringDescriptor(stridx1, wr_str);
 	test_KErrNone(r);
@@ -167,7 +172,7 @@
 	test_KErrNone(r);
 
 	test.End();
-	
+
 	}
 
 static void TestDeviceQualifierDescriptor(RDEVCLIENT* aPort)
@@ -246,12 +251,12 @@
 	TBuf8<KUsbDescSize_Interface> descriptor2;
 	for (TInt i =0; i < aNumSettings; i++)
 		{
-		
+
 		test.Next(_L("GetInterfaceDescriptorSize()"));
 		r = aPort->GetInterfaceDescriptorSize(i, desc_size);
 		if (r != KErrNone)
 			{
-			RDebug::Printf ("Error %d in GetInterfaceDescriptorSize %d\n",r,i);
+			OstTraceExt2(TRACE_NORMAL, TESTINTERFACEDESCRIPTOR_TESTINTERFACEDESCRIPTOR, "Error %d in GetInterfaceDescriptorSize %d\n",r,i);
 			}
 		test_KErrNone(r);
 		test_Equal(KUsbDescSize_Interface,static_cast<TUint>(desc_size));
@@ -277,7 +282,7 @@
 		r = descriptor2.Compare(descriptor);
 		test_KErrNone(r);
 		}
-		
+
 	test.Next(_L("GetInterfaceDescriptor()"));
 	r = aPort->GetInterfaceDescriptor(aNumSettings, descriptor);
 	test_Equal(KErrNotFound,r);
@@ -285,7 +290,7 @@
 	test.Next(_L("SetInterfaceDescriptor()"));
 	r = aPort->SetInterfaceDescriptor(aNumSettings, descriptor);
 	test_Equal(KErrNotFound,r);
-		
+
 	test.End();
 	}
 
@@ -368,7 +373,7 @@
 		!(aEpInfo.iDir & KUsbEpDirIn) && !(epDescriptor[KEpDesc_AddressOffset] & 0x80)) &&
 			EpTypeMask2Value(aEpInfo.iType) == (TUint)(epDescriptor[KEpDesc_AttributesOffset] & 0x03) &&
 			aEpInfo.iInterval == epDescriptor[KEpDesc_IntervalOffset]);
-			
+
 	// Change the endpoint poll interval
 	TUint8 ival = 0x66;
 	if (epDescriptor[KEpDesc_IntervalOffset] == ival)
@@ -423,6 +428,7 @@
 	TInt r = aPort->GetStringDescriptorLangId(rd_langid_orig);
 	test_KErrNone(r);
 	test.Printf(_L("Original LANGID code: 0x%04X\n"), rd_langid_orig);
+	OstTrace1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS, "Original LANGID code: 0x%04X\n", rd_langid_orig);
 
 	test.Next(_L("SetStringDescriptorLangId()"));
 	TUint16 wr_langid = 0x0809;								// English (UK) Language ID
@@ -436,6 +442,7 @@
 	r = aPort->GetStringDescriptorLangId(rd_langid);
 	test_KErrNone(r);
 	test.Printf(_L("New LANGID code: 0x%04X\n"), rd_langid);
+	OstTrace1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP01, "New LANGID code: 0x%04X\n", rd_langid);
 
 	test.Next(_L("Compare LANGID codes"));
 	test_Equal(wr_langid,rd_langid);
@@ -459,11 +466,13 @@
 	if (r == KErrNone)
 		{
 		test.Printf(_L("Original Manufacturer string: \"%lS\"\n"), &rd_str_orig);
+		OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP02, "Original Manufacturer string: \"%lS\"\n", rd_str_orig);
 		restore_string = ETrue;
 		}
 	else
 		{
 		test.Printf(_L("No Manufacturer string set\n"));
+		OstTrace0(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP03, "No Manufacturer string set\n");
 		restore_string = EFalse;
 		}
 
@@ -478,6 +487,7 @@
 	r = aPort->GetManufacturerStringDescriptor(rd_str);
 	test_KErrNone(r);
 	test.Printf(_L("New Manufacturer string: \"%lS\"\n"), &rd_str);
+	OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP04, "New Manufacturer string: \"%lS\"\n", rd_str);
 
 	test.Next(_L("Compare Manufacturer strings"));
 	r = rd_str.Compare(wr_str);
@@ -495,6 +505,7 @@
 	r = aPort->GetManufacturerStringDescriptor(rd_str);
 	test_KErrNone(r);
 	test.Printf(_L("New Manufacturer string: \"%lS\"\n"), &rd_str);
+	OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP05, "New Manufacturer string: \"%lS\"\n", rd_str);
 
 	test.Next(_L("Compare Manufacturer strings"));
 	r = rd_str.Compare(wr_str);
@@ -528,6 +539,7 @@
 	if (r == KErrNone)
 		{
 		test.Printf(_L("Old Product string: \"%lS\"\n"), &rd_str_orig);
+		OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP06, "Old Product string: \"%lS\"\n", rd_str_orig);
 		restore_string = ETrue;
 		}
 	else
@@ -545,6 +557,7 @@
 	r = aPort->GetProductStringDescriptor(rd_str);
 	test_KErrNone(r);
 	test.Printf(_L("New Product string: \"%lS\"\n"), &rd_str);
+	OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP07, "New Product string: \"%lS\"\n", rd_str);
 
 	test.Next(_L("Compare Product strings"));
 	r = rd_str.Compare(wr_str);
@@ -562,6 +575,7 @@
 	r = aPort->GetProductStringDescriptor(rd_str);
 	test_KErrNone(r);
 	test.Printf(_L("New Product string: \"%lS\"\n"), &rd_str);
+	OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP08, "New Product string: \"%lS\"\n", rd_str);
 
 	test.Next(_L("Compare Product strings"));
 	r = rd_str.Compare(wr_str);
@@ -595,6 +609,7 @@
 	if (r == KErrNone)
 		{
 		test.Printf(_L("Old Serial Number: \"%lS\"\n"), &rd_str_orig);
+		OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP09, "Old Serial Number: \"%lS\"\n", rd_str_orig);
 		restore_string = ETrue;
 		}
 	else
@@ -612,6 +627,7 @@
 	r = aPort->GetSerialNumberStringDescriptor(rd_str);
 	test_KErrNone(r);
 	test.Printf(_L("New Serial Number: \"%lS\"\n"), &rd_str);
+	OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP10, "New Serial Number: \"%lS\"\n", rd_str);
 
 	test.Next(_L("Compare Serial Number strings"));
 	r = rd_str.Compare(wr_str);
@@ -629,6 +645,7 @@
 	r = aPort->GetSerialNumberStringDescriptor(rd_str);
 	test_KErrNone(r);
 	test.Printf(_L("New Serial Number: \"%lS\"\n"), &rd_str);
+	OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP11, "New Serial Number: \"%lS\"\n", rd_str);
 
 	test.Next(_L("Compare Serial Number strings"));
 	r = rd_str.Compare(wr_str);
@@ -662,6 +679,7 @@
 	if (r == KErrNone)
 		{
 		test.Printf(_L("Old Configuration string: \"%lS\"\n"), &rd_str_orig);
+		OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP12, "Old Configuration string: \"%lS\"\n", rd_str_orig);
 		restore_string = ETrue;
 		}
 	else
@@ -679,6 +697,7 @@
 	r = aPort->GetConfigurationStringDescriptor(rd_str);
 	test_KErrNone(r);
 	test.Printf(_L("New Configuration string: \"%lS\"\n"), &rd_str);
+	OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP13, "New Configuration string: \"%lS\"\n", rd_str);
 
 	test.Next(_L("Compare Configuration strings"));
 	r = rd_str.Compare(wr_str);
@@ -696,6 +715,7 @@
 	r = aPort->GetConfigurationStringDescriptor(rd_str);
 	test_KErrNone(r);
 	test.Printf(_L("New Configuration string: \"%lS\"\n"), &rd_str);
+	OstTraceExt1(TRACE_NORMAL, TESTSTANDARDSTRINGDESCRIPTORS_TESTSTANDARDSTRINGDESCRIPTORS_DUP14, "New Configuration string: \"%lS\"\n", rd_str);
 
 	test.Next(_L("Compare Configuration strings"));
 	r = rd_str.Compare(wr_str);
@@ -785,6 +805,7 @@
 	r = aPort->GetStringDescriptor(stridx3, rd_str);
 	test_KErrNone(r);
 	test.Printf(_L("New test string @ idx %d: \"%lS\"\n"), stridx3, &rd_str);
+	OstTraceExt2(TRACE_NORMAL, TESTARBITRARYSTRINGDESCRIPTORS_TESTARBITRARYSTRINGDESCRIPTORS, "New test string @ idx %d: \"%lS\"\n", stridx3, rd_str);
 
 	test.Next(_L("Compare test strings 3"));
 	r = rd_str.Compare(wr_str);
@@ -828,17 +849,17 @@
 	if (SupportsAlternateInterfaces())
 		{
 		TInt r = aPort->SetInterface(aNumSettings+1, ifc);
-		test_Compare(r,!=,KErrNone);		
+		test_Compare(r,!=,KErrNone);
 		}
-	
+
 	if (aNumSettings > 1)
 		{
 		TInt r = aPort->SetInterface(aNumSettings-1, ifc);
-		test_Compare(r,!=,KErrNone);		
+		test_Compare(r,!=,KErrNone);
 		}
 
 	TInt r = aPort->SetInterface(0, ifc);
-	test_Compare(r,!=,KErrNone);		
+	test_Compare(r,!=,KErrNone);
 
 	test.End();
 	}
@@ -850,13 +871,13 @@
 	if (aNumSettings > 2)
 		{
 		TInt r = aPort->ReleaseInterface(aNumSettings-3);
-		test_Compare(r,!=,KErrNone);		
+		test_Compare(r,!=,KErrNone);
 		}
 
 	if (aNumSettings > 1)
 		{
 		TInt r = aPort->ReleaseInterface(aNumSettings-2);
-		test_Compare(r,!=,KErrNone);		
+		test_Compare(r,!=,KErrNone);
 		}
 
 	test.End();
@@ -870,7 +891,7 @@
 		{
 		TestDeviceQualifierDescriptor(aPort);
 
-		TestOtherSpeedConfigurationDescriptor(aPort);	
+		TestOtherSpeedConfigurationDescriptor(aPort);
 		}
 
 	TestInterfaceDescriptor(aPort,aNumSettings);
@@ -880,6 +901,7 @@
 	TestStandardStringDescriptors(aPort);
 
 	TestArbitraryStringDescriptors(aPort,aNumSettings);
+	test.Next(_L("Test USB Descriptor Manipulation1"));
 
 	test.End();
 	}
@@ -933,11 +955,14 @@
 		TBool a_AltHnpSupport = (features & KUsbOtgAttr_A_AltHnpSupport) ? ETrue : EFalse;
 		test.Printf(_L("### OTG Features:\nB_HnpEnable(%d)\nA_HnpSupport(%d)\nA_Alt_HnpSupport(%d)\n"),
 					b_HnpEnable, a_HnpSupport, a_AltHnpSupport);
+		OstTraceExt3(TRACE_NORMAL, TESTOTGEXTENSIONS_TESTOTGEXTENSIONS, "### OTG Features:\nB_HnpEnable(%d)\nA_HnpSupport(%d)\nA_Alt_HnpSupport(%d)\n",
+					b_HnpEnable, a_HnpSupport, a_AltHnpSupport);
 		}
 	else
 		{
 		test_Equal(KErrNotSupported,r);
 		test.Printf(_L("GetOtgFeatures() not supported\n"));
+		OstTrace0(TRACE_NORMAL, TESTOTGEXTENSIONS_TESTOTGEXTENSIONS_DUP01, "GetOtgFeatures(not supported\n");
 		}
 
 	test.End();
@@ -989,10 +1014,12 @@
 			if (good)
 				{
 				test.Printf(_L("Ep0 supports %d bytes MaxPacketSize\n"), mpsize);
+				OstTrace1(TRACE_NORMAL, TESTENDPOINT0MAXPACKETSIZES_TESTENDPOINT0MAXPACKETSIZES, "Ep0 supports %d bytes MaxPacketSize\n", mpsize);
 				}
 			else
 				{
 				test.Printf(_L("Bad Ep0 size: 0x%08x, failure will occur\n"), bit);
+				OstTrace1(TRACE_NORMAL, TESTENDPOINT0MAXPACKETSIZES_TESTENDPOINT0MAXPACKETSIZES_DUP01, "Bad Ep0 size: 0x%08x, failure will occur\n", bit);
 				r = KErrGeneral;
 				}
 			}