test: add litest_assert_strv_no_substring

To verify a strv does *not* include a given substring

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1284>
This commit is contained in:
Peter Hutterer 2025-06-27 10:34:01 +10:00 committed by Marge Bot
parent ce85ee7d35
commit 6dfd72dc03
2 changed files with 35 additions and 0 deletions

View file

@ -4889,6 +4889,31 @@ _litest_assert_strv_substring(char **strv,
}
}
void
_litest_assert_strv_no_substring(char **strv,
char *substring,
const char *file,
const char *func,
int line)
{
if (!strv)
return;
size_t index;
bool found = strv_find_substring(strv, substring, &index);
if (found) {
_autofree_ char *strv_str = strv_join(strv, "', '");
_litest_abort_msg(
file,
line,
func,
"Unexpected substring '%s' present at index %zd in strv: ['%s']",
substring,
index,
strv_str);
}
}
void
litest_push_event_frame(struct litest_device *dev)
{

View file

@ -408,6 +408,16 @@ _litest_assert_strv_substring(char **strv,
#define litest_assert_strv_substring(strv_, substring_) \
_litest_assert_strv_substring(strv_, substring_, __FILE__, __func__, __LINE__)
void
_litest_assert_strv_no_substring(char **strv,
char *substring,
const char *file,
const char *func,
int line);
#define litest_assert_strv_no_substring(strv_, substring_) \
_litest_assert_strv_no_substring(strv_, substring_, __FILE__, __func__, __LINE__)
void
litest_backtrace(const char *func);