aboutsummaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorJade Lovelace <lix@jade.fyi>2024-03-29 20:26:38 -0700
committerJade Lovelace <lix@jade.fyi>2024-03-29 20:26:38 -0700
commit1fa6a3e3354bd98707303476b5a54147ccdd533a (patch)
treec3804cca7a9ec266de780019a95180e20387c92f /tests/unit
parent99f159c5367e423097fe4347375bdfc4f76d2c0c (diff)
Fix various clang-tidy lints
* some things that can throw are marked noexcept yet the linter seems to think not. Maybe they can't throw in practice. I would rather not have the UB possibility in pretty obvious cold paths. * various default-case-missing complaints * a fair pile of casts from integer to character, which are in fact deliberate. * an instance of <https://clang.llvm.org/extra/clang-tidy/checks/bugprone/move-forwarding-reference.html> * bugprone-not-null-terminated-result on handing a string to curl in chunks of bytes. our usage is fine. * reassigning a unique_ptr by CRIMES instead of using release(), then using release() and ignoring the result. wild. let's use release() for its intended purpose. Change-Id: Ic3e7affef12383576213a8a7c8145c27e662513d
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/libstore-support/tests/path.cc6
-rw-r--r--tests/unit/libstore/outputs-spec.cc30
-rw-r--r--tests/unit/libutil-support/tests/terminal-code-eater.cc1
3 files changed, 20 insertions, 17 deletions
diff --git a/tests/unit/libstore-support/tests/path.cc b/tests/unit/libstore-support/tests/path.cc
index 8bf501ab6..ffc4fc607 100644
--- a/tests/unit/libstore-support/tests/path.cc
+++ b/tests/unit/libstore-support/tests/path.cc
@@ -32,13 +32,13 @@ Gen<StorePathName> Arbitrary<StorePathName>::arbitrary()
for (size_t c = 0; c < len; ++c) {
switch (auto i = *gen::inRange<uint8_t>(0, 10 + 2 * 26 + 6)) {
case 0 ... 9:
- pre += '0' + i;
+ pre += static_cast<uint8_t>('0' + i);
break;
case 10 ... 35:
- pre += 'A' + (i - 10);
+ pre += static_cast<uint8_t>('A' + (i - 10));
break;
case 36 ... 61:
- pre += 'a' + (i - 36);
+ pre += static_cast<uint8_t>('a' + (i - 36));
break;
case 62:
pre += '+';
diff --git a/tests/unit/libstore/outputs-spec.cc b/tests/unit/libstore/outputs-spec.cc
index 63cde681b..72a7da974 100644
--- a/tests/unit/libstore/outputs-spec.cc
+++ b/tests/unit/libstore/outputs-spec.cc
@@ -170,20 +170,22 @@ TEST(ExtendedOutputsSpec, many_carrot) {
}
-#define TEST_JSON(TYPE, NAME, STR, VAL) \
- \
- TEST(TYPE, NAME ## _to_json) { \
- using nlohmann::literals::operator "" _json; \
- ASSERT_EQ( \
- STR ## _json, \
- ((nlohmann::json) TYPE { VAL })); \
- } \
- \
- TEST(TYPE, NAME ## _from_json) { \
- using nlohmann::literals::operator "" _json; \
- ASSERT_EQ( \
- TYPE { VAL }, \
- (STR ## _json).get<TYPE>()); \
+#define TEST_JSON(TYPE, NAME, STR, VAL) \
+ \
+ TEST(TYPE, NAME ## _to_json) { \
+ using nlohmann::literals::operator "" _json; \
+ ASSERT_EQ( \
+ STR ## _json, \
+ /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
+ ((nlohmann::json) TYPE { VAL })); \
+ } \
+ \
+ TEST(TYPE, NAME ## _from_json) { \
+ using nlohmann::literals::operator "" _json; \
+ ASSERT_EQ( \
+ /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
+ TYPE { VAL }, \
+ (STR ## _json).get<TYPE>()); \
}
TEST_JSON(OutputsSpec, all, R"(["*"])", OutputsSpec::All { })
diff --git a/tests/unit/libutil-support/tests/terminal-code-eater.cc b/tests/unit/libutil-support/tests/terminal-code-eater.cc
index ad05ed1f6..6e108009a 100644
--- a/tests/unit/libutil-support/tests/terminal-code-eater.cc
+++ b/tests/unit/libutil-support/tests/terminal-code-eater.cc
@@ -26,6 +26,7 @@ void TerminalCodeEater::feed(char c, std::function<void(char)> on_char)
// Just eat \r, since it is part of clearing a line
case '\r':
return;
+ default: break;
}
if constexpr (DEBUG_EATER) {
std::cerr << "eater uneat" << MaybeHexEscapedChar{c} << "\n";