Mending test for list_cut_position*() for the missing check of integer "i" after the second loop. The variable should be checked for second time to make sure both lists after the cut operation are formed as expected.
Signed-off-by: I Hsin Cheng richard120310@gmail.com --- lib/list-test.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/lib/list-test.c b/lib/list-test.c index 37cbc33e9fdb..8d1d47a9fe9e 100644 --- a/lib/list-test.c +++ b/lib/list-test.c @@ -404,10 +404,13 @@ static void list_test_list_cut_position(struct kunit *test)
KUNIT_EXPECT_EQ(test, i, 2);
+ i = 0; list_for_each(cur, &list1) { KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); i++; } + + KUNIT_EXPECT_EQ(test, i, 1); }
static void list_test_list_cut_before(struct kunit *test) @@ -432,10 +435,13 @@ static void list_test_list_cut_before(struct kunit *test)
KUNIT_EXPECT_EQ(test, i, 1);
+ i = 0; list_for_each(cur, &list1) { KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); i++; } + + KUNIT_EXPECT_EQ(test, i, 2); }
static void list_test_list_splice(struct kunit *test)
On Tue, 10 Sept 2024 at 12:35, I Hsin Cheng richard120310@gmail.com wrote:
Mending test for list_cut_position*() for the missing check of integer "i" after the second loop. The variable should be checked for second time to make sure both lists after the cut operation are formed as expected.
Signed-off-by: I Hsin Cheng richard120310@gmail.com
Alas, this breaks the list test, as we're comparing the entries we get from list_for_each() with entries[i], so changing the value of 'i' will compare against the wrong elements.
You could either update the KUNIT_EXPECT_EQ at the bottom to verify the _total_ number of elements (which should be fine, as we already verify the value of i after the first loop), or compare each entry against, e.g., &entries[2 + i].
This is causing a test failure on -next: https://lore.kernel.org/all/202409161554.6c3e8d5d-oliver.sang@intel.com/
Could we remove this from mm-nonmm pending a fix?
Cheers, -- David
lib/list-test.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/lib/list-test.c b/lib/list-test.c index 37cbc33e9fdb..8d1d47a9fe9e 100644 --- a/lib/list-test.c +++ b/lib/list-test.c @@ -404,10 +404,13 @@ static void list_test_list_cut_position(struct kunit *test)
KUNIT_EXPECT_EQ(test, i, 2);
i = 0; list_for_each(cur, &list1) { KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]);
Either change this to &entries[2 + i], or...
i++; }
KUNIT_EXPECT_EQ(test, i, 1);
This to expect i == 3
}
static void list_test_list_cut_before(struct kunit *test) @@ -432,10 +435,13 @@ static void list_test_list_cut_before(struct kunit *test)
KUNIT_EXPECT_EQ(test, i, 1);
i = 0; list_for_each(cur, &list1) { KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]);
Either change this to &entries[1 + i], or...
i++; }
KUNIT_EXPECT_EQ(test, i, 2);
This to expect i == 3.
}
static void list_test_list_splice(struct kunit *test)
2.43.0
linux-kselftest-mirror@lists.linaro.org