Motr  M0
fol_ut.c File Reference
#include "lib/trace.h"
#include "lib/misc.h"
#include "ut/ut.h"
#include "fop/fom_generic.h"
#include "fdmi/fdmi.h"
#include "fdmi/fops.h"
#include "fdmi/source_dock.h"
#include "fdmi/source_dock_internal.h"
#include "fdmi/fol_fdmi_src.h"
#include "rpc/rpc_opcodes.h"
#include "lib/finject.h"
#include "fdmi/ut/sd_common.h"
Include dependency graph for fol_ut.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_FDMI
 

Enumerations

enum  ffs_ut_test_op { FFS_UT_OPS_TEST_BASIC_OPS, FFS_UT_OPS_TEST_SUDDEN_FINI }
 
enum  { FFS_UT_FOM_INIT = M0_FOM_PHASE_INIT, FFS_UT_FOM_READY = M0_FOM_PHASE_NR, FFS_UT_FOM_FINISH = M0_FOPH_FINISH }
 
enum  { FDMI_FOL_TEST_KV_SUBSTRING_FILTER_BUF_SIZE = 0x1000000, FDMI_FOL_TEST_KV_SUBSTRING_FILTER_STR_NR = 0x10, FDMI_FOL_TEST_KV_SUBSTRING_FILTER_STR_SIZE = 0x100 }
 

Functions

static void fdmi_fol_check_registered (void)
 
static void dummy_fdmi_post_record (struct m0_fdmi_src_rec *src_rec)
 
static void dummy_fol_rec_assert_eq (const struct m0_fol_rec *rec1, const struct m0_fol_rec *rec2)
 
static void fdmi_fol_test_ops (enum ffs_ut_test_op test_op)
 
static void fdmi_fol_test_basic_ops (void)
 
static void fdmi_fol_test_sudden_fini (void)
 
static void fdmi_fol_test_filter_kv_substring_match (struct m0_buf *value, const char **substrings, bool expected)
 
static void fdmi_fol_test_filter_kv_substring (void)
 
static void fdmi_fol_test_filter_kv_substring_random (void)
 

Variables

static struct m0_sm_state_descr ffs_ut_fom_phases []
 
static struct m0_sm_trans_descr ffs_ut_fom_trans []
 
static bool dummy_post_called = false
 
static struct m0_fdmi_src_recdummy_rec_pointer
 
struct m0_ut_suite fdmi_fol_ut
 
struct m0_ut_suite fdmi_fol_fini_ut
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_FDMI

Definition at line 23 of file fol_ut.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
FFS_UT_FOM_INIT 
FFS_UT_FOM_READY 
FFS_UT_FOM_FINISH 

Definition at line 76 of file fol_ut.c.

◆ anonymous enum

anonymous enum
Enumerator
FDMI_FOL_TEST_KV_SUBSTRING_FILTER_BUF_SIZE 
FDMI_FOL_TEST_KV_SUBSTRING_FILTER_STR_NR 
FDMI_FOL_TEST_KV_SUBSTRING_FILTER_STR_SIZE 

Definition at line 377 of file fol_ut.c.

◆ ffs_ut_test_op

Enumerator
FFS_UT_OPS_TEST_BASIC_OPS 
FFS_UT_OPS_TEST_SUDDEN_FINI 

Definition at line 69 of file fol_ut.c.

Function Documentation

◆ dummy_fdmi_post_record()

static void dummy_fdmi_post_record ( struct m0_fdmi_src_rec src_rec)
static

Definition at line 108 of file fol_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dummy_fol_rec_assert_eq()

static void dummy_fol_rec_assert_eq ( const struct m0_fol_rec rec1,
const struct m0_fol_rec rec2 
)
static

Definition at line 122 of file fol_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fdmi_fol_check_registered()

static void fdmi_fol_check_registered ( void  )
static

Register happens in m0_init – we just need to make sure here that it went OK.

Definition at line 45 of file fol_ut.c.

Here is the call graph for this function:

◆ fdmi_fol_test_basic_ops()

static void fdmi_fol_test_basic_ops ( void  )
static

Definition at line 363 of file fol_ut.c.

Here is the call graph for this function:

◆ fdmi_fol_test_filter_kv_substring()

static void fdmi_fol_test_filter_kv_substring ( void  )
static

Definition at line 391 of file fol_ut.c.

Here is the call graph for this function:

◆ fdmi_fol_test_filter_kv_substring_match()

static void fdmi_fol_test_filter_kv_substring_match ( struct m0_buf value,
const char **  substrings,
bool  expected 
)
static

Definition at line 383 of file fol_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fdmi_fol_test_filter_kv_substring_random()

static void fdmi_fol_test_filter_kv_substring_random ( void  )
static

Definition at line 425 of file fol_ut.c.

Here is the call graph for this function:

◆ fdmi_fol_test_ops()

static void fdmi_fol_test_ops ( enum ffs_ut_test_op  test_op)
static

Definition at line 148 of file fol_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fdmi_fol_test_sudden_fini()

static void fdmi_fol_test_sudden_fini ( void  )
static

Definition at line 370 of file fol_ut.c.

Here is the call graph for this function:

Variable Documentation

◆ dummy_post_called

bool dummy_post_called = false
static

Definition at line 105 of file fol_ut.c.

◆ dummy_rec_pointer

struct m0_fdmi_src_rec* dummy_rec_pointer
static

Definition at line 106 of file fol_ut.c.

◆ fdmi_fol_fini_ut

struct m0_ut_suite fdmi_fol_fini_ut
Initial value:
= {
.ts_name = "fdmi-fol-fini-ut",
.ts_tests = {
{ "fdmi-fol-fini", fdmi_fol_test_sudden_fini},
{ NULL, NULL },
},
}
#define NULL
Definition: misc.h:38
static void fdmi_fol_test_sudden_fini(void)
Definition: fol_ut.c:370

Definition at line 474 of file fol_ut.c.

◆ fdmi_fol_ut

struct m0_ut_suite fdmi_fol_ut
Initial value:
= {
.ts_name = "fdmi-fol-ut",
.ts_tests = {
{ "fdmi-fol-register", fdmi_fol_check_registered},
{ "fdmi-fol-ops", fdmi_fol_test_basic_ops},
{ "fdmi-filter-kv-substring",
{ "fdmi-filter-kv-substring-random",
{ NULL, NULL },
},
}
#define NULL
Definition: misc.h:38
static void fdmi_fol_test_basic_ops(void)
Definition: fol_ut.c:363
static void fdmi_fol_test_filter_kv_substring_random(void)
Definition: fol_ut.c:425
static void fdmi_fol_test_filter_kv_substring(void)
Definition: fol_ut.c:391
static void fdmi_fol_check_registered(void)
Definition: fol_ut.c:45

Definition at line 461 of file fol_ut.c.

◆ ffs_ut_fom_phases

struct m0_sm_state_descr ffs_ut_fom_phases[]
static
Initial value:
= {
.sd_flags = M0_SDF_INITIAL,
.sd_name = "init",
.sd_allowed = M0_BITS(FFS_UT_FOM_READY)
},
.sd_name = "ready",
.sd_allowed = M0_BITS(FFS_UT_FOM_FINISH)
},
.sd_flags = M0_SDF_TERMINAL,
.sd_name = "SM finish",
}
}
#define M0_BITS(...)
Definition: misc.h:236

Definition at line 82 of file fol_ut.c.

◆ ffs_ut_fom_trans

struct m0_sm_trans_descr ffs_ut_fom_trans[]
static
Initial value:

Definition at line 98 of file fol_ut.c.