aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2022-04-24 23:30:55 -0600
committerTom Rini <trini@konsulko.com>2022-04-25 10:00:03 -0400
commit18436c74dce29a74e996d5932ba01e0cd3481326 (patch)
treee20529fb59ac1e1013097b136de255ea1e9c790e
parent2fa4756d03a377dd0a6e943d2a16f4e2c9c97342 (diff)
downloadu-boot-18436c74dce29a74e996d5932ba01e0cd3481326.zip
u-boot-18436c74dce29a74e996d5932ba01e0cd3481326.tar.gz
u-boot-18436c74dce29a74e996d5932ba01e0cd3481326.tar.bz2
test: Add tests for trailing_strtol()
This function currently has no tests. Add some. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--include/vsprintf.h4
-rw-r--r--test/str_ut.c19
2 files changed, 21 insertions, 2 deletions
diff --git a/include/vsprintf.h b/include/vsprintf.h
index 532ef36..3d1f968 100644
--- a/include/vsprintf.h
+++ b/include/vsprintf.h
@@ -99,7 +99,7 @@ long long simple_strtoll(const char *cp, char **endp, unsigned int base);
* For example, "abc123" would return 123.
*
* @str: String to exxamine
- * Return: training number if found, else -1
+ * Return: trailing number if found, else -1
*/
long trailing_strtol(const char *str);
@@ -114,7 +114,7 @@ long trailing_strtol(const char *str);
* @str: String to exxamine
* @end: Pointer to end of string to examine, or NULL to use the
* whole string
- * Return: training number if found, else -1
+ * Return: trailing number if found, else -1
*/
long trailing_strtoln(const char *str, const char *end);
diff --git a/test/str_ut.c b/test/str_ut.c
index 6c817f6..9674a59 100644
--- a/test/str_ut.c
+++ b/test/str_ut.c
@@ -242,6 +242,25 @@ static int str_xtoa(struct unit_test_state *uts)
}
STR_TEST(str_xtoa, 0);
+static int str_trailing(struct unit_test_state *uts)
+{
+ char str1[] = "abc123def";
+
+ ut_asserteq(-1, trailing_strtol(""));
+ ut_asserteq(-1, trailing_strtol("123"));
+ ut_asserteq(123, trailing_strtol("abc123"));
+ ut_asserteq(4, trailing_strtol("12c4"));
+ ut_asserteq(-1, trailing_strtol("abd"));
+ ut_asserteq(-1, trailing_strtol("abc123def"));
+
+ ut_asserteq(-1, trailing_strtoln(str1, NULL));
+ ut_asserteq(123, trailing_strtoln(str1, str1 + 6));
+ ut_asserteq(-1, trailing_strtoln(str1, str1 + 9));
+
+ return 0;
+}
+STR_TEST(str_trailing, 0);
+
int do_ut_str(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
{
struct unit_test *tests = UNIT_TEST_SUITE_START(str_test);