crypto/weakcryptospi/test/tcryptospi/scripts/te_mac_test_cases.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 24 Nov 2009 09:06:03 +0200
changeset 29 ece3df019add
parent 8 35751d3474b7
permissions -rw-r--r--
Revision: 200948 Kit: 200948

//
// Copyright (c) 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: 
//


PRINT Run all te_mac_test_cases Tests
//

//
LOAD_SUITE Te_CryptoSpi
//

//***************
//MAC TEST CASES
//***************

//! @SYMTestCaseID          SEC-MAC-0001
//! @SYMTestCaseDesc        MacPositiveObjectLoad

START_TESTCASE SEC-MAC-0001
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD2
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD4
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD5
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA1
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA224
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA256
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA384
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA512
END_TESTCASE SEC-MAC-0001

//! @SYMTestCaseID          SEC-CRYP007-LOAD-MAC-0001
//! @SYMTestCaseDesc        The test case have been designed to make certain that the functionality 
//!                         provided by each type of implementation object returned from the framework, 
//!                         behaves as expected and produces the desired results as specified in each test case.
//!                         (SymmetricMacPositiveObjectLoad_MAC96)
//! @SYMREQ                 REQ10616  
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the implementation object, 
//!                         the Algorithm ID characteristic should equal KAlgorithmCipherAesXcbcMac96.
START_TESTCASE SEC-CRYP007-LOAD-MAC-0001
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96_load
END_TESTCASE SEC-CRYP007-LOAD-MAC-0001

//! @SYMTestCaseID          SEC-CRYP007-LOAD-MAC-0002
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcPrf128 implementation object is returned by the 
//!                         framework when the necessary parameters are passed into the factory object creation method.
//!                         (SymmetricMacPositiveObjectLoad_PRF128)
//! @SYMREQ                 REQ10620  
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the implementation object, 
//!                         the Algorithm ID characteristic should equal KAlgorithmCipherAesXcbcPrf128.
START_TESTCASE SEC-CRYP007-LOAD-MAC-0002
RUN_TEST_STEP 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128_load
END_TESTCASE SEC-CRYP007-LOAD-MAC-0002

//! @SYMTestCaseID          SEC-CRYP008-LOAD-MAC-0001
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcPrf128 implementation object is not be returned by the 
//!                         framework when the wrong key parameters are passed into the factory object creation method.
//!                         (SymmetricMacLoadFail_PRF128_invalid_key)
//! @SYMREQ                 REQ10618  
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNotSupported, 
//!                         as the key parameter has got a wrong value.
START_TESTCASE SEC-CRYP008-LOAD-MAC-0001
RUN_TEST_STEP !Result=-6 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128_invalid_key
END_TESTCASE SEC-CRYP008-LOAD-MAC-0001

//! @SYMTestCaseID          SEC-CRYP008-LOAD-MAC-0002
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcMac96  implementation object is not be returned by the 
//!                         framework when the wrong key parameters are passed into the factory object creation method.
//!                         (SymmetricMacLoadFail_MAC_invalid_key)
//! @SYMREQ                 REQ10618  
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrArgument, 
//!                         as the symmetric key length is not in multiple of 16 bytes.
START_TESTCASE SEC-CRYP008-LOAD-MAC-0002
RUN_TEST_STEP !Result=-6 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC_invalid_key
RUN_TEST_STEP !Result=-5 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96_invalid_key
END_TESTCASE SEC-CRYP008-LOAD-MAC-0002

//! @SYMTestCaseID          SEC-CRYP008-LOAD-MAC-0003
//! @SYMTestCaseDesc        Tests that a MAC implementation object is not be returned by the framework 
//!                         when an invalid algorithm UID is provided.
//!                         (SymmetricMacLoadFail_Invalid_algorithm)
//! @SYMREQ                 REQ10618 
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KNotSupported, 
//!                         as KAlgorithmCipherDes is not a supported Mac.
START_TESTCASE SEC-CRYP008-LOAD-MAC-0003
RUN_TEST_STEP !Result=-5 100 Te_CryptoSpi MacPositiveObjectLoadStep c:\testdata\tcryptospi\configs\mac_test_cases.ini Invalid_algorithm
END_TESTCASE SEC-CRYP008-LOAD-MAC-0003

//! @SYMTestCaseID          SEC-MAC-0002
//! @SYMTestCaseDesc        MacBasicData 

START_TESTCASE SEC-MAC-0002
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD2
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD4
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD5
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA1
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA224
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA256
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA384
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA512
END_TESTCASE SEC-MAC-0002

//! @SYMTestCaseID          SEC-MAC-0003
//! @SYMTestCaseDesc        MacBasicDataOOM 

START_TESTCASE SEC-MAC-0003
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD2oom
RUN_TEST_STEP 100 Te_CryptoSpi MacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA512oom
END_TESTCASE SEC-MAC-0003


//! @SYMTestCaseID          SEC-CRYP007-BASIC-MAC-0001
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcMac96 implementation object returned from the
//!                         framework can successfully generate a Mac value according to the contents of specific
//!                         data file and that it matches the expected value.
//!                         (SymmetricMacBasicData_MAC96)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcMac96 object.
//!                         The returned Mac is the same as the expected Mac.

START_TESTCASE SEC-CRYP007-BASIC-MAC-0001
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-3Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-16Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-20Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-32Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-34Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-1000Bytes
END_TESTCASE SEC-CRYP007-BASIC-MAC-0001

//! @SYMTestCaseID          SEC-CRYP007-BASIC-MAC-0002
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcPrf128 implementation object returned from the
//!                         framework can successfully generate a Mac value according to the contents of specific
//!                         data file and that it matches the expected value.
//!                         (SymmetricMacBasicData_PRF128)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcPrf128 object.
//!                         The returned Mac is the same as the expected Mac.

START_TESTCASE SEC-CRYP007-BASIC-MAC-0002
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-3Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-16Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-20Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-32Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-34Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-1000Bytes
END_TESTCASE SEC-CRYP007-BASIC-MAC-0002

//! @SYMTestCaseID          SEC-MAC-0004
//! @SYMTestCaseDesc        SymmetricMacVariableKeyLength_PRF128

START_TESTCASE SEC-MAC-0004
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-KeyLength-10Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-KeyLength-18Bytes
END_TESTCASE SEC-MAC-0004


//! @SYMTestCaseID          SEC-CRYP009-OOM-MAC-0001
//! @SYMTestCaseDesc        Tests that the KAlgorithmCipherAesXcbcMac96 implementation in the default software
//!                         plug-in (softwarecrypto.dll) is loads and does not leak memory.
//!                         (SymmetricMacBasicDataOOM_MAC96oom-3Bytes)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults TEF OOM should return KErrNoMemory when encounter OOM, but eventually the test should pass.

START_TESTCASE SEC-CRYP009-OOM-MAC-0001
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96oom-3Bytes
END_TESTCASE SEC-CRYP009-OOM-MAC-0001

//! @SYMTestCaseID          SEC-CRYP009-OOM-MAC-0002
//! @SYMTestCaseDesc        Tests that the KAlgorithmCipherAesXcbcPrf128 implementation in the default software
//!                         plug-in (softwarecrypto.dll) is loads and does not leak memory.
//!                         (SymmetricMacBasicDataOOM_PRF128oom-3Bytes)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623 
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults TEF OOM should return KErrNoMemory when encounter OOM, but eventually the test should pass.

START_TESTCASE SEC-CRYP009-OOM-MAC-0002
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacBasicDataStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128oom-3Bytes
END_TESTCASE SEC-CRYP009-OOM-MAC-0002

//! @SYMTestCaseID          SEC-MAC-0005
//! @SYMTestCaseDesc        MacIncremental

START_TESTCASE SEC-MAC-0005
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD2L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD4L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD5L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA1L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA224L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA256L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA384L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA512L
END_TESTCASE SEC-MAC-0005


//! @SYMTestCaseID          SEC-CRYP007-INCRE-MAC-0001
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcMac96 implementation object returned from the framework 
//!                         can incrementally generate a MAC value according to the contents of a large data file
//!                         and that it matches the expected value.
//!                         (SymmetricMacIncremental)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcMac96 object. 
//!                         Once the final chunk of data has been passed into the finalise method, 
//!                         the returned Mac should be the same as the expected Mac.

START_TESTCASE SEC-CRYP007-INCRE-MAC-0001
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-1000Bytes
END_TESTCASE SEC-CRYP007-INCRE-MAC-0001

//! @SYMTestCaseID          SEC-CRYP007-INCRE-MAC-0002
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcPrf128 implementation object returned from the framework 
//!                         can incrementally generate a MAC value according to the contents of a large data file
//!                         and that it matches the expected value.
//!                         (SymmetricMacIncremental)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcPrf128 object. 
//!                         Once the final chunk of data has been passed into the finalise method, 
//!                         the returned Mac should be the same as the expected Mac.

START_TESTCASE SEC-CRYP007-INCRE-MAC-0002
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-1000Bytes
END_TESTCASE SEC-CRYP007-INCRE-MAC-0002

//! @SYMTestCaseID          SEC-MAC-0006
//! @SYMTestCaseDesc        MacIncrementalCopy 

START_TESTCASE SEC-MAC-0006
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD2L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD4L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD5L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA1L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA224L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA256L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA384L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA512L
END_TESTCASE SEC-MAC-0006

//! @SYMTestCaseID          SEC-MAC-0007
//! @SYMTestCaseDesc        SymmetricMacIncrementalCopy 

START_TESTCASE SEC-MAC-0007
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-1000Bytes
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalWithCopyStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-1000Bytes
END_TESTCASE SEC-MAC-0007

