MCPcopy Create free account
hub / github.com/OpenApoc/OpenApoc / main

Function main

tests/test_serialize.cpp:71–209  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69}
70
71int main(int argc, char **argv)
72{
73 OpenApoc::config().addPositionalArgument("common", "Common gamestate to load");
74 OpenApoc::config().addPositionalArgument("gamestate", "Gamestate to load");
75
76 if (OpenApoc::config().parseOptions(argc, argv))
77 {
78 return EXIT_FAILURE;
79 }
80
81 auto gamestate_name = OpenApoc::config().getString("gamestate");
82 if (gamestate_name.empty())
83 {
84 std::cerr << "Must provide gamestate\n";
85 OpenApoc::config().showHelp();
86 return EXIT_FAILURE;
87 }
88 auto common_name = OpenApoc::config().getString("common");
89 if (common_name.empty())
90 {
91 std::cerr << "Must provide common gamestate\n";
92 OpenApoc::config().showHelp();
93 return EXIT_FAILURE;
94 }
95
96 OpenApoc::Framework fw("OpenApoc", false);
97
98 LogInfo("Loading \"%s\"", gamestate_name);
99
100 auto state = OpenApoc::mksp<OpenApoc::GameState>();
101
102 {
103 auto state2 = OpenApoc::mksp<OpenApoc::GameState>();
104 if (*state != *state2)
105 {
106 LogError("Empty gamestate failed comparison");
107 return EXIT_FAILURE;
108 }
109 }
110 if (!state->loadGame(common_name))
111 {
112 LogError("Failed to load gamestate_common");
113 return EXIT_FAILURE;
114 }
115
116 if (!state->loadGame(gamestate_name))
117 {
118 LogError("Failed to load supplied gamestate");
119 return EXIT_FAILURE;
120 }
121 LogInfo("Testing non-started non-inited state");
122 if (!test_gamestate_serialization(state))
123 {
124 LogError("Serialization test failed for non-started non-inited game");
125 return EXIT_FAILURE;
126 }
127
128 LogInfo("Testing started non-inited state");

Callers

nothing calls this directly

Calls 15

formatFunction · 0.85
enterBattleFunction · 0.85
emptyMethod · 0.80
startGameMethod · 0.80
initStateMethod · 0.80
getPlayerMethod · 0.80
addPositionalArgumentMethod · 0.45
parseOptionsMethod · 0.45
getStringMethod · 0.45

Tested by

no test coverage detected