changing text in notices & readme. adding terminate handler for tests

This commit is contained in:
Jordan Maples [MSFT]
2019-12-12 10:55:26 -08:00
parent ec05ecd6b1
commit 4f6f05d463
15 changed files with 450 additions and 215 deletions
+14 -5
View File
@@ -44,9 +44,13 @@
using namespace gsl;
namespace{
constexpr std::string_view deathstring("Expected Death");
void f(int& i) { i += 1; }
static int j = 0;
void g() { j += 1; }
}
TEST(utils_tests, sanity_check_for_gsl_index_typedef)
{
@@ -115,13 +119,18 @@ TEST(utils_tests, narrow_cast)
}
TEST(utils_tests, narrow)
{
{
std::set_terminate([] {
std::cerr << "Expected Death. narrow";
std::abort();
});
int n = 120;
const char c = narrow<char>(n);
EXPECT_TRUE(c == 120);
n = 300;
EXPECT_DEATH(narrow<char>(n), ".*");
EXPECT_DEATH(narrow<char>(n), deathstring.data());
const auto int32_max = std::numeric_limits<int32_t>::max();
const auto int32_min = std::numeric_limits<int32_t>::min();
@@ -130,11 +139,11 @@ TEST(utils_tests, narrow)
EXPECT_TRUE(narrow<uint32_t>(int32_t(1)) == 1);
EXPECT_TRUE(narrow<uint32_t>(int32_max) == static_cast<uint32_t>(int32_max));
EXPECT_DEATH(narrow<uint32_t>(int32_t(-1)), ".*");
EXPECT_DEATH(narrow<uint32_t>(int32_min), ".*");
EXPECT_DEATH(narrow<uint32_t>(int32_t(-1)), deathstring.data());
EXPECT_DEATH(narrow<uint32_t>(int32_min), deathstring.data());
n = -42;
EXPECT_DEATH(narrow<unsigned>(n), ".*");
EXPECT_DEATH(narrow<unsigned>(n), deathstring.data());
#if GSL_CONSTEXPR_NARROW
static_assert(narrow<char>(120) == 120, "Fix GSL_CONSTEXPR_NARROW");