mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-14 14:59:52 -04:00
fix(conv): try_to<bool>
wasn't actually calling str_to_bool
This commit is contained in:
parent
03e54a490c
commit
d080c20c20
@ -77,7 +77,7 @@ std::optional<bool> try_to(std::string_view s)
|
|||||||
|
|
||||||
template <typename T, typename U>
|
template <typename T, typename U>
|
||||||
std::optional<T> try_to(U&& s)
|
std::optional<T> try_to(U&& s)
|
||||||
requires(std::convertible_to<U, T>)
|
requires(!std::same_as<T, bool> && std::convertible_to<U, T>)
|
||||||
{
|
{
|
||||||
return std::forward<U>(s);
|
return std::forward<U>(s);
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
#include <tuple>
|
#include <tuple>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include <folly/portability/Stdlib.h>
|
||||||
|
|
||||||
#include <dwarfs/error.h>
|
#include <dwarfs/error.h>
|
||||||
#include <dwarfs/util.h>
|
#include <dwarfs/util.h>
|
||||||
|
|
||||||
@ -390,3 +392,34 @@ TEST(utils, parse_time_point) {
|
|||||||
::testing::ThrowsMessage<dwarfs::runtime_error>(
|
::testing::ThrowsMessage<dwarfs::runtime_error>(
|
||||||
::testing::HasSubstr("cannot parse time point")));
|
::testing::HasSubstr("cannot parse time point")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(utils, getenv_is_enabled) {
|
||||||
|
static char const* const test_var = "_DWARFS_THIS_IS_A_TEST_";
|
||||||
|
|
||||||
|
EXPECT_EQ(0, unsetenv("_DWARFS_THIS_IS_A_TEST_"));
|
||||||
|
EXPECT_FALSE(getenv_is_enabled(test_var));
|
||||||
|
|
||||||
|
EXPECT_EQ(0, setenv(test_var, "0", 1));
|
||||||
|
EXPECT_FALSE(getenv_is_enabled(test_var));
|
||||||
|
|
||||||
|
EXPECT_EQ(0, setenv(test_var, "1", 1));
|
||||||
|
EXPECT_TRUE(getenv_is_enabled(test_var));
|
||||||
|
|
||||||
|
EXPECT_EQ(0, setenv(test_var, "false", 1));
|
||||||
|
EXPECT_FALSE(getenv_is_enabled(test_var));
|
||||||
|
|
||||||
|
EXPECT_EQ(0, setenv(test_var, "true", 1));
|
||||||
|
EXPECT_TRUE(getenv_is_enabled(test_var));
|
||||||
|
|
||||||
|
EXPECT_EQ(0, setenv(test_var, "off", 1));
|
||||||
|
EXPECT_FALSE(getenv_is_enabled(test_var));
|
||||||
|
|
||||||
|
EXPECT_EQ(0, setenv(test_var, "on", 1));
|
||||||
|
EXPECT_TRUE(getenv_is_enabled(test_var));
|
||||||
|
|
||||||
|
EXPECT_EQ(0, setenv(test_var, "ThisAintBool", 1));
|
||||||
|
EXPECT_FALSE(getenv_is_enabled(test_var));
|
||||||
|
|
||||||
|
EXPECT_EQ(0, unsetenv(test_var));
|
||||||
|
EXPECT_FALSE(getenv_is_enabled(test_var));
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user