LCOV - code coverage report
Current view: top level - source/extensions/common/async_files - status_after_file_error.cc (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 0 45 0.0 %
Date: 2024-01-05 06:35:25 Functions: 0 1 0.0 %

          Line data    Source code
       1             : #include "source/extensions/common/async_files/status_after_file_error.h"
       2             : 
       3             : #include <cerrno>
       4             : #include <string>
       5             : 
       6             : #include "source/common/common/assert.h"
       7             : #include "source/common/common/utility.h"
       8             : 
       9             : #include "absl/status/status.h"
      10             : 
      11             : namespace Envoy {
      12             : namespace Extensions {
      13             : namespace Common {
      14             : namespace AsyncFiles {
      15             : 
      16           0 : absl::Status statusAfterFileError(int code) {
      17           0 :   const std::string str = Envoy::errorDetails(code);
      18           0 :   switch (code) {
      19           0 :   case EACCES:
      20           0 :   case EPERM:
      21           0 :   case EROFS:
      22           0 :     return absl::PermissionDeniedError(str);
      23           0 :   case EBADF:
      24           0 :   case EBUSY:
      25           0 :   case EISDIR:
      26           0 :   case ELOOP:
      27           0 :   case ENOTDIR:
      28           0 :   case ETXTBSY:
      29           0 :   case EWOULDBLOCK:
      30           0 :     return absl::FailedPreconditionError(str);
      31           0 :   case EDQUOT:
      32           0 :   case EMFILE:
      33           0 :   case ENFILE:
      34           0 :   case ENOMEM:
      35           0 :   case ENOSPC:
      36           0 :     return absl::ResourceExhaustedError(str);
      37           0 :   case EEXIST:
      38           0 :     return absl::AlreadyExistsError(str);
      39           0 :   case EFAULT:
      40           0 :   case EINVAL:
      41           0 :   case ENAMETOOLONG:
      42           0 :     return absl::InvalidArgumentError(str);
      43           0 :   case EFBIG:
      44           0 :   case EOVERFLOW:
      45           0 :     return absl::OutOfRangeError(str);
      46           0 :   case EINTR:
      47           0 :     return absl::UnavailableError(str);
      48           0 :   case ENODEV:
      49           0 :   case ENOENT:
      50           0 :   case ENXIO:
      51           0 :     return absl::NotFoundError(str);
      52           0 :   case EOPNOTSUPP:
      53           0 :     return absl::UnimplementedError(str);
      54           0 :   case 0:
      55           0 :     return absl::OkStatus();
      56           0 :   default:
      57           0 :     ENVOY_BUG(false, absl::StrCat("Unrecognized error code ", code));
      58           0 :     return absl::UnknownError(str);
      59           0 :   }
      60           0 : }
      61             : 
      62             : } // namespace AsyncFiles
      63             : } // namespace Common
      64             : } // namespace Extensions
      65             : } // namespace Envoy

Generated by: LCOV version 1.15