Automated rollback of commit e56f562fe2.

PiperOrigin-RevId: 296178631
Change-Id: I0f871aeecd70e9d2f99c7d52d94c6043a1668325
This commit is contained in:
Christian Blichmann 2020-02-20 04:26:01 -08:00 committed by Copybara-Service
parent fc514451e0
commit 5d81c822d8
28 changed files with 140 additions and 31 deletions

View File

@ -27,7 +27,6 @@
#include "sandboxed_api/sandbox2/util/fileops.h" #include "sandboxed_api/sandbox2/util/fileops.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "sandboxed_api/util/raw_logging.h" #include "sandboxed_api/util/raw_logging.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status.h" #include "sandboxed_api/util/status.h"
namespace file_util = ::sandbox2::file_util; namespace file_util = ::sandbox2::file_util;

View File

@ -28,7 +28,6 @@
#include "sandboxed_api/transaction.h" #include "sandboxed_api/transaction.h"
#include "sandboxed_api/util/status_matchers.h" #include "sandboxed_api/util/status_matchers.h"
#include "sandboxed_api/vars.h" #include "sandboxed_api/vars.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status.h" #include "sandboxed_api/util/status.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"

View File

@ -25,7 +25,6 @@
#include "sandboxed_api/examples/sum/lib/sum_params.pb.h" #include "sandboxed_api/examples/sum/lib/sum_params.pb.h"
#include "sandboxed_api/transaction.h" #include "sandboxed_api/transaction.h"
#include "sandboxed_api/vars.h" #include "sandboxed_api/vars.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status.h" #include "sandboxed_api/util/status.h"
namespace { namespace {

View File

@ -22,7 +22,6 @@
#include <vector> #include <vector>
#include "sandboxed_api/proto_arg.pb.h" #include "sandboxed_api/proto_arg.pb.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status.h" #include "sandboxed_api/util/status.h"
#include "sandboxed_api/util/statusor.h" #include "sandboxed_api/util/statusor.h"

View File

@ -19,7 +19,6 @@
#include "absl/synchronization/mutex.h" #include "absl/synchronization/mutex.h"
#include "sandboxed_api/call.h" #include "sandboxed_api/call.h"
#include "sandboxed_api/sandbox2/comms.h" #include "sandboxed_api/sandbox2/comms.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"
namespace sapi { namespace sapi {

View File

@ -39,7 +39,6 @@
#include "sandboxed_api/sandbox2/util/fileops.h" #include "sandboxed_api/sandbox2/util/fileops.h"
#include "sandboxed_api/sandbox2/util/path.h" #include "sandboxed_api/sandbox2/util/path.h"
#include "sandboxed_api/sandbox2/util/runfiles.h" #include "sandboxed_api/sandbox2/util/runfiles.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"
namespace file = ::sandbox2::file; namespace file = ::sandbox2::file;

View File

@ -24,7 +24,6 @@
#include "absl/strings/str_cat.h" #include "absl/strings/str_cat.h"
#include "sandboxed_api/sandbox2/util.h" #include "sandboxed_api/sandbox2/util.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "util/task/canonical_errors.h"
namespace sandbox2 { namespace sandbox2 {

View File

@ -44,7 +44,6 @@
#include "sandboxed_api/sandbox2/sanitizer.h" #include "sandboxed_api/sandbox2/sanitizer.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "sandboxed_api/util/raw_logging.h" #include "sandboxed_api/util/raw_logging.h"
#include "util/task/canonical_errors.h"
namespace sandbox2 { namespace sandbox2 {

View File

@ -57,7 +57,6 @@
#include "sandboxed_api/sandbox2/util/fileops.h" #include "sandboxed_api/sandbox2/util/fileops.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "sandboxed_api/util/raw_logging.h" #include "sandboxed_api/util/raw_logging.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status.h" #include "sandboxed_api/util/status.h"
#include "sandboxed_api/util/statusor.h" #include "sandboxed_api/util/statusor.h"

View File

@ -38,7 +38,6 @@
#include "sandboxed_api/sandbox2/util/path.h" #include "sandboxed_api/sandbox2/util/path.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "sandboxed_api/util/raw_logging.h" #include "sandboxed_api/util/raw_logging.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"
#include "sandboxed_api/util/statusor.h" #include "sandboxed_api/util/statusor.h"

View File

@ -27,7 +27,6 @@
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "absl/strings/str_cat.h" #include "absl/strings/str_cat.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status.h" #include "sandboxed_api/util/status.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"

View File

@ -39,7 +39,6 @@
#include "sandboxed_api/sandbox2/namespace.h" #include "sandboxed_api/sandbox2/namespace.h"
#include "sandboxed_api/sandbox2/util/bpf_helper.h" #include "sandboxed_api/sandbox2/util/bpf_helper.h"
#include "sandboxed_api/sandbox2/util/path.h" #include "sandboxed_api/sandbox2/util/path.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"
namespace sandbox2 { namespace sandbox2 {

View File

@ -25,7 +25,6 @@
#include "absl/strings/str_cat.h" #include "absl/strings/str_cat.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "util/task/canonical_errors.h"
namespace sandbox2 { namespace sandbox2 {

View File

@ -19,7 +19,6 @@
#include "absl/strings/str_cat.h" #include "absl/strings/str_cat.h"
#include "sandboxed_api/sandbox2/syscall.h" #include "sandboxed_api/sandbox2/syscall.h"
#include "sandboxed_api/sandbox2/util.h" #include "sandboxed_api/sandbox2/util.h"
#include "util/task/canonical_errors.h"
namespace sandbox2 { namespace sandbox2 {

View File

@ -24,7 +24,6 @@
#include "absl/time/time.h" #include "absl/time/time.h"
#include "sandboxed_api/sandbox2/monitor.h" #include "sandboxed_api/sandbox2/monitor.h"
#include "sandboxed_api/sandbox2/result.h" #include "sandboxed_api/sandbox2/result.h"
#include "util/task/canonical_errors.h"
namespace sandbox2 { namespace sandbox2 {

View File

@ -43,7 +43,6 @@
#include "sandboxed_api/sandbox2/util/path.h" #include "sandboxed_api/sandbox2/util/path.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "sandboxed_api/util/raw_logging.h" #include "sandboxed_api/util/raw_logging.h"
#include "util/task/canonical_errors.h"
namespace sandbox2 { namespace sandbox2 {
namespace util { namespace util {

View File

@ -14,7 +14,6 @@
#include "sandboxed_api/sandbox2/util/maps_parser.h" #include "sandboxed_api/sandbox2/util/maps_parser.h"
#include "absl/strings/str_split.h" #include "absl/strings/str_split.h"
#include "util/task/canonical_errors.h"
namespace sandbox2 { namespace sandbox2 {

View File

@ -25,7 +25,6 @@
#include "sandboxed_api/sandbox2/util.h" #include "sandboxed_api/sandbox2/util.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "sandboxed_api/util/raw_logging.h" #include "sandboxed_api/util/raw_logging.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status.h" #include "sandboxed_api/util/status.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"

View File

@ -25,7 +25,6 @@
#include "absl/strings/str_cat.h" #include "absl/strings/str_cat.h"
#include "sandboxed_api/sandbox2/util/fileops.h" #include "sandboxed_api/sandbox2/util/fileops.h"
#include "sandboxed_api/sandbox2/util/strerror.h" #include "sandboxed_api/sandbox2/util/strerror.h"
#include "util/task/canonical_errors.h"
namespace sandbox2 { namespace sandbox2 {

View File

@ -13,7 +13,6 @@
// limitations under the License. // limitations under the License.
#include "sandboxed_api/transaction.h" #include "sandboxed_api/transaction.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"
namespace sapi { namespace sapi {

View File

@ -21,7 +21,6 @@
#include "absl/strings/str_cat.h" #include "absl/strings/str_cat.h"
#include "absl/time/time.h" #include "absl/time/time.h"
#include "sandboxed_api/sandbox.h" #include "sandboxed_api/sandbox.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status.h" #include "sandboxed_api/util/status.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"

View File

@ -28,12 +28,8 @@ sapi_proto_library(
# replaced once Abseil releases absl::Status. # replaced once Abseil releases absl::Status.
cc_library( cc_library(
name = "status", name = "status",
srcs = [ srcs = ["status.cc"],
"canonical_errors.cc",
"status.cc",
],
hdrs = [ hdrs = [
"canonical_errors.h",
"status.h", "status.h",
"status_internal.h", "status_internal.h",
"status_macros.h", "status_macros.h",

View File

@ -28,8 +28,6 @@ target_link_libraries(sapi_util_status_proto
# sandboxed_api/util:status # sandboxed_api/util:status
add_library(sapi_util_status STATIC add_library(sapi_util_status STATIC
canonical_errors.cc
canonical_errors.h
status.cc status.cc
status.h status.h
status_internal.h status_internal.h

View File

@ -89,4 +89,102 @@ std::ostream& operator<<(std::ostream& os, const Status& status) {
return os << status.ToString(); return os << status.ToString();
} }
Status AbortedError(absl::string_view message) {
return Status{StatusCode::kAborted, message};
}
Status AlreadyExistsError(absl::string_view message) {
return Status{StatusCode::kAlreadyExists, message};
}
Status CancelledError(absl::string_view message) {
return Status{StatusCode::kCancelled, message};
}
Status DataLossError(absl::string_view message) {
return Status{StatusCode::kDataLoss, message};
}
Status DeadlineExceededError(absl::string_view message) {
return Status{StatusCode::kDeadlineExceeded, message};
}
Status FailedPreconditionError(absl::string_view message) {
return Status{StatusCode::kFailedPrecondition, message};
}
Status InternalError(absl::string_view message) {
return Status{StatusCode::kInternal, message};
}
Status InvalidArgumentError(absl::string_view message) {
return Status{StatusCode::kInvalidArgument, message};
}
Status NotFoundError(absl::string_view message) {
return Status{StatusCode::kNotFound, message};
}
Status OutOfRangeError(absl::string_view message) {
return Status{StatusCode::kOutOfRange, message};
}
Status PermissionDeniedError(absl::string_view message) {
return Status{StatusCode::kPermissionDenied, message};
}
Status ResourceExhaustedError(absl::string_view message) {
return Status{StatusCode::kResourceExhausted, message};
}
Status UnauthenticatedError(absl::string_view message) {
return Status{StatusCode::kUnauthenticated, message};
}
Status UnavailableError(absl::string_view message) {
return Status{StatusCode::kUnavailable, message};
}
Status UnimplementedError(absl::string_view message) {
return Status{StatusCode::kUnimplemented, message};
}
Status UnknownError(absl::string_view message) {
return Status{StatusCode::kUnknown, message};
}
bool IsAborted(const Status& status) {
return status.code() == StatusCode::kAborted;
}
bool IsAlreadyExists(const Status& status) {
return status.code() == StatusCode::kAlreadyExists;
}
bool IsCancelled(const Status& status) {
return status.code() == StatusCode::kCancelled;
}
bool IsDataLoss(const Status& status) {
return status.code() == StatusCode::kDataLoss;
}
bool IsDeadlineExceeded(const Status& status) {
return status.code() == StatusCode::kDeadlineExceeded;
}
bool IsFailedPrecondition(const Status& status) {
return status.code() == StatusCode::kFailedPrecondition;
}
bool IsInternal(const Status& status) {
return status.code() == StatusCode::kInternal;
}
bool IsInvalidArgument(const Status& status) {
return status.code() == StatusCode::kInvalidArgument;
}
bool IsNotFound(const Status& status) {
return status.code() == StatusCode::kNotFound;
}
bool IsOutOfRange(const Status& status) {
return status.code() == StatusCode::kOutOfRange;
}
bool IsPermissionDenied(const Status& status) {
return status.code() == StatusCode::kPermissionDenied;
}
bool IsResourceExhausted(const Status& status) {
return status.code() == StatusCode::kResourceExhausted;
}
bool IsUnauthenticated(const Status& status) {
return status.code() == StatusCode::kUnauthenticated;
}
bool IsUnavailable(const Status& status) {
return status.code() == StatusCode::kUnavailable;
}
bool IsUnimplemented(const Status& status) {
return status.code() == StatusCode::kUnimplemented;
}
bool IsUnknown(const Status& status) {
return status.code() == StatusCode::kUnknown;
}
} // namespace sapi } // namespace sapi

View File

@ -123,6 +123,47 @@ inline bool operator!=(const Status& lhs, const Status& rhs) {
return !(lhs == rhs); return !(lhs == rhs);
} }
// Each of the functions below creates a canonical error with the given
// message. The error code of the returned status object matches the name of
// the function.
Status AbortedError(absl::string_view message);
Status AlreadyExistsError(absl::string_view message);
Status CancelledError(absl::string_view message);
Status DataLossError(absl::string_view message);
Status DeadlineExceededError(absl::string_view message);
Status FailedPreconditionError(absl::string_view message);
Status InternalError(absl::string_view message);
Status InvalidArgumentError(absl::string_view message);
Status NotFoundError(absl::string_view message);
Status OutOfRangeError(absl::string_view message);
Status PermissionDeniedError(absl::string_view message);
Status ResourceExhaustedError(absl::string_view message);
Status UnauthenticatedError(absl::string_view message);
Status UnavailableError(absl::string_view message);
Status UnimplementedError(absl::string_view message);
Status UnknownError(absl::string_view message);
// Each of the functions below returns true if the given status matches the
// canonical error code implied by the function's name. If necessary, the
// status will be converted to the canonical error space to perform the
// comparison.
ABSL_MUST_USE_RESULT bool IsAborted(const Status& status);
ABSL_MUST_USE_RESULT bool IsAlreadyExists(const Status& status);
ABSL_MUST_USE_RESULT bool IsCancelled(const Status& status);
ABSL_MUST_USE_RESULT bool IsDataLoss(const Status& status);
ABSL_MUST_USE_RESULT bool IsDeadlineExceeded(const Status& status);
ABSL_MUST_USE_RESULT bool IsFailedPrecondition(const Status& status);
ABSL_MUST_USE_RESULT bool IsInternal(const Status& status);
ABSL_MUST_USE_RESULT bool IsInvalidArgument(const Status& status);
ABSL_MUST_USE_RESULT bool IsNotFound(const Status& status);
ABSL_MUST_USE_RESULT bool IsOutOfRange(const Status& status);
ABSL_MUST_USE_RESULT bool IsPermissionDenied(const Status& status);
ABSL_MUST_USE_RESULT bool IsResourceExhausted(const Status& status);
ABSL_MUST_USE_RESULT bool IsUnauthenticated(const Status& status);
ABSL_MUST_USE_RESULT bool IsUnavailable(const Status& status);
ABSL_MUST_USE_RESULT bool IsUnimplemented(const Status& status);
ABSL_MUST_USE_RESULT bool IsUnknown(const Status& status);
std::ostream& operator<<(std::ostream& os, const Status& status); std::ostream& operator<<(std::ostream& os, const Status& status);
inline void SaveStatusToProto(const Status& status, StatusProto* out) { inline void SaveStatusToProto(const Status& status, StatusProto* out) {

View File

@ -22,7 +22,6 @@
#include "sandboxed_api/sandbox2/comms.h" #include "sandboxed_api/sandbox2/comms.h"
#include "absl/strings/str_cat.h" #include "absl/strings/str_cat.h"
#include "sandboxed_api/rpcchannel.h" #include "sandboxed_api/rpcchannel.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"
namespace sapi::v { namespace sapi::v {

View File

@ -24,7 +24,6 @@
#include "sandboxed_api/var_abstract.h" #include "sandboxed_api/var_abstract.h"
#include "sandboxed_api/var_pointable.h" #include "sandboxed_api/var_pointable.h"
#include "sandboxed_api/var_ptr.h" #include "sandboxed_api/var_ptr.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"
namespace sapi::v { namespace sapi::v {

View File

@ -14,7 +14,6 @@
#include "sandboxed_api/var_int.h" #include "sandboxed_api/var_int.h"
#include "sandboxed_api/rpcchannel.h" #include "sandboxed_api/rpcchannel.h"
#include "util/task/canonical_errors.h"
#include "sandboxed_api/util/status_macros.h" #include "sandboxed_api/util/status_macros.h"
namespace sapi::v { namespace sapi::v {