--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tsymmetricmain.cpp Wed Jul 08 11:25:26 2009 +0100
@@ -0,0 +1,133 @@
+/*
+* 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"
+
+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"))
+ 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;
+ }