Skip to content
Snippets Groups Projects
Commit e8e9cfe7 authored by Recolic's avatar Recolic :house_with_garden:
Browse files

add die_on_fail to make test easier

parent 1b1b54e9
No related branches found
No related tags found
No related merge requests found
Pipeline #947 passed with stage
in 2 minutes and 27 seconds
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <cstdio> #include <cstdio>
#include <cstdlib> #include <cstdlib>
#include <cstring> #include <cstring>
#include <cstdint>
#include <stdexcept> #include <stdexcept>
#include <sstream> #include <sstream>
#include <type_traits> #include <type_traits>
......
test.hpp 0 → 100644
#include <rlib/macro.hpp>
#include <rlib/string.hpp>
#include <stdexcept>
#include <cerrno>
#include <string>
namespace rlib::details {
struct die_impl {
explicit die_impl(std::string hint_str) : msg(std::move(hint_str)) {}
auto operator=(const long &syscall_res) const {
if(syscall_res < 0)
throw std::runtime_error(rlib::string("Dead. {}. System call returns {}, errno={}, strerror={}").format(msg, syscall_res, errno,
strerror(errno)));
}
std::string msg;
};
}
#define die_on_fail rlib::details::die_impl(std::string(__FILE__ ":" RLIB_MACRO_TO_CSTR(__LINE__))) =
#include <rlib/test.hpp>
int main() {
die_on_fail 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment