Lines Matching full:test
3 * KUnit test for struct string_stream.
10 #include <kunit/test.h>
38 static char *get_concatenated_string(struct kunit *test, struct string_stream *stream) in get_concatenated_string() argument
42 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, str); in get_concatenated_string()
43 kunit_add_action(test, kfree_wrapper, (void *)str); in get_concatenated_string()
49 static void string_stream_managed_init_test(struct kunit *test) in string_stream_managed_init_test() argument
54 stream = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_managed_init_test()
55 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream); in string_stream_managed_init_test()
57 KUNIT_EXPECT_EQ(test, stream->length, 0); in string_stream_managed_init_test()
58 KUNIT_EXPECT_TRUE(test, list_empty(&stream->fragments)); in string_stream_managed_init_test()
59 KUNIT_EXPECT_TRUE(test, (stream->gfp == GFP_KERNEL)); in string_stream_managed_init_test()
60 KUNIT_EXPECT_FALSE(test, stream->append_newlines); in string_stream_managed_init_test()
61 KUNIT_EXPECT_TRUE(test, string_stream_is_empty(stream)); in string_stream_managed_init_test()
65 static void string_stream_unmanaged_init_test(struct kunit *test) in string_stream_unmanaged_init_test() argument
70 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream); in string_stream_unmanaged_init_test()
71 kunit_add_action(test, cleanup_raw_stream, stream); in string_stream_unmanaged_init_test()
73 KUNIT_EXPECT_EQ(test, stream->length, 0); in string_stream_unmanaged_init_test()
74 KUNIT_EXPECT_TRUE(test, list_empty(&stream->fragments)); in string_stream_unmanaged_init_test()
75 KUNIT_EXPECT_TRUE(test, (stream->gfp == GFP_KERNEL)); in string_stream_unmanaged_init_test()
76 KUNIT_EXPECT_FALSE(test, stream->append_newlines); in string_stream_unmanaged_init_test()
78 KUNIT_EXPECT_TRUE(test, string_stream_is_empty(stream)); in string_stream_unmanaged_init_test()
105 static void string_stream_managed_free_test(struct kunit *test) in string_stream_managed_free_test() argument
107 struct string_stream_test_priv *priv = test->priv; in string_stream_managed_free_test()
113 kunit_activate_static_stub(test, in string_stream_managed_free_test()
117 priv->expected_free_stream = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_managed_free_test()
118 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, priv->expected_free_stream); in string_stream_managed_free_test()
121 kunit_free_string_stream(test, priv->expected_free_stream); in string_stream_managed_free_test()
123 KUNIT_EXPECT_TRUE(test, priv->stream_was_freed); in string_stream_managed_free_test()
124 KUNIT_EXPECT_FALSE(test, priv->stream_free_again); in string_stream_managed_free_test()
127 /* string_stream object is freed when test is cleaned up. */
128 static void string_stream_resource_free_test(struct kunit *test) in string_stream_resource_free_test() argument
130 struct string_stream_test_priv *priv = test->priv; in string_stream_resource_free_test()
133 fake_test = kunit_kzalloc(test, sizeof(*fake_test), GFP_KERNEL); in string_stream_resource_free_test()
134 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, fake_test); in string_stream_resource_free_test()
152 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, priv->expected_free_stream); in string_stream_resource_free_test()
157 /* Cleanup test - the stub function should be called */ in string_stream_resource_free_test()
160 /* Set current->kunit_test back to current test. */ in string_stream_resource_free_test()
161 current->kunit_test = test; in string_stream_resource_free_test()
163 KUNIT_EXPECT_TRUE(test, priv->stream_was_freed); in string_stream_resource_free_test()
164 KUNIT_EXPECT_FALSE(test, priv->stream_free_again); in string_stream_resource_free_test()
171 static void string_stream_line_add_test(struct kunit *test) in string_stream_line_add_test() argument
179 stream = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_line_add_test()
180 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream); in string_stream_line_add_test()
188 /* Sanity-check that our test string isn't truncated */ in string_stream_line_add_test()
189 KUNIT_ASSERT_LT(test, len, sizeof(line)); in string_stream_line_add_test()
196 concat_string = get_concatenated_string(test, stream); in string_stream_line_add_test()
197 KUNIT_EXPECT_NOT_ERR_OR_NULL(test, concat_string); in string_stream_line_add_test()
198 KUNIT_EXPECT_EQ(test, strlen(concat_string), total_len); in string_stream_line_add_test()
207 KUNIT_EXPECT_NOT_NULL(test, string_end); in string_stream_line_add_test()
214 KUNIT_EXPECT_STREQ(test, pos, line); in string_stream_line_add_test()
220 KUNIT_EXPECT_EQ(test, strlen(pos), 0); in string_stream_line_add_test()
224 static void string_stream_variable_length_line_test(struct kunit *test) in string_stream_variable_length_line_test() argument
235 stream = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_variable_length_line_test()
236 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream); in string_stream_variable_length_line_test()
252 concat_string = get_concatenated_string(test, stream); in string_stream_variable_length_line_test()
253 KUNIT_EXPECT_NOT_ERR_OR_NULL(test, concat_string); in string_stream_variable_length_line_test()
254 KUNIT_EXPECT_EQ(test, strlen(concat_string), total_len); in string_stream_variable_length_line_test()
264 KUNIT_EXPECT_NOT_NULL(test, string_end); in string_stream_variable_length_line_test()
270 KUNIT_EXPECT_STREQ(test, pos, &line[offset]); in string_stream_variable_length_line_test()
276 KUNIT_EXPECT_EQ(test, strlen(pos), 0); in string_stream_variable_length_line_test()
280 static void string_stream_append_test(struct kunit *test) in string_stream_append_test() argument
295 stream_1 = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_append_test()
296 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream_1); in string_stream_append_test()
298 stream_2 = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_append_test()
299 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream_2); in string_stream_append_test()
303 KUNIT_EXPECT_EQ(test, strlen(get_concatenated_string(test, stream_1)), 0); in string_stream_append_test()
309 stream1_content_before_append = get_concatenated_string(test, stream_1); in string_stream_append_test()
313 KUNIT_EXPECT_STREQ(test, get_concatenated_string(test, stream_1), in string_stream_append_test()
327 stream_2_content = get_concatenated_string(test, stream_2); in string_stream_append_test()
330 combined_content = kunit_kmalloc(test, combined_length, GFP_KERNEL); in string_stream_append_test()
331 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, combined_content); in string_stream_append_test()
335 KUNIT_EXPECT_STREQ(test, get_concatenated_string(test, stream_1), combined_content); in string_stream_append_test()
338 kunit_free_string_stream(test, stream_1); in string_stream_append_test()
340 stream_1 = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_append_test()
341 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream_1); in string_stream_append_test()
344 KUNIT_EXPECT_STREQ(test, get_concatenated_string(test, stream_1), stream_2_content); in string_stream_append_test()
348 static void string_stream_append_auto_newline_test(struct kunit *test) in string_stream_append_auto_newline_test() argument
353 stream_1 = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_append_auto_newline_test()
354 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream_1); in string_stream_append_auto_newline_test()
356 KUNIT_EXPECT_TRUE(test, stream_1->append_newlines); in string_stream_append_auto_newline_test()
359 stream_2 = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_append_auto_newline_test()
360 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream_2); in string_stream_append_auto_newline_test()
367 KUNIT_EXPECT_STREQ(test, get_concatenated_string(test, stream_1), in string_stream_append_auto_newline_test()
370 kunit_free_string_stream(test, stream_2); in string_stream_append_auto_newline_test()
371 stream_2 = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_append_auto_newline_test()
372 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream_2); in string_stream_append_auto_newline_test()
382 KUNIT_EXPECT_STREQ(test, get_concatenated_string(test, stream_1), in string_stream_append_auto_newline_test()
387 static void string_stream_append_empty_string_test(struct kunit *test) in string_stream_append_empty_string_test() argument
392 stream = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_append_empty_string_test()
393 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream); in string_stream_append_empty_string_test()
397 KUNIT_EXPECT_TRUE(test, string_stream_is_empty(stream)); in string_stream_append_empty_string_test()
398 KUNIT_EXPECT_TRUE(test, list_empty(&stream->fragments)); in string_stream_append_empty_string_test()
405 KUNIT_EXPECT_EQ(test, list_count_nodes(&stream->fragments), original_frag_count); in string_stream_append_empty_string_test()
406 KUNIT_EXPECT_STREQ(test, get_concatenated_string(test, stream), "Add this line"); in string_stream_append_empty_string_test()
410 static void string_stream_no_auto_newline_test(struct kunit *test) in string_stream_no_auto_newline_test() argument
414 stream = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_no_auto_newline_test()
415 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream); in string_stream_no_auto_newline_test()
428 KUNIT_EXPECT_STREQ(test, get_concatenated_string(test, stream), in string_stream_no_auto_newline_test()
433 static void string_stream_auto_newline_test(struct kunit *test) in string_stream_auto_newline_test() argument
437 stream = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_auto_newline_test()
438 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream); in string_stream_auto_newline_test()
441 KUNIT_EXPECT_TRUE(test, stream->append_newlines); in string_stream_auto_newline_test()
455 KUNIT_EXPECT_STREQ(test, get_concatenated_string(test, stream), in string_stream_auto_newline_test()
460 * This doesn't actually "test" anything. It reports time taken
463 static void string_stream_performance_test(struct kunit *test) in string_stream_performance_test() argument
472 stream = kunit_alloc_string_stream(test, GFP_KERNEL); in string_stream_performance_test()
473 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, stream); in string_stream_performance_test()
503 kunit_info(test, "Time elapsed: %lld us\n", in string_stream_performance_test()
505 kunit_info(test, "Total string length: %zu\n", total_string_length); in string_stream_performance_test()
506 kunit_info(test, "Bytes requested: %zu\n", bytes_requested); in string_stream_performance_test()
507 kunit_info(test, "Actual bytes allocated: %zu\n", actual_bytes_used); in string_stream_performance_test()
510 static int string_stream_test_init(struct kunit *test) in string_stream_test_init() argument
514 priv = kunit_kzalloc(test, sizeof(*priv), GFP_KERNEL); in string_stream_test_init()
518 test->priv = priv; in string_stream_test_init()
540 .name = "string-stream-test",