// Copyright (c) 1999-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:
// e32test/group/bld.inf
// Kernel and User library test code
//
//
/**
@file
*/
PRJ_PLATFORMS
BASEDEFAULT
PRJ_EXPORTS
../secure/platsecconfig.settings /epoc32/rom/e32test/t_platsecconfig.iby
../secure/platsecconfig.settings /epoc32/data/t_platsecconfig.ini
PRJ_TESTEXPORTS
../../../kernel/eka/include/kernel/dobject.h /epoc32/include/kernel/
../../../userlibandfileserver/domainmgr/inc/domainobserver.h /epoc32/include/
../dll/d_ldrtst.h /epoc32/include/
../nkernsa/interrupts.h /epoc32/include/nktest/ //
../nkernsa/nkutils.h /epoc32/include/nktest/ //
../nkernsa/utils.h /epoc32/include/nktest/ //
../nkernsa/diag.h /epoc32/include/nktest/ //
../../../kernel/eka/include/e32huffman.h /epoc32/include/
platsec.settings /epoc32/data/defaulttest.ini
../mmu/d_memorytest.h /epoc32/include/e32test/d_memorytest.h
../buffer/UnicodeData.txt /epoc32/data/z/test/unicodedata.txt
../buffer/UnicodeData.txt /epoc32/release/wins/udeb/z/test/unicodedata.txt
../buffer/UnicodeData.txt /epoc32/release/wins/urel/z/test/unicodedata.txt
../buffer/UnicodeData.txt /epoc32/release/winscw/udeb/z/test/unicodedata.txt
../buffer/UnicodeData.txt /epoc32/release/winscw/urel/z/test/unicodedata.txt
// batch file that runs all automatic Unicode tests on hardware
../group/UnicodeTests.bat /epoc32/data/z/system/test/unicodetests.bat
../group/UnicodeTest.iby /epoc32/rom/include/unicodetest.iby
// REMOVE_ME - Work-around to get stdexe and stddll test cases into ROM.
// should be removed once new tools have been submitted
../dll/oe/eabi/udeb/t_oedll.dll /epoc32/release/armv5/udeb/t_oedll.dll
../dll/oe/eabi/udeb/t_oedll1.dll /epoc32/release/armv5/udeb/t_oedll1.dll
../dll/oe/eabi/udeb/t_oeexport.exe /epoc32/release/armv5/udeb/t_oeexport.exe
../dll/oe/eabi/udeb/t_oeexport1.exe /epoc32/release/armv5/udeb/t_oeexport1.exe
../dll/oe/eabi/urel/t_oedll.dll /epoc32/release/armv5/urel/t_oedll.dll
../dll/oe/eabi/urel/t_oedll1.dll /epoc32/release/armv5/urel/t_oedll1.dll
../dll/oe/eabi/urel/t_oeexport.exe /epoc32/release/armv5/urel/t_oeexport.exe
../dll/oe/eabi/urel/t_oeexport1.exe /epoc32/release/armv5/urel/t_oeexport1.exe
../demandpaging/d_pagestress.h /epoc32/include/
../iic/iic_psl/i2c.h /epoc32/include/e32test/
../iic/iic_psl/spi.h /epoc32/include/e32test/
PRJ_TESTMMPFILES
/******************************************************************************
Put all device drivers here. These build both SMP and non-SMP variants.
User side code builds a single variant for both.
*NOTE: Base BTB will build properly any kernel-side test code embedded within
positive check ( #ifdef SMP ), however these binaries will not be included in BTB
autotest images for SMP platforms. Refer to DTW-KHS BTB00055 for more details.
******************************************************************************/
d_implicit support
d_emitest support
d_ldd support
d_ldd_ram support
d_ldd2 support
d_ldd2_ram support
d_lddns support
d_lddpowerseqtest support
d_ldddigitisertest support
d_lddturnaroundtimertest support
d_newldd support
d_ipccpy support
d_kucopy support
d_ldrtst support
t_prop_ldd support
bm_ldd support
d_sharedio support
d_dobject support
d_memorytest support
d_kheap support
d_sharedchunk support
d_nktrace support
d_sldd support
d_logtofile support
d_eventtracker support
d_traceredirect support
d_btrace support
d_perflogger_test_ldd support
d_kern_msg support
d_gobble support
d_nanowait support
d_medch support
d_shbuf_client support
d_shbuf_own support
d_asid support
#ifdef GENERIC_MARM
d_schedhook support
d_kernasmbm support
d_codemodifier support
d_debugapi support
d_context support
earlyextension support
d_testearlyextension support
#endif
#if !defined X86
rescontrol_psl support
rescontrol_extended_psl support
d_rescontrolcli support
d_extendedrescontrolcli support
d_prmacctstsim support
../resmanus/resourcecontrol support
../resmanus/resourcecontrollerextended support
#endif
// DMA kernel-side test harness for software-simulated DMA framework
// software-simulated DMA framework
d_dmasim support
dmasim support
// Examples for demand paging device driver migration
d_pagingexample_1_pre support
d_pagingexample_1_post support
d_pagingexample_2_pre support
d_pagingexample_2_post support
#if defined(EPOC32) && !defined(X86)
// Test LDD for real hardware DMA
d_dma support
d_dma2 support
d_dma_compat support
d_dma2_compat support
#endif
#ifdef EPOC32
d_atomic support
d_pagestress support
d_ramstress support
d_export support
d_import support
#endif
#ifdef WINS
d_guiconfig support
d_second_excp2 support
#endif
#if defined(MARM_ARMV5) || defined(MARM_ARMV4)
d_second_excp support
d_second_excp2 support
#endif
#if !defined(WINS)
d_demandpaging support
d_pagemove support
#endif
#if !defined(WINS) && !defined(X86)
d_ramdefrag support
d_smpsoak support
#endif
#if !defined(X86)
#if defined(WINS)
../iic/iic_psl/iic_testpsl support
../iic/iic_psl/spi support
../iic/iic_psl/i2c support
../iic/iic_psl/d_iic_client support
../iic/iic_psl/d_iic_slaveclient support
../iic/iic_psl/spi_ctrless support
../iic/iic_psl/i2c_ctrless support
../iic/iic_psl/d_iic_client_ctrless support
../iic/iic_psl/d_iic_slaveclient_ctrless support
#endif
#endif
#if !defined(WINS) && !defined(X86)
d_crazyints support
#endif
/******************************************************************************
User side code here - builds a single variant for both SMP and non-SMP.
******************************************************************************/
#ifndef SMP
#ifdef WINS
// used to make some tests 'manual' on WINS (those which don't really add any useful testing like benchmarks)
#define MANUAL_ON_WINS manual
#else
#define MANUAL_ON_WINS
#endif
#ifdef EPOC32
//T_ROMCHK // check the ROM is OK before starting tests
#endif
// todo: t_shadow tests currently need to run before any ROM pages get shadowed so do this first
// for now
#ifdef EPOC32
t_shadow
#endif
// Do these here since they interfere with latency measurement
t_implicit
t_dmasim // user-side test harness for software-simulated DMA framework
#ifdef GENERIC_MARM
t_schedhook
#endif
t_emi
// RAM defragmentation tests.
// These tests assume that all pages are movable during the tests
// to increase the chances of this nothing should be running in the background.
// Therefore these need to be run before t_lat2 is started.
#if !defined(WINS) && !defined(X86)
t_ramdefrag
#endif
#ifdef EPOC32
// Start the latency measurement
t_lat2
#endif
// /E32TEST/ACTIVE tests
t_act
t_asyc
t_cact
t_cactw
t_cper
t_ctimer
t_timerduration
t_dtim
t_idle
t_messge
// /E32TEST/BENCH tests
#ifdef GENERIC_MARM
t_desbm manual
#endif
t_dhry support
t_excbm MANUAL_ON_WINS
t_exec support
t_membm MANUAL_ON_WINS
t_proc1
t_proc2 support
t_r64bm MANUAL_ON_WINS
#ifdef ARMCC
t_vfpbm
#endif
t_rxbm MANUAL_ON_WINS
t_svr
t_svr2
t_svr5
t_svrstress
t_svr_connect
int_svr_calls support
t_t64bm MANUAL_ON_WINS
t_ipcbm MANUAL_ON_WINS
#ifndef X86
t_kernbm MANUAL_ON_WINS
#endif
t_ctxsw
t_ctxsw3
#ifdef EPOC32
t_prof support
#endif
#ifdef GENERIC_MARM
t_kernasmbm manual
t_userasmbm manual
#endif
// /e32test/benchmark
#ifndef X86
bm_suite MANUAL_ON_WINS
#else
bm_suite manual
#endif
// /E32TEST/BUFFER tests
t_bflat
t_bma
t_bseg
t_buf
t_rbuf
t_char
t_circ
t_collate
t_des
t_farray
t_func
t_graph
t_key
t_lex
t_match
t_parray
t_que
t_readar
t_regn
t_sque
t_varray
t_versio
t_array
t_hashtab
T_FoldPerf
T_UnicodePerf
t_huff
t_memcpy support // time consuming, tests rarely-changed code
#ifndef MARM_THUMB
// That test contains lots of ARM assembly language which is normally
// executed only in privileged mode. So there is no need to build it
// for thumb.
t_tbma support // time consuming, tests rarely-changed code
#endif
// /E32TEST/DATETIME tests
t_dparse support
t_time
t_tparse
// /E32TEST/DEVICE tests
t_ampv support
t_comm support
t_commsk support
t_loop support
// T_MODEM1 support
// T_PROM support
t_term support
t_serial manual
t_sound2
t_sound_api
t_sound_api_helper support
t_soundmchan
t_soundwav support
t_dtenot manual
// T_DCE manual Commented out until DCE implemented
// T_DCEUTL manual
t_keyboardrotate manual
#ifdef GENERIC_MARM
t_slowir support
// T_FIR2 support
t_usb manual
t_usbapi
t_usbcsc
t_testearlyextension
#endif
#ifdef MARM_ARMV5
t_usb_device manual
t_usb_scdevice manual
#endif
t_tldd
t_newldd
t_lddpowerseqtest
t_ldddigitisertest
t_traweventdigitiser
t_persistrestart manual
halsettings support
// /E32TEST/DLL tests
t_dll1 support
t_dll2 support
t_dlla1 support
t_dlla2 support
t_dlla3 support
t_start1 support
t_start2 support
t_start3 support
t_tdll12
t_staticdata
t_tdlla
t_tls
t_tlsdll support
t_tstart
t_loadfail
// REMOVE_ME - Work-around to get stdexe and stddll test cases into ROM.
// should be removed once new tools have been submitted
#if defined(MARM_ARMV5)
t_oefixup
#endif
#ifdef EPOC32
t_ver1_1_0 support
t_ver1_1_1 support
t_ver1_2_0 support
#endif
t_ver1_3_0 support
#ifdef EPOC32
t_ver2_1_0 support
t_ver2_1_1 support
t_ver2_2_0 support
#endif
t_ver2_3_0 support
#ifdef EPOC32
t_xver2a support // request 1.0 work with any
t_xver2b support // request 1.0 work with 2.0 but not 3.0
t_xver2c support // request 1.0 don't work with 2.0
t_xver2d support // request 1.1 work with 1.0 but not 2.0
t_xver2e support // request 1.1 work with any
t_xver2f support // request 1.1 work with 2.0, 3.0 but not with 1.0
t_xver2g support // request 1.1 don't work with 2.0, 3.0 or 1.0
t_xver2h support // request 1.1 work with 1.0 and 2.0 but not 3.0
t_xver2i support // request 1.1 work with 2.0 but not 3.0 or 1.0
t_xver2j support // request 2.0 only use 1.0 exports
t_xver2k support // request 2.0 only use 1.0, 1.1 exports
t_xver2l support // request 2.0 use 2.0 exports work on 3.0
t_xver2m support // request 2.0 use 2.0 exports, don't work on 3.0
t_xver2n support // request 3.0 use 1.0 exports only
t_xver2o support // request 3.0 use all
t_xxver2
#else
t_xxver2w
#endif
#ifdef EPOC32
t_path
t_path2 support
t_pathdll1 support
t_pathdll2 support
t_import_ldd
#endif
#if defined(WINS)
t_dllwsd_dll support
t_dllwsd_dlli support
t_dllwsd
t_dllwsdi
t_dllwsdd
t_dllwsddi
d_wsdextension support
t_wsdextension support
#endif
// /e32test/ethernet
../ethernet/pump/etherpump manual
../ethernet/macset/macset manual
// /E32TEST/HEAP tests
t_fail
#ifdef EPOC32
t_hcomp support
#endif
t_heap
t_heap2
t_heapdb
t_kheap
// /E32TEST/LFFS tests
t_lfsdrv2 manual
t_lfsdrvbm manual
#if defined(GENERIC_MARM)
tf_fsscan manual
tf_suspend manual
tf_suspendsoak manual
tf_suspendsoakw manual
tf_read manual
tf_write manual
tf_erase manual
tf_dump manual
#endif
loadlffs manual
#if defined(GENERIC_MARM)
bf_raw manual
bf_cpu manual
#endif
load9660 support
loadntfs support
// /E32TEST/LOCALE tests
t_msgtxt manual
t_names
t_currencyformat
#if !defined(MARM_ARMI) && !defined(MARM_THUMB)
// Don't build localisation DLLs for ARMI or THUMB
t_loclus support
t_loclus1 support
t_loclus2 support
t_loclge support
#endif
// /E32TEST/MATH tests
t_float
t_i64
t_i64_2
t_math
t_math2
t_r32
/*T_R64*/
t_realx
t_roundtrip
#ifdef GENERIC_MARM
t_vfp
#endif
// /E32TEST/MISC tests
t_duid support
t_uid
cpumeter support
crash support
reboot support
exc support
freemem support
// THRDLIST support
t_abt support
t_dabt support
t_pabt support
t_alive support
t_busy support
t_cmpres
t_death support
t_kill manual
t_ramuse support
t_repmd support
t_stres1 support
t_svr3 support
t_svr6 support
t_xyldr support
t_proc3 support
t_proc3a support
t_mem support
t_unzip support
t_ymodem support
t_ymodemz support
t_lbk support
t_forever support
t_ipccpy
flash support
flash32 support
systemize support
kill support
t_add2p
t_add2p2 support
drvdump support
drvread support
eject support
t_pcreat support
#if !defined(WINS)
t_zip manual
#endif
#ifdef EPOC32
t_undef support
t_tmout support
#endif
t_empty
t_empty2
#if !defined(WINS) && !defined(X86)
t_smpsoak
t_smpsoakprocess support
t_smpsoakspin support
#endif
// /E32TEST/MMU tests
t_chunk
t_chunk2
t_chunk3 support
t_chunk4
t_dchunk manual
t_mmubm
t_wbc
t_sharedio
t_sharedio2
t_sharedio3
t_sharedio4
t_sharedchunk
t_sharedchunkf
t_mmustress
t_shbuf_client
t_shbuf_own
t_shbuf_perf
#ifdef GENERIC_MARM
t_codemodifier
t_codemodifier2 support
t_cache
#endif
t_dobject
#if defined(EPOC32) && !defined(MARM_THUMB)
t_imb
t_btb manual
#endif
#ifdef EPOC32
t_ramall
t_pages support
t_mwait
t_asid
t_asid_dummy support
t_alias_remove
#endif
// /E32TEST/NKERN tests
t_nktrace manual
// /E32TEST/PCCD tests
t_atadrv manual
t_atadr3 support
t_media manual
t_idrv
t_pccdbm manual
t_nandbm manual
t_pccdsk support
t_pccdsr support
t_mmcdrv manual
t_med_writebm manual
#ifdef EPOC32
t_crrdrv support
// T_PCCD1
// T_PCCD2
// T_PCCD3 manual
#endif
t_multislot manual
t_medch
// /E32TEST/POWER tests
t_power
t_power_slave support
t_domain
t_domain_slave support
domainPolicyTest support
t_switchoff
// /E32TEST/PRIME tests
t_kern support
t_sem
t_semutx
t_semutx2
t_mutex support
t_timer
t_rwlock
// /e32test/property
t_property
t_prop_sec support
t_prop_define0 support
t_prop_define1 support
t_prop_define2 support
t_prop_define3 support
t_stress_property support
// /E32TEST/REALTIME tests
t_frag support
#ifdef EPOC32
t_lat2m support
t_latncy support
#endif
t_write support
// /E32TEST/SYSTEM tests
t_atomic
t_chnot
t_cobj
t_ctrap
t_exc
t_inf manual
t_multin
t_prot
t_prot2 support
t_prot2a support
t_reason support
t_ref
t_reg
t_trap
t_cli
t_inact manual
t_kucopy
t_condvar
t_condvar2 support
t_tick manual
t_tock
t_env
t_env_child support
t_mstim2 support
#ifndef EPOC32
t_mstim support // win32 timers sometimes irregular, but a useful test nonetheless
#else
t_mstim
t_debug support
// T_REGRAM support
t_panic support
#endif
// /E32TEST/THREAD tests
t_killer support // because it takes several minutes to run
t_thread
t_thread2
t_threadedserver
#ifdef EPOC32
t_smpsafe
smpsafea support
smpsafeb support
smpsafec support
smpsafed support
smpsafee support
smpsafexa support
smpsafe0 support
smpsafe1 support
smpsafe2 support
smpsafe3 support
smpsafe4 support
smpsafex0 support
smpsafex2 support
#endif
// ../VIDEO tests
#ifndef X86
t_video
t_videomemory
t_videomemprocess
#endif
t_vidmode support
// /E32TEST/DISPCHAN tests
// DISPCHAN can change the state of the emulator GUI and currently must be run
// AFTER t_video
#ifndef X86
t_dispchan
#endif
// /E32TEST/WINDOW tests
t_calib support
t_colour manual
t_wjpwin support
t_wsimp support
t_wwins manual
t_mmcpw manual
t_keys support
// /E32TEST/Y2K tests
t_y2k
// /E32TEST/MQUEUE message queue tests
t_mqueue
t_mqueueecho support
#if defined(WINS)
t_emul
t_emul_slave support
t_emul_dll1 support
t_emul_dll2 support
t_guiconfig
t_jit manual
t_emulex
#endif
#if defined(GENERIC_MARM) || defined(GENERIC_X86) // should really be GENERIC_EPOC32 but that doesn't exist
gnumakefile romstuff.mke support
#endif
// PLATFORM SECURITY TESTS
t_rendezvous
t_smessage
t_sprocess
t_sthread
t_sprioritycap_systemserver
t_sprioritycap_realtimeserver
t_suser
t_polsvr
t_capsup
t_platsecconfig
t_platsecconfig2 support
t_psc_static support
t_psc_dynamic support
t_psc_dll support
t_sobject
t_sserver
t_shal
t_sdrivers
#ifdef GENERIC_MARM
t_ipcsafety
#endif
// Debugger support
t_logtofile manual
t_eventtracker manual
t_traceredirect support
t_heapcorruption support
t_btrace
t_perflogger
#ifdef GENERIC_MARM
t_debugapi manual
t_context
#endif
// /E32TEST/DMA tests
t_dma // user-side test harness for real DMA framework
t_dma2 // user-side test harness for DMAv2 framework
// Example RTOS personality
../personality/example/t_expers support
// Text notifier tests
t_textnotifier
textnotifier2 support
// /E32TEST/CPPEXCEPTIONS
#ifdef WINS
t_romtable2
#endif // WINS
#if defined(MARM_ARMV5) || defined(MARM_ARMV4)
#if defined(__LEAVE_EQUALS_THROW__)
t_romtable
t_romtable2
#endif
t_drtaeabi support
#endif
t_unmap
t_unmap2 support
d_unmap support
d_unmap2 support
t_cputime
t_setkey manual
t_cachechunk
#if !defined(WINS)
t_demandpaging
#if !defined(X86)
t_codepaging
t_codepaging_dll support
t_codepaging_dll2 support
t_codepaging_dll3 support
t_codepaging_dll4 support
t_codepaging_dll5 support
t_codepaging_dll6 support
t_codepaging_dll7 support
dpinfo manual
#endif
// t_dpapi suffixes:
// c => ram loaded code
// p => pageddata
// u => unpageddata
t_dpapi
t_dpapi_p
t_dpapi_u
t_dpapi_c
t_dpapi_cp
t_dpapi_cu
t_datapaging
t_pagetable_limit
t_svrpinning
t_svrpinning_p
t_svrpinning_up
t_tbus_datapaging
#endif
t_wdpsoak support
t_pin
t_kblockmap
t_thrash
// Examples for demand paging device driver migration
t_pagingexample
// Pipe tests related mmps
t_pipe.mmp
t_pipe2.mmp support
t_pipe3.mmp support
t_pipe5.mmp support
t_pipe4.mmp
// Page moving tests
#if !defined(WINS) && !defined(X86)
t_pagemove
t_pagemove_dll support
t_pmwsd support
t_defragperf
t_defragtestperf support
t_defragdll0 support
#endif
// /E32TEST/RESMANUS tests
#if !defined X86
../resmanus/t_resmanus
../resmanus/t_resmanuskern
../resmanus/t_resmanusextended
#endif
// /E32TEST/RESOURCEMAN tests
#if !defined X86
t_rescontrolcli
t_extendedrescontrolcli
t_prmacctstsim
#endif
// /E32TEST/IIC tests
#if !defined(X86)
#if defined(WINS)
../iic/t_iic
#endif
#endif
#if defined(MARM_ARMV5)
t_oeexport2
#endif
#if defined(MARM_ARMV5) || defined(MARM_ARMV4)
t_trkdummyapp
#endif
#if defined(MARM_ARMV5)
t_rmdebug_dll support
t_rmdebug_security0 support
t_rmdebug_security1 support
t_rmdebug_security2 support
t_rmdebug_security3 support
t_rmdebug_app support
t_rmdebug2
t_rmdebug2_oem
t_rmdebug2_oemtoken support
t_rmdebug2_oem2
t_rmdebug2_oemtoken2 support
t_crashmonitor_lib
#endif
t_stacksize
#if !defined(WINS) && !defined(X86)
t_crazyints
#endif
#endif // SMP
t_nanowait
smp_demo support
t_bytepair
t_destruct
t_destruct_slave support
t_destruct_dll support
t_destruct_dll2 support
t_destruct_dll3 support
#include "../examples/examples.inf"
// Shared chunk camera driver tests.
t_camera_api manual
t_camera_gen manual
d_mmcsc support
#include "../hcr/hcr.inf"