kerneltest/e32test/misc/testexclusions.h
author hgs
Tue, 02 Nov 2010 15:29:23 +0000
changeset 300 1d28c8722707
parent 286 48e57fb1237e
permissions -rw-r--r--
201043_09
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
286
48e57fb1237e 201039_11
hgs
parents:
diff changeset
     1
// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
48e57fb1237e 201039_11
hgs
parents:
diff changeset
     2
// All rights reserved.
48e57fb1237e 201039_11
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
48e57fb1237e 201039_11
hgs
parents:
diff changeset
     4
// under the terms of the License "Eclipse Public License v1.0"
48e57fb1237e 201039_11
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
48e57fb1237e 201039_11
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
48e57fb1237e 201039_11
hgs
parents:
diff changeset
     7
//
48e57fb1237e 201039_11
hgs
parents:
diff changeset
     8
// Initial Contributors:
48e57fb1237e 201039_11
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    10
//
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    11
// Contributors:
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    12
//
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    13
// Description:
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    14
// e32test\misc\testexclusions.h
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    15
// Gets the test exclusion property which is set by reading a file provided by base port and 
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    16
// based on this property some tests can be excluded 
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    17
// 
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    18
//
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    19
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    20
#ifndef __TESTEXCLUSIONS_H__
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    21
#define __TESTEXCLUSIONS_H__
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    22
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    23
#include <e32svr.h>
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    24
#include <u32hal.h>
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    25
#include <e32property.h> 
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    26
#include <e32uid.h>
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    27
#include <f32file.h>
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    28
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    29
_LIT(KLitPlatformTestExclusionFile, "Z:\\sys\\data\\platformtestexclusion.txt");
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    30
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    31
// Bit masks to disable different tests
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    32
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    33
// To disable invoking PowerController::PowerDown  
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    34
const TUint KDisableControllerShutdown = 0x1;
300
1d28c8722707 201043_09
hgs
parents: 286
diff changeset
    35
// To disable test t_entropysources on platforms/configurations known to have no entropy source
1d28c8722707 201043_09
hgs
parents: 286
diff changeset
    36
const TUint KDisableEntropySourceCheck = 0x2;
286
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    37
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    38
TInt GetExclusionFromFile(TUint& aTestExclusion)
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    39
	{
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    40
	RFs theFs;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    41
	TInt r = KErrNone;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    42
	r = theFs.Connect();
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    43
    if (r != KErrNone)
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    44
		return r;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    45
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    46
	RFile file;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    47
	TFileName filename(KLitPlatformTestExclusionFile);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    48
	r = file.Open(theFs, filename, EFileRead);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    49
	if (r == KErrNone)
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    50
		{
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    51
		TBuf8<8> data;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    52
		file.Read(data);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    53
		TLex8 lexData(data);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    54
		r = lexData.Val(aTestExclusion, EHex);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    55
		file.Close();
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    56
		} 
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    57
	
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    58
	theFs.Close();
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    59
	return r;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    60
	}
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    61
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    62
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    63
TInt GetTestExclusionSettings(TInt& aTestExclusion)
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    64
	{
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    65
	TInt r =  RProperty::Get(KUidSystemCategory, KPlatformTestExclusionKey, aTestExclusion);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    66
	if (r != KErrNotFound)
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    67
		return r;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    68
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    69
    _LIT_SECURITY_POLICY_PASS(KTestPropPolicy);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    70
    r = RProperty::Define(KUidSystemCategory, KPlatformTestExclusionKey, RProperty::EInt, KTestPropPolicy, KTestPropPolicy);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    71
	if (r != KErrNone)
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    72
		return r;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    73
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    74
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    75
	TUint testExclusion = 0;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    76
	r = GetExclusionFromFile(testExclusion);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    77
	if ((r != KErrNotFound) && (r != KErrNone)) // All platforms need not have test exclusions file defined
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    78
		return r;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    79
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    80
	aTestExclusion = testExclusion;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    81
	r = RProperty::Set(KUidSystemCategory, KPlatformTestExclusionKey, testExclusion);
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    82
	return r;
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    83
	}
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    84
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    85
#endif // __TESTEXCLUSIONS_H__
48e57fb1237e 201039_11
hgs
parents:
diff changeset
    86