MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / RunTests

Method RunTests

Source/UnitTesting.cpp:88–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86}
87
88bool cUnitTesting::RunTests(const std::string pCampaign) {
89 bool Retry = false;
90 g_Fodder->Game_Setup();
91
92 if (g_Fodder->mStartParams->mUnitTesting && g_Fodder->mStartParams->mDemoPlayback) {
93 g_Fodder->mStartParams->mSleepDelta = 0;
94 g_Fodder->mParams->mSleepDelta = 0;
95 }
96
97 while (g_Fodder->mGame_Data.mMission_Current) {
98 EngineSetup();
99 setDemoName();
100
101 std::string MissionTitle = getCurrentTestName();
102
103 if (g_Fodder->mStartParams->mDemoRecord && !Retry) {
104 if (g_ResourceMan->FileExists(g_Fodder->mStartParams->mDemoFile)) {
105 g_Debugger->Notice("Test exists for " + MissionTitle + ", skipping");
106 g_Fodder->mGame_Data.Phase_Next();
107 continue;
108 }
109 }
110
111 Retry = false;
112 g_Debugger->TestStart(MissionTitle, g_Fodder->mStartParams->mCampaignName);
113
114 if (g_Fodder->mStartParams->mDemoPlayback) {
115 if (!g_Fodder->mStartParams->mDemoRecord) {
116 if (!g_Fodder->Demo_Load()) {
117 g_Debugger->TestComplete(MissionTitle, g_Fodder->mStartParams->mCampaignName, "No test found", 0, eTest_Skipped);
118 g_Fodder->mGame_Data.Phase_Next();
119 continue;
120 }
121 }
122
123 g_Fodder->mGame_Data.mDemoRecorded.playback();
124 }
125
126 // If demo is recording
127 if (g_Fodder->mStartParams->mDemoRecord) {
128 // And we have a resume cycle set
129 if (g_Fodder->mStartParams->mDemoRecordResumeCycle) {
130 g_Debugger->Notice("Resuming " + MissionTitle);
131 g_Fodder->mParams->mSleepDelta = 0;
132 }
133 else {
134 g_Fodder->mGame_Data.mDemoRecorded.clear();
135 g_Debugger->Notice("Recording " + MissionTitle);
136 }
137 }
138
139 // Reset demo status
140 g_Fodder->mParams->mDemoFile = g_Fodder->mStartParams->mDemoFile;
141 g_Fodder->mParams->mDemoRecord = g_Fodder->mStartParams->mDemoRecord;
142 g_Fodder->mParams->mDemoPlayback = g_Fodder->mStartParams->mDemoPlayback;
143 g_Fodder->mParams->mAppVeyor = g_Fodder->mStartParams->mAppVeyor;
144 // Keep game state
145 g_Fodder->mGame_Data_Backup = g_Fodder->mGame_Data;

Callers

nothing calls this directly

Calls 13

Game_SetupMethod · 0.80
FileExistsMethod · 0.80
NoticeMethod · 0.80
Phase_NextMethod · 0.80
TestStartMethod · 0.80
Demo_LoadMethod · 0.80
TestCompleteMethod · 0.80
playbackMethod · 0.80
Mission_LoopMethod · 0.80
removeFromMethod · 0.80
clearMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected