diff options
author | Manoj Srivastava <srivasta@debian.org> | 2020-05-22 19:57:41 -0700 |
---|---|---|
committer | Manoj Srivastava <srivasta@debian.org> | 2020-05-22 20:02:19 -0700 |
commit | c3d2579ad8d7eb33059aa8fdbaf5b564411a57f2 (patch) | |
tree | 1570cda0676fdcf4171a69a7fe313c1b89a52b0c /vendor/bandit/bandit/failure_formatters | |
parent | 986b7742bf244b4073ecca0723615f70be8a1ab6 (diff) | |
parent | 4e9b9c402ed95bf9a17fd6d795bc49bb4128a6fa (diff) |
Merge branch 'upstream' into debian-cmake-fixes
Diffstat (limited to 'vendor/bandit/bandit/failure_formatters')
4 files changed, 95 insertions, 0 deletions
diff --git a/vendor/bandit/bandit/failure_formatters/default_failure_formatter.h b/vendor/bandit/bandit/failure_formatters/default_failure_formatter.h new file mode 100644 index 00000000..48cc9021 --- /dev/null +++ b/vendor/bandit/bandit/failure_formatters/default_failure_formatter.h @@ -0,0 +1,30 @@ +#ifndef BANDIT_DEFAULT_FAILURE_FORMATTER_H +#define BANDIT_DEFAULT_FAILURE_FORMATTER_H + +namespace bandit { namespace detail { + + struct default_failure_formatter : public failure_formatter + { + std::string format(const assertion_exception& err) const + { + std::stringstream ss; + if(err.file_name().size()) + { + ss << err.file_name(); + + if(err.line_number()) + { + ss << ":" << err.line_number(); + } + + ss << ": "; + } + + ss << err.what(); + + return ss.str(); + } + }; +}} + +#endif diff --git a/vendor/bandit/bandit/failure_formatters/failure_formatter.h b/vendor/bandit/bandit/failure_formatters/failure_formatter.h new file mode 100644 index 00000000..486624f0 --- /dev/null +++ b/vendor/bandit/bandit/failure_formatters/failure_formatter.h @@ -0,0 +1,13 @@ +#ifndef BANDIT_FAILURE_FORMATTER_H +#define BANDIT_FAILURE_FORMATTER_H + +namespace bandit { namespace detail { + + struct failure_formatter + { + virtual std::string format(const assertion_exception&) const = 0; + }; + typedef std::unique_ptr<failure_formatter> failure_formatter_ptr; +}} + +#endif diff --git a/vendor/bandit/bandit/failure_formatters/failure_formatters.h b/vendor/bandit/bandit/failure_formatters/failure_formatters.h new file mode 100644 index 00000000..d0914651 --- /dev/null +++ b/vendor/bandit/bandit/failure_formatters/failure_formatters.h @@ -0,0 +1,16 @@ +#ifndef BANDIT_FAILURE_FORMATTERS +#define BANDIT_FAILURE_FORMATTERS + +#include "failure_formatter.h" +#include "default_failure_formatter.h" +#include "visual_studio_failure_formatter.h" + +namespace bandit { namespace detail { + inline failure_formatter& registered_failure_formatter() + { + static default_failure_formatter formatter; + return formatter; + } +}} + +#endif diff --git a/vendor/bandit/bandit/failure_formatters/visual_studio_failure_formatter.h b/vendor/bandit/bandit/failure_formatters/visual_studio_failure_formatter.h new file mode 100644 index 00000000..6ff3fdeb --- /dev/null +++ b/vendor/bandit/bandit/failure_formatters/visual_studio_failure_formatter.h @@ -0,0 +1,36 @@ +#ifndef BANDIT_VISUAL_STUDIO_FAILURE_FORMATTER_H +#define BANDIT_VISUAL_STUDIO_FAILURE_FORMATTER_H + +namespace bandit { namespace detail { + + struct visual_studio_failure_formatter : public failure_formatter + { + std::string format(const assertion_exception& err) const + { + std::stringstream ss; + if(err.file_name().size()) + { + ss << err.file_name(); + + if(err.line_number()) + { + ss << "(" << err.line_number() << ")"; + } + + ss << ": "; + } + else + { + ss << "bandit: "; + } + + ss << err.what(); + + return ss.str(); + + } + }; + +}} + +#endif |