in auth/testapp/src/common_main.cc [88:119]
static bool WaitForFuture(const FutureBase& future, const char* fn,
AuthError expected_error, bool log_error = true) {
// Note if the future has not be started properly.
if (future.status() == ::firebase::kFutureStatusInvalid) {
LogMessage("ERROR: Future for %s is invalid", fn);
return false;
}
// Wait for future to complete.
LogMessage(" Calling %s...", fn);
while (future.status() == ::firebase::kFutureStatusPending) {
if (ProcessEvents(100)) return true;
}
// Log error result.
if (log_error) {
const AuthError error = static_cast<AuthError>(future.error());
if (error == expected_error) {
const char* error_message = future.error_message();
if (error_message) {
LogMessage("%s completed as expected", fn);
} else {
LogMessage("%s completed as expected, error: %d '%s'", fn, error,
error_message);
}
} else {
LogMessage("ERROR: %s completed with error: %d, `%s`", fn, error,
future.error_message());
}
}
return false;
}