5cbd3f29e3
Fuzz / Run fuzz harnesses (${{ github.event_name == 'schedule' && 'nightly' || 'smoke' }}) (push) Has been cancelled
Create Releases / call-mac (push) Has been cancelled
Create Releases / call-linux (push) Has been cancelled
Create Releases / call-sdist (push) Has been cancelled
Create Releases / call-win (push) Has been cancelled
Create Releases / call-pyodide (push) Has been cancelled
Windows_No_Exception_CI / build (x64, 3.10) (push) Has been cancelled
Check URLs / build (push) Has been cancelled
Create Releases / Attest CI build artifacts (push) Has been cancelled
Create Releases / Check for Publish release build to pypi (push) Has been cancelled
Create Releases / Check for Publish preview build to test.pypi-weekly (push) Has been cancelled
Create Releases / Publish preview build to test.pypi-weekly (push) Has been cancelled
Create Releases / Check for Publish release build to test.pypi (rc-candidates) (push) Has been cancelled
Create Releases / Publish release build to test.pypi (push) Has been cancelled
Create Releases / Check for Publish preview build to pypi-weekly (push) Has been cancelled
Create Releases / Publish preview build to pypi-weekly (push) Has been cancelled
Create Releases / Publish release build to pypi (push) Has been cancelled
Create Releases / test source distribution (push) Has been cancelled
clang-tidy / clang-tidy (push) Has been cancelled
Lint / Validate SBOM (push) Has been cancelled
Lint / Enforce style (push) Has been cancelled
CI / Test windows-2022, 3.14, External, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test windows-latest, 3.10, Internal, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test windows-latest, 3.14, Internal, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test windows-latest, 3.14t, Internal, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test ubuntu-24.04, 3.14, Internal, debug=1, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test ubuntu-24.04, 3.14, External, debug=0, unity_build=1, onnx_ml=1, autogen=1 (push) Has been cancelled
CI / Test ubuntu-24.04, 3.14, External, debug=0, unity_build=0, onnx_ml=0, autogen=0 (push) Has been cancelled
CI / Test macos-latest, 3.10, Internal, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test macos-latest, 3.14, Internal, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test macos-latest, 3.14t, Internal, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test ubuntu-24.04, 3.14, External, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test ubuntu-24.04, 3.10, Internal, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test ubuntu-24.04, 3.14, Internal, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
CI / Test ubuntu-24.04, 3.14t, Internal, debug=0, unity_build=0, onnx_ml=1, autogen=0 (push) Has been cancelled
Pixi CI / Install and lint (ubuntu-24.04-arm) (push) Has been cancelled
Pixi CI / Install and lint (windows-2022) (push) Has been cancelled
Pixi CI / Xcode generator build (push) Has been cancelled
Pixi CI / Install and test (macos-latest, default) (push) Has been cancelled
Pixi CI / Install and test (ubuntu-24.04-arm, default) (push) Has been cancelled
Pixi CI / Install and test (ubuntu-latest, default) (push) Has been cancelled
Pixi CI / Install and test (windows-2022, default) (push) Has been cancelled
Pixi CI / Install and test (macos-latest, oldies) (push) Has been cancelled
Pixi CI / Install and test (ubuntu-24.04-arm, oldies) (push) Has been cancelled
Pixi CI / Install and test (ubuntu-latest, oldies) (push) Has been cancelled
Pixi CI / Install and test (windows-2022, oldies) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Copilot Setup Steps / copilot-setup-steps (push) Has been cancelled
Generate and publish ONNX docs / build (push) Has been cancelled
Generate and publish ONNX docs / deploy (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
90 lines
1.9 KiB
C++
90 lines
1.9 KiB
C++
// Copyright (c) ONNX Project Contributors
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
#include "onnx/common/status.h"
|
|
|
|
#include <cassert>
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
#include "onnx/string_utils.h"
|
|
|
|
namespace ONNX_NAMESPACE {
|
|
namespace Common {
|
|
|
|
Status::Status(StatusCategory category, StatusCode code, const std::string& msg) {
|
|
assert(StatusCode::OK != code);
|
|
state_ = std::make_unique<State>(category, code, msg);
|
|
}
|
|
|
|
Status::Status(StatusCategory category, StatusCode code) : Status(category, code, EmptyString()) {}
|
|
|
|
bool Status::IsOK() const noexcept {
|
|
return (state_ == nullptr);
|
|
}
|
|
|
|
StatusCategory Status::Category() const noexcept {
|
|
return IsOK() ? StatusCategory::NONE : state_->category;
|
|
}
|
|
|
|
StatusCode Status::Code() const noexcept {
|
|
return IsOK() ? StatusCode::OK : state_->code;
|
|
}
|
|
|
|
const std::string& Status::ErrorMessage() const {
|
|
return IsOK() ? EmptyString() : state_->msg;
|
|
}
|
|
|
|
std::string Status::ToString() const {
|
|
if (state_ == nullptr) {
|
|
return std::string("OK");
|
|
}
|
|
|
|
std::string result;
|
|
|
|
if (StatusCategory::CHECKER == state_->category) {
|
|
result += "[CheckerError]";
|
|
} else if (StatusCategory::OPTIMIZER == state_->category) {
|
|
result += "[OptimizerError]";
|
|
}
|
|
|
|
result += " : ";
|
|
result += ONNX_NAMESPACE::to_string(static_cast<int>(Code()));
|
|
std::string msg;
|
|
|
|
switch (Code()) {
|
|
case StatusCode::INVALID_ARGUMENT:
|
|
msg = "INVALID_ARGUMENT";
|
|
break;
|
|
case StatusCode::INVALID_PROTOBUF:
|
|
msg = "INVALID_PROTOBUF";
|
|
break;
|
|
case StatusCode::FAIL:
|
|
msg = "FAIL";
|
|
break;
|
|
default:
|
|
msg = "GENERAL ERROR";
|
|
break;
|
|
}
|
|
result += " : ";
|
|
result += msg;
|
|
result += " : ";
|
|
result += state_->msg;
|
|
|
|
return result;
|
|
}
|
|
|
|
const Status& Status::OK() noexcept {
|
|
static Status s_ok;
|
|
return s_ok;
|
|
}
|
|
|
|
const std::string& Status::EmptyString() {
|
|
static std::string empty_str;
|
|
return empty_str;
|
|
}
|
|
|
|
} // namespace Common
|
|
} // namespace ONNX_NAMESPACE
|