Added support for completely disabling noexcept using MIJIN_TEST_NO_NOEXCEPT (for testing).

This commit is contained in:
2024-08-29 00:01:23 +02:00
parent a43f92fb58
commit 9ba097fc2f
41 changed files with 643 additions and 564 deletions

View File

@@ -140,7 +140,7 @@ StreamFeatures ProcessStream::getFeatures()
return {};
}
std::string shellEscape(const std::string& arg) noexcept
std::string shellEscape(const std::string& arg) MIJIN_NOEXCEPT
{
std::ostringstream oss;
const bool requiresQuotes = std::any_of(arg.begin(), arg.end(), [&](const char chr) { return std::isspace(chr); });
@@ -168,7 +168,7 @@ std::string shellEscape(const std::string& arg) noexcept
return oss.str();
}
std::string makeShellCommand(const std::vector<std::string>& args) noexcept
std::string makeShellCommand(const std::vector<std::string>& args) MIJIN_NOEXCEPT
{
using namespace mijin::pipe;
return args

View File

@@ -5,6 +5,7 @@
#include <vector>
#include "./stream.hpp"
#include "../internal/common.hpp"
namespace mijin
{
@@ -35,8 +36,8 @@ public:
StreamFeatures getFeatures() override;
};
[[nodiscard]] std::string shellEscape(const std::string& arg) noexcept;
[[nodiscard]] std::string makeShellCommand(const std::vector<std::string>& args) noexcept;
[[nodiscard]] std::string shellEscape(const std::string& arg) MIJIN_NOEXCEPT;
[[nodiscard]] std::string makeShellCommand(const std::vector<std::string>& args) MIJIN_NOEXCEPT;
StreamError ProcessStream::open(const std::vector<std::string>& args, FileOpenMode mode_)
{

View File

@@ -12,6 +12,7 @@
#include <string>
#include "../async/coroutine.hpp"
#include "../container/typeless_buffer.hpp"
#include "../internal/common.hpp"
#include "../types/result.hpp"
#include "../util/exception.hpp"
@@ -421,7 +422,7 @@ mijin::Task<StreamError> Stream::c_readAsString(std::basic_string<TChar>& outStr
}
inline const char* errorName(StreamError error) noexcept
inline const char* errorName(StreamError error) MIJIN_NOEXCEPT
{
switch (error)
{