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
AutomatedMapTestingList
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
Type: string
This will be the 'transition' map used w/ OpenMap runs *
AutomatedPerfRemainingTime
Type: int
Amount of time remaining before match ends -- used for auto performance test shutdown
AutomatedTestingExecCommandToRunAtStartMatch
Type: string
This will be run at the start of each start match *
AutomatedTestingMapIndex
Type: int
The index of the current automated testing map. If < 0 we are in the transition map.
bAutoContinueToNextRound
Type: bool
This will auto continue to the next round. Very useful doing soak testing and testing traveling to next level *
bAutomatedPerfTesting
Type: bool
Whether the game is currently in automated perf test mode.
bAutomatedTestingWithOpen
Type: bool
If TRUE, use OpenMap to transition; if FALSE, use SeamlessTravel *
bCheckingForFragmentation
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
Type: bool
Whether or not this game should check for memory leaks *
bDoingASentinelRun
Type: bool
Whether or this game is doing a bDoingASentinelRun test *
bSentinelStreamingLevelStillLoading
Type: bool
Modifiers: transient
Used to delay until streaming levels are fully loaded
bUsingAutomatedTestingMapList
Type: bool
Whether or not we are using the Automated Testing Map list *
NumAutomatedMapTestingCycles
Type: int
Modifiers: globalconfig
Number of times to run through the list. (0 in infinite) *
NumberOfMatchesPlayed
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
Type: int
Keeps track of the current run so when we have repeats and such we know how far along we are *
NumRotationsIncrement
Type: int
Modifiers: transient
Change increments for iterating through rotations used at sentinel travel locations
SentinelIdx
Type: int
Modifiers: transient
Iterator for various sentinel state code loops - for loop is in state code, so can't define locally
Type: int
Modifiers: transient
Iterator for looping through SentinelTravelArray - for loop is in state code, so can't define locally
SentinelPC
Type: PlayerController
Modifiers: transient
PlayerController used for Sentinel - picked randomly
SentinelTagDesc
Type: string
Used for the BeginRun Task___ strings
SentinelTaskDescription
Type: string
Used for the BeginRun Task___ strings, examples "FlyThrough", "FlyThroughSplitScreen", "BVT"
SentinelTaskParameter
Type: string
Used for the BeginRun Task___ strings
SentinelTravelArray
Type: array<Object.Vector>
Modifiers: transient
Locations where sentinel should go to
TravelPointsIncrement
Type: int
Modifiers: transient
Change increments for iterating through sentinel travel locations
Default values
Property | Value |
---|---|
CollisionType | COLLIDE_CustomDefault |
Subobjects
Sprite
Class: Engine.SpriteComponent
Inherits from: Info.Sprite
Property | Value |
---|---|
ReplacementPrimitive | None |
Functions
Native functions
AddSentinelPerTimePeriodStats
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
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
This will write out the Sentinel data at this location / rotation *
DoSentinel_PerfAtSpecificLocation
DoSentinelActionPerLoadedMap
EndSentinelRun
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
This will look at the levels and then gather all of the travel points we are interested in *
HandlePerLoadedMapAudioStats
Add the audio related stats to the database *
Events
PostBeginPlay
Overrides: Actor.PostBeginPlay
StartAutomatedMapTestTimer
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
Overrides: Actor.Timer
Base AutoTestManager timer ticks once per second Checks if perf test timer has run out
Other instance functions
CheckForSentinelRun
Start Sentinel Run if needed
Returns:
- true if normal gameinfo startmatch should be aborted
CloseAutomatedMapTestTimer
Restart the game when timer pops
DoTimeBasedSentinelStatGathering
This function should be triggered via SetTimer ever few seconds to do the Per Time Period stats gathering *
DoTravelTheWorld
function to start the world traveling
GetNextAutomatedTestingMap
Returns:
- the map we should travel to during automated testing
IncrementAutomatedTestingMapIndex
IncrementNumberOfMatchesPlayed
InitializeOptions
Initialize AutoTestManager based on command line options
Parameters:
- Options - is the full command line options string passed to GameInfo
StartAutomatedMapTestTimerWorker
This will look to make certain that all of the streaming levels are finished streaming *
StartMatch
Used to initialize automated testing as needed when match starts. Called from GameInfo.StartMatch().
States
SentinelHandleCauseEventCommand
TravelTheWorld
This our state which allows us to have delayed actions while traveling the world (e.g. waiting for levels to stream in)
TravelTheWorld.BeginState
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
TravelTheWorld.PrintOutTravelWorldTimes
TravelTheWorld.SetIncrementsForLoops
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