Mostly Harmless
UE3:AutoTestManager (UDK)
Contents
- 1 Properties
- 1.1 AutomatedMapTestingList
- 1.2 AutomatedMapTestingTransitionMap
- 1.3 AutomatedPerfRemainingTime
- 1.4 AutomatedTestingExecCommandToRunAtStartMatch
- 1.5 AutomatedTestingMapIndex
- 1.6 bAutoContinueToNextRound
- 1.7 bAutomatedPerfTesting
- 1.8 bAutomatedTestingWithOpen
- 1.9 bCheckingForFragmentation
- 1.10 bCheckingForMemLeaks
- 1.11 bDoingASentinelRun
- 1.12 bSentinelStreamingLevelStillLoading
- 1.13 bUsingAutomatedTestingMapList
- 1.14 NumAutomatedMapTestingCycles
- 1.15 NumberOfMatchesPlayed
- 1.16 NumMapListCyclesDone
- 1.17 NumRotationsIncrement
- 1.18 SentinelIdx
- 1.19 SentinelNavigationIdx
- 1.20 SentinelPC
- 1.21 SentinelTagDesc
- 1.22 SentinelTaskDescription
- 1.23 SentinelTaskParameter
- 1.24 SentinelTravelArray
- 1.25 TravelPointsIncrement
- 1.26 Default values
- 1.27 Subobjects
- 2 Functions
- 2.1 Native functions
- 2.2 Events
- 2.3 Other instance functions
- 2.3.1 CheckForSentinelRun
- 2.3.2 CloseAutomatedMapTestTimer
- 2.3.3 DoTimeBasedSentinelStatGathering
- 2.3.4 DoTravelTheWorld
- 2.3.5 GetNextAutomatedTestingMap
- 2.3.6 IncrementAutomatedTestingMapIndex
- 2.3.7 IncrementNumberOfMatchesPlayed
- 2.3.8 InitializeOptions
- 2.3.9 StartAutomatedMapTestTimerWorker
- 2.3.10 StartMatch
- 3 States
- Package:
- Engine
This is an auto-generated page and may need human attention. Please remove the {{autogenerated}} tag if the page seems reasonably complete or replace it with the {{expand}} tag if the page is not yet complete. |
AutoTestManager
The AutoTestManager is spawned by the GameInfo if requested by the URL. It provides an interface for performing in gameplay automated testing.
Properties[edit]
AutomatedMapTestingList[edit]
Modifiers: globalconfig
List of maps that we are going to be using for the AutomatedMapTesting *
Default value, index 0: "CTF-Hydrosis"
Default value, index 1: "DM-Defiance"
Default value, index 2: "VCTF-Kargo"
Default value, index 3: "WAR-Avalanche"
Default value, index 4: "WAR-Torlan"
AutomatedMapTestingTransitionMap[edit]
Type: string
This will be the 'transition' map used w/ OpenMap runs *
AutomatedPerfRemainingTime[edit]
Type: int
Amount of time remaining before match ends -- used for auto performance test shutdown
AutomatedTestingExecCommandToRunAtStartMatch[edit]
Type: string
This will be run at the start of each start match *
AutomatedTestingMapIndex[edit]
Type: int
The index of the current automated testing map. If < 0 we are in the transition map.
bAutoContinueToNextRound[edit]
Type: bool
This will auto continue to the next round. Very useful doing soak testing and testing traveling to next level *
bAutomatedPerfTesting[edit]
Type: bool
Whether the game is currently in automated perf test mode.
bAutomatedTestingWithOpen[edit]
Type: bool
If TRUE, use OpenMap to transition; if FALSE, use SeamlessTravel *
bCheckingForFragmentation[edit]
Type: bool
Whether or not this game should check for fragmentation. This can be used to have a specific game type check for fragmentation at some point (e.g. start/end of match, time period)
bCheckingForMemLeaks[edit]
Type: bool
Whether or not this game should check for memory leaks *
bDoingASentinelRun[edit]
Type: bool
Whether or this game is doing a bDoingASentinelRun test *
bSentinelStreamingLevelStillLoading[edit]
Type: bool
Modifiers: transient
Used to delay until streaming levels are fully loaded
bUsingAutomatedTestingMapList[edit]
Type: bool
Whether or not we are using the Automated Testing Map list *
NumAutomatedMapTestingCycles[edit]
Type: int
Modifiers: globalconfig
Number of times to run through the list. (0 in infinite) *
NumberOfMatchesPlayed[edit]
Type: int
Number of matches played (maybe remove this before shipping) This is really useful for doing soak testing and such to see how long you lasted! NOTE: This is not replicated out to clients atm.
NumMapListCyclesDone[edit]
Type: int
Keeps track of the current run so when we have repeats and such we know how far along we are *
NumRotationsIncrement[edit]
Type: int
Modifiers: transient
Change increments for iterating through rotations used at sentinel travel locations
SentinelIdx[edit]
Type: int
Modifiers: transient
Iterator for various sentinel state code loops - for loop is in state code, so can't define locally
[edit]
Type: int
Modifiers: transient
Iterator for looping through SentinelTravelArray - for loop is in state code, so can't define locally
SentinelPC[edit]
Type: PlayerController
Modifiers: transient
PlayerController used for Sentinel - picked randomly
SentinelTagDesc[edit]
Type: string
Used for the BeginRun Task___ strings
SentinelTaskDescription[edit]
Type: string
Used for the BeginRun Task___ strings, examples "FlyThrough", "FlyThroughSplitScreen", "BVT"
SentinelTaskParameter[edit]
Type: string
Used for the BeginRun Task___ strings
SentinelTravelArray[edit]
Type: array<Object.Vector>
Modifiers: transient
Locations where sentinel should go to
TravelPointsIncrement[edit]
Type: int
Modifiers: transient
Change increments for iterating through sentinel travel locations
Default values[edit]
Property | Value |
---|---|
CollisionType | COLLIDE_CustomDefault |
Subobjects[edit]
Sprite[edit]
Class: Engine.SpriteComponent
Inherits from: Info.Sprite
Property | Value |
---|---|
ReplacementPrimitive | None |
Functions[edit]
Native functions[edit]
AddSentinelPerTimePeriodStats[edit]
This will output some set of data that we care about when we are doing Sentinel runs while we are doing a MP test or a BVT. Prob just stat unit and some other random stats (streaming fudge factor and such)
BeginSentinelRun[edit]
This will start a SentinelRun in the DB. Setting up the Run table with all of metadata that a run has. This will also set the GSentinelRunID so that the engine knows what the current run is.
Parameters:
- TaskDescription - The name/description of the task that we are running
- TaskParameter - Any Parameters that the task needs
- TagDesc - A specialized tag (e.g. We are doing Task A with Param B and then "MapWithParticlesAdded" so it can be found)
DoSentinel_MemoryAtSpecificLocation[edit]
This will write out the Sentinel data at this location / rotation *
DoSentinel_PerfAtSpecificLocation[edit]
DoSentinelActionPerLoadedMap[edit]
EndSentinelRun[edit]
This will tell the DB to end the current Sentinel run (i.e. GSentinelRunID) and set that Run's RunResult to the passed in var.
Parameters:
- RunResult - The result of this Sentinel run (e.g. OOM, Passed, etc.)
GetTravelLocations[edit]
This will look at the levels and then gather all of the travel points we are interested in *
HandlePerLoadedMapAudioStats[edit]
Add the audio related stats to the database *
Events[edit]
PostBeginPlay[edit]
Overrides: Actor.PostBeginPlay
StartAutomatedMapTestTimer[edit]
Start the AutomatedMapTest transition timer which will sit there and poll the status of the streaming levels. When we are doing malloc profiling and such loading is a lot slower so we can't just assume some time limit before moving on.
Timer[edit]
Overrides: Actor.Timer
Base AutoTestManager timer ticks once per second Checks if perf test timer has run out
Other instance functions[edit]
CheckForSentinelRun[edit]
Start Sentinel Run if needed
Returns:
- true if normal gameinfo startmatch should be aborted
CloseAutomatedMapTestTimer[edit]
Restart the game when timer pops
DoTimeBasedSentinelStatGathering[edit]
This function should be triggered via SetTimer ever few seconds to do the Per Time Period stats gathering *
DoTravelTheWorld[edit]
function to start the world traveling
GetNextAutomatedTestingMap[edit]
Returns:
- the map we should travel to during automated testing
IncrementAutomatedTestingMapIndex[edit]
IncrementNumberOfMatchesPlayed[edit]
InitializeOptions[edit]
Initialize AutoTestManager based on command line options
Parameters:
- Options - is the full command line options string passed to GameInfo
StartAutomatedMapTestTimerWorker[edit]
This will look to make certain that all of the streaming levels are finished streaming *
StartMatch[edit]
Used to initialize automated testing as needed when match starts. Called from GameInfo.StartMatch().
States[edit]
SentinelHandleCauseEventCommand[edit]
TravelTheWorld[edit]
This our state which allows us to have delayed actions while traveling the world (e.g. waiting for levels to stream in)
TravelTheWorld.BeginState[edit]
Overrides: Object.BeginState (global)
Called immediately when entering a state, while within the GotoState() call that caused the state change (before any state code is executed).
TravelTheWorld.CalcTravelTheWorldTime[edit]
TravelTheWorld.PrintOutTravelWorldTimes[edit]
TravelTheWorld.SetIncrementsForLoops[edit]
Modify our Increments so that we get the most number of nodes traveled to best is to travel to all doing 8 directions next is to travel to all and do 4 directions next is to travel to as many as possible across the map doing 4 directions
Parameters:
- NumTravelLocations - is the total number of destination positions