crypto/weakcryptospi/test/tsymmetric/tsymmetricmain.cpp
changeset 8 35751d3474b7
child 102 deec7e509f66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcryptospi/test/tsymmetric/tsymmetricmain.cpp	Thu Sep 10 14:01:51 2009 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 1998-2009 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32base.h>
+#include "t_testhandler.h"
+#include "t_testsetup.h"
+#include "tscripttests.h"
+#include "tactionvector.h"
+#include "tperformancetest.h"
+#include "tactionincremental.h"
+#include "tactionmontecarlo.h"
+#include "tactionincrementallegacy.h"
+
+LOCAL_D void callExampleL() // initialize and call example code under cleanup stack
+{
+    START_SCRIPT_LIST
+	SCRIPT_ITEM(CActionVector,_L8("Vector")),
+	SCRIPT_ITEM(CPerformanceTest,_L8("Performance")),
+	SCRIPT_ITEM(CActionIncremental,_L8("Incremental")),	
+	SCRIPT_ITEM(CActionMonteCarlo, _L8("MonteCarlo")),
+	SCRIPT_ITEM(CActionIncrementalLegacy,_L8("IncrementalLegacy"))
+	END_SCRIPT_LIST
+	
+	TDriveUnit sysDrive (RFs::GetSystemDrive());
+	TDriveName sysDriveName (sysDrive.Name());
+	TBuf<64> scriptFile (sysDriveName);
+	scriptFile.Append(_L("\\tsymmetric\\tsymmetrictests.txt"));
+	
+	TBuf<64> logFile (sysDriveName);
+	logFile.Append(_L("\\tsymmetric\\tsymmetrictests.log"));
+	
+	
+//	RC2, RC4, DES, 3DES (ECB and CBC modes)
+/*	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\symmetricOOMtests.txt"),
+		_L("c:\\tsymmetric\\symmetricOOMtests.log"));*/
+	CTestSetup::CreateAndRunTestsL(theTestTypes, scriptFile, logFile);
+
+//	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\tsymmetricperformancetests.txt"),
+//		_L("c:\\tsymmetric\\tsymmetricperformancetests.log"));
+
+//	There are so many other test scripts because it is impossible to put all the test
+//	data in one big script.  The test framework just falls over with out of memory because
+//	it attempts to create all test objects at the start of the test.  All these tests
+//	are (of course) necessary hence they've been split.  Either run the top level build
+//	and test script or, if running this test specifically, uncomment the following and it'll run them
+//	all one after the other	
+//	AES (ECB) using Rijndael vectors for all table values	
+/*	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESECBVectorsScript.txt"),
+		_L("c:\\tsymmetric\\aesecb_vectors.log"));
+
+//	AES (ECB) KAT using variable text, known key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESECB_KAT_VT.txt"),
+		_L("c:\\tsymmetric\\aesecb_kat_vt.log"));
+ 
+//	AES (ECB) KAT using variable key, known text
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESECB_KAT_VK.txt"),
+		_L("c:\\tsymmetric\\aesecb_kat_vk.log"));
+
+//	AES Monte Carlo tests (ECB encrypt) with 128 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptECB128.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptECB128.log"));
+
+//	AES Monte Carlo tests (ECB encrypt) with 192 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptECB192.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptECB192.log"));
+
+//	AES Monte Carlo tests (ECB encrypt) with 256 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptECB256.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptECB256.log"));
+
+//	AES Monte Carlo tests (ECB decrypt) with 128 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptECB128.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptECB128.log"));
+
+//	AES Monte Carlo tests (ECB decrypt) with 192 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptECB192.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptECB192.log"));
+
+//	AES Monte Carlo tests (ECB decrypt) with 256 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptECB256.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptECB256.log"));
+
+//	AES Monte Carlo tests (CBC encrypt) with 128 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptCBC128.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptCBC128.log"));
+
+//	AES Monte Carlo tests (CBC encrypt) with 192 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptCBC192.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptCBC192.log"));
+
+//	AES Monte Carlo tests (CBC encrypt) with 256 bit key	
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptCBC256.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptCBC256.log"));
+
+//	AES Monte Carlo tests (CBC decrypt) with 128 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptCBC128.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptCBC128.log"));
+
+//	AES Monte Carlo tests (CBC decrypt) with 192 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptCBC192.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptCBC192.log"));
+
+//	AES Monte Carlo tests (CBC decrypt) with 256 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptCBC256.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptCBC256.log"));
+
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\symmetricOOMtests.txt"),
+		_L("c:\\tsymmetric\\symmetricOOMtests.log"));
+*/}
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error, callExampleL());
+	__ASSERT_ALWAYS(!error,User::Panic(_L("tsymmetric"),error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0;
+    }