Loading lib/cargo/error.hpp +6 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,8 @@ class error_code { not_implemented = 2, no_such_transfer = 3, transfer_in_progress = 4, /* ... */ other = 127, }; public: Loading @@ -52,6 +54,8 @@ public: static const error_code not_implemented; static const error_code no_such_transfer; static const error_code transfer_in_progress; /* ... */ static const error_code other; constexpr error_code() : error_code(error_value::success) {} constexpr explicit error_code(error_value v) Loading Loading @@ -99,6 +103,8 @@ constexpr error_code error_code::no_such_transfer{ error_value::no_such_transfer}; constexpr error_code error_code::transfer_in_progress{ error_value::transfer_in_progress}; /* ... */ constexpr error_code error_code::other{error_value::other}; static constexpr cargo::error_code make_system_error(std::uint32_t ec) { Loading lib/error.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -281,6 +281,9 @@ error_code::name() const { return "CARGO_NO_SUCH_TRANSFER"; case error_value::transfer_in_progress: return "CARGO_TRANSFER_IN_PROGRESS"; /* ... */ case error_value::other: return "CARGO_OTHER"; default: return "CARGO_UNKNOWN_ERROR"; } Loading @@ -302,6 +305,9 @@ error_code::message() const { return "no such transfer"; case error_value::transfer_in_progress: return "transfer in progress"; /* ... */ case error_value::other: return "other"; default: return "unknown error"; } Loading src/worker/mpio_read.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -144,8 +144,12 @@ mpio_read::operator()() const { } catch(const posix_file::io_error& e) { LOGGER_ERROR("{}() failed: {}", e.where(), e.what()); return make_system_error(e.error_code()); } catch (const std::system_error& e) { LOGGER_ERROR("Unexpected system error: {}", e.what()); return make_system_error(e.code().value()); } catch(const std::exception& e) { std::cerr << e.what() << '\n'; LOGGER_ERROR("Unexpected exception: {}", e.what()); return error_code::other; } return error_code::success; Loading src/worker/mpio_write.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -146,8 +146,12 @@ mpio_write::operator()() const { } catch(const posix_file::io_error& e) { LOGGER_ERROR("{}() failed: {}", e.where(), e.what()); return make_system_error(e.error_code()); } catch (const std::system_error& e) { LOGGER_ERROR("Unexpected system error: {}", e.what()); return make_system_error(e.code().value()); } catch(const std::exception& e) { std::cerr << e.what() << '\n'; LOGGER_ERROR("Unexpected exception: {}", e.what()); return error_code::other; } return error_code::success; Loading tests/tests.cpp +11 −5 Original line number Diff line number Diff line Loading @@ -40,11 +40,15 @@ using namespace std::literals; using namespace std::chrono_literals; std::ostream& operator<<(std::ostream& os, const cargo::error_code& ec) { os << ec.name(); return os; namespace Catch { template <> struct StringMaker<cargo::error_code> { static std::string convert(const cargo::error_code& ec) { return std::string{ec.name()}; } }; } // namespace Catch CATCH_REGISTER_ENUM(cargo::transfer_state, cargo::transfer_state::pending, cargo::transfer_state::running, Loading Loading @@ -240,6 +244,7 @@ SCENARIO("Parallel reads", "[flex_stager][parallel_reads]") { // wait for the transfer to complete auto s = tx.wait(); CAPTURE(s.error()); REQUIRE(s.state() == cargo::transfer_state::completed); REQUIRE(s.error() == cargo::error_code::success); Loading Loading @@ -301,6 +306,7 @@ SCENARIO("Parallel writes", "[flex_stager][parallel_writes]") { // wait for the transfer to complete auto s = tx.wait(); CAPTURE(s.error()); REQUIRE(s.state() == cargo::transfer_state::completed); REQUIRE(s.error() == cargo::error_code::success); Loading Loading
lib/cargo/error.hpp +6 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,8 @@ class error_code { not_implemented = 2, no_such_transfer = 3, transfer_in_progress = 4, /* ... */ other = 127, }; public: Loading @@ -52,6 +54,8 @@ public: static const error_code not_implemented; static const error_code no_such_transfer; static const error_code transfer_in_progress; /* ... */ static const error_code other; constexpr error_code() : error_code(error_value::success) {} constexpr explicit error_code(error_value v) Loading Loading @@ -99,6 +103,8 @@ constexpr error_code error_code::no_such_transfer{ error_value::no_such_transfer}; constexpr error_code error_code::transfer_in_progress{ error_value::transfer_in_progress}; /* ... */ constexpr error_code error_code::other{error_value::other}; static constexpr cargo::error_code make_system_error(std::uint32_t ec) { Loading
lib/error.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -281,6 +281,9 @@ error_code::name() const { return "CARGO_NO_SUCH_TRANSFER"; case error_value::transfer_in_progress: return "CARGO_TRANSFER_IN_PROGRESS"; /* ... */ case error_value::other: return "CARGO_OTHER"; default: return "CARGO_UNKNOWN_ERROR"; } Loading @@ -302,6 +305,9 @@ error_code::message() const { return "no such transfer"; case error_value::transfer_in_progress: return "transfer in progress"; /* ... */ case error_value::other: return "other"; default: return "unknown error"; } Loading
src/worker/mpio_read.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -144,8 +144,12 @@ mpio_read::operator()() const { } catch(const posix_file::io_error& e) { LOGGER_ERROR("{}() failed: {}", e.where(), e.what()); return make_system_error(e.error_code()); } catch (const std::system_error& e) { LOGGER_ERROR("Unexpected system error: {}", e.what()); return make_system_error(e.code().value()); } catch(const std::exception& e) { std::cerr << e.what() << '\n'; LOGGER_ERROR("Unexpected exception: {}", e.what()); return error_code::other; } return error_code::success; Loading
src/worker/mpio_write.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -146,8 +146,12 @@ mpio_write::operator()() const { } catch(const posix_file::io_error& e) { LOGGER_ERROR("{}() failed: {}", e.where(), e.what()); return make_system_error(e.error_code()); } catch (const std::system_error& e) { LOGGER_ERROR("Unexpected system error: {}", e.what()); return make_system_error(e.code().value()); } catch(const std::exception& e) { std::cerr << e.what() << '\n'; LOGGER_ERROR("Unexpected exception: {}", e.what()); return error_code::other; } return error_code::success; Loading
tests/tests.cpp +11 −5 Original line number Diff line number Diff line Loading @@ -40,11 +40,15 @@ using namespace std::literals; using namespace std::chrono_literals; std::ostream& operator<<(std::ostream& os, const cargo::error_code& ec) { os << ec.name(); return os; namespace Catch { template <> struct StringMaker<cargo::error_code> { static std::string convert(const cargo::error_code& ec) { return std::string{ec.name()}; } }; } // namespace Catch CATCH_REGISTER_ENUM(cargo::transfer_state, cargo::transfer_state::pending, cargo::transfer_state::running, Loading Loading @@ -240,6 +244,7 @@ SCENARIO("Parallel reads", "[flex_stager][parallel_reads]") { // wait for the transfer to complete auto s = tx.wait(); CAPTURE(s.error()); REQUIRE(s.state() == cargo::transfer_state::completed); REQUIRE(s.error() == cargo::error_code::success); Loading Loading @@ -301,6 +306,7 @@ SCENARIO("Parallel writes", "[flex_stager][parallel_writes]") { // wait for the transfer to complete auto s = tx.wait(); CAPTURE(s.error()); REQUIRE(s.state() == cargo::transfer_state::completed); REQUIRE(s.error() == cargo::error_code::success); Loading