//! @SYMTestCaseID          SEC-MAC-0008
//! @SYMTestCaseDesc        MacIncrementalReplicate 

START_TESTCASE SEC-MAC-0008
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD2L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD4L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD5L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA1L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA224L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA256L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA384L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA512L
END_TESTCASE SEC-MAC-0008


//! @SYMTestCaseID          SEC-CRYP007-REPLICATE-MAC-0001
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcMac96 implementation object returned from the framework 
//!                         can incrementally replicate a MAC value according to the contents of a large data file
//!                         and that it matches the expected value.
//!                         (SymmetricMacIncrementalReplicate)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcMac96 object. 
//!                         Once the final chunk of data has been passed into the finalise method, 
//!                         the returned Mac should be the same as the expected Mac.

START_TESTCASE SEC-CRYP007-REPLICATE-MAC-0001
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-1000Bytes
END_TESTCASE SEC-CRYP007-REPLICATE-MAC-0001

//! @SYMTestCaseID          SEC-CRYP007-REPLICATE-MAC-0002
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcPrf128 implementation object returned from the framework 
//!                         can incrementally replicate a MAC value according to the contents of a large data file
//!                         and that it matches the expected value.
//!                         (SymmetricMacIncrementalReplicate)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcPrf128 object. 
//!                         Once the final chunk of data has been passed into the finalise method, 
//!                         the returned Mac should be the same as the expected Mac.

START_TESTCASE SEC-CRYP007-REPLICATE-MAC-0002
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalWithReplicateStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-1000Bytes
END_TESTCASE SEC-CRYP007-REPLICATE-MAC-0002

//! @SYMTestCaseID          SEC-MAC-0009
//! @SYMTestCaseDesc        MacIncrementalReset 

START_TESTCASE SEC-MAC-0009
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD2L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD4L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MD5L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA1L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA224L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA256L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA384L
RUN_TEST_STEP 100 Te_CryptoSpi MacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini SHA512L
END_TESTCASE SEC-MAC-0009


//! @SYMTestCaseID          SEC-CRYP007-RESET-MAC-0001
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcMac96 implementation object returned from
//!                         the framework can be successfully reset.
//!                         (SymmetricMacIncrementalReset_MAC96)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcMac96 object. 
//!                         Once the final chunk of data has been passed into the finalise method, 
//!                         the returned Mac should be the same as the expected Mac.

START_TESTCASE SEC-CRYP007-RESET-MAC-0001
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-1000Bytes
END_TESTCASE SEC-CRYP007-RESET-MAC-0001

//! @SYMTestCaseID          SEC-CRYP007-RESET-MAC-0002
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcPrf128 implementation object returned from
//!                         the framework can be successfully reset.
//!                         (SymmetricMacIncrementalReset_PRF128)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcPrf128 object. 
//!                         Once the final chunk of data has been passed into the finalise method, 
//!                         the returned Mac should be the same as the expected Mac.

START_TESTCASE SEC-CRYP007-RESET-MAC-0002
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalResetStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-1000Bytes
END_TESTCASE SEC-CRYP007-RESET-MAC-0002


//! @SYMTestCaseID          SEC-CRYP007-REINIT-MAC-0001
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcMac96 implementation object returned from the 
//!                         framework can be successfully reinitialise and set key.
//!                         (SymmetricMacIncrementalReInit_MAC96)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcMac96 object. 
//!                         Once the final chunk of data has been passed into the finalise method, 
//!                         the returned Mac should be the same as the expected Mac.

START_TESTCASE SEC-CRYP007-REINIT-MAC-0001
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalReInitStep c:\testdata\tcryptospi\configs\mac_test_cases.ini MAC96-1000Bytes
END_TESTCASE SEC-CRYP007-REINIT-MAC-0001

//! @SYMTestCaseID          SEC-CRYP007-REINIT-MAC-0002
//! @SYMTestCaseDesc        Tests that a KAlgorithmCipherAesXcbcPrf128 implementation object returned from the 
//!                         framework can be successfully reinitialise and set key.
//!                         (SymmetricMacIncrementalReInit_PRF128)
//! @SYMREQ                 REQ10618, REQ10619, REQ10623
//! @SYMTestPriority        High
//! @SYMTestType            CIT
//! @SYMTestStatus          Implemented
//! @SYMTestExpectedResults The call to the factory method should return KErrNone, 
//!                         successfully create the KAlgorithmCipherAesXcbcPrf128 object. 
//!                         Once the final chunk of data has been passed into the finalise method, 
//!                         the returned Mac should be the same as the expected Mac.

START_TESTCASE SEC-CRYP007-REINIT-MAC-0002
RUN_TEST_STEP 100 Te_CryptoSpi SymmetricMacIncrementalReInitStep c:\testdata\tcryptospi\configs\mac_test_cases.ini PRF128-1000Bytes
END_TESTCASE SEC-CRYP007-REINIT-MAC-0002


PRINT Complete_te_mac_test_cases_Tests