blob: 6ba97ec21cbd020faef97b496be6388a6dd8a342 [file] [log] [blame]
#include "./fuzztest/internal/status.h"
#include "absl/status/status.h"
#include "absl/strings/cord.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
absl::Status SetMessage(const absl::Status& status, absl::string_view message) {
absl::Status result(status.code(), message);
status.ForEachPayload(
[&](absl::string_view type_url, const absl::Cord& payload) {
result.SetPayload(type_url, payload);
});
return result;
}
absl::Status Prefix(const absl::Status& status, absl::string_view prefix) {
if (status.ok() || prefix.empty()) return status;
return SetMessage(status, absl::StrCat(prefix, " >> ", status.message()));
}
absl::Status Postfix(const absl::Status& status, absl::string_view postfix) {
if (status.ok() || postfix.empty()) return status;
return SetMessage(status, absl::StrCat(status.message(), " >> ", postfix));
}