2019-09-23 12:02:37 +03:00
// SPDX-License-Identifier: GPL-2.0
/*
* KUnit test for struct string_stream .
*
* Copyright ( C ) 2019 , Google LLC .
* Author : Brendan Higgins < brendanhiggins @ google . com >
*/
# include <kunit/test.h>
# include <linux/slab.h>
2020-01-07 01:28:18 +03:00
# include "string-stream.h"
2019-09-23 12:02:37 +03:00
static void string_stream_test_empty_on_creation ( struct kunit * test )
{
struct string_stream * stream = alloc_string_stream ( test , GFP_KERNEL ) ;
KUNIT_EXPECT_TRUE ( test , string_stream_is_empty ( stream ) ) ;
}
static void string_stream_test_not_empty_after_add ( struct kunit * test )
{
struct string_stream * stream = alloc_string_stream ( test , GFP_KERNEL ) ;
string_stream_add ( stream , " Foo " ) ;
KUNIT_EXPECT_FALSE ( test , string_stream_is_empty ( stream ) ) ;
}
static void string_stream_test_get_string ( struct kunit * test )
{
struct string_stream * stream = alloc_string_stream ( test , GFP_KERNEL ) ;
char * output ;
string_stream_add ( stream , " Foo " ) ;
string_stream_add ( stream , " %s " , " bar " ) ;
output = string_stream_get_string ( stream ) ;
2019-09-23 12:02:41 +03:00
KUNIT_ASSERT_STREQ ( test , output , " Foo bar " ) ;
2019-09-23 12:02:37 +03:00
}
static struct kunit_case string_stream_test_cases [ ] = {
KUNIT_CASE ( string_stream_test_empty_on_creation ) ,
KUNIT_CASE ( string_stream_test_not_empty_after_add ) ,
KUNIT_CASE ( string_stream_test_get_string ) ,
{ }
} ;
static struct kunit_suite string_stream_test_suite = {
. name = " string-stream-test " ,
. test_cases = string_stream_test_cases
} ;
2020-01-07 01:28:20 +03:00
kunit_test_suites ( & string_stream_test_suite ) ;