|
@@ -97,6 +97,7 @@ int main(int argc, char *argv[])
|
|
|
bool daemon = false;
|
|
|
bool use_syslog = false;
|
|
|
int opt = 0;
|
|
|
+ int status;
|
|
|
while ((opt = getopt(argc, argv, "dlsrtvh")) != -1) {
|
|
|
switch (opt) {
|
|
|
case 'd':
|
|
@@ -106,8 +107,6 @@ int main(int argc, char *argv[])
|
|
|
use_syslog = true;
|
|
|
break;
|
|
|
case 's': {
|
|
|
- int status;
|
|
|
-
|
|
|
if ((status = gamemode_query_status()) < 0) {
|
|
|
fprintf(stderr, "gamemode status request failed: %s\n", gamemode_error_string());
|
|
|
exit(EXIT_FAILURE);
|
|
@@ -126,8 +125,7 @@ int main(int argc, char *argv[])
|
|
|
exit(EXIT_FAILURE);
|
|
|
}
|
|
|
|
|
|
- int status = gamemode_query_status();
|
|
|
- if (status == 2) {
|
|
|
+ if ((status = gamemode_query_status()) == 2) {
|
|
|
fprintf(stdout, "gamemode request succeeded and is active\n");
|
|
|
} else if (status == 1) {
|
|
|
fprintf(stderr,
|
|
@@ -144,8 +142,16 @@ int main(int argc, char *argv[])
|
|
|
exit(EXIT_SUCCESS);
|
|
|
break;
|
|
|
case 't':
|
|
|
- fprintf(stdout, "Running tests...\n");
|
|
|
- exit(EXIT_SUCCESS);
|
|
|
+ if ((status = game_mode_run_tests()) == 0) {
|
|
|
+ fprintf(stdout, "gamemode tests succeeded\n");
|
|
|
+ exit(EXIT_SUCCESS);
|
|
|
+ } else if (status == -1) {
|
|
|
+ fprintf(stderr, "gamemode tests failed\n");
|
|
|
+ exit(EXIT_FAILURE);
|
|
|
+ } else {
|
|
|
+ fprintf(stderr, "gamemode test results unknown: %d\n", status);
|
|
|
+ exit(EXIT_FAILURE);
|
|
|
+ }
|
|
|
break;
|
|
|
case 'v':
|
|
|
fprintf(stdout, VERSION_TEXT);
|