23 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_FDMI 94 .sd_name =
"SM finish",
129 M0_ENTRY(
"rec1 0x%p, rec2 0x%p", rec1, rec2);
133 frag1 = m0_rec_frag_tlist_head(&rec1->
fr_frags);
134 frag2 = m0_rec_frag_tlist_head(&rec2->
fr_frags);
141 frag1 = m0_rec_frag_tlist_next(&rec1->
fr_frags, frag1);
142 frag2 = m0_rec_frag_tlist_next(&rec2->
fr_frags, frag2);
143 }
while (frag1 !=
NULL || frag2 !=
NULL);
170 &
fom.fo_tx.tx_fol_rec.fr_fdmi_rec;
177 .
scf_name =
"fol src dummy fom phases",
339 if (fol_rec_cpy !=
NULL) {
384 const char **substrings,
397 const char *substrings[0x10];
399 {
"value",
true, {
NULL}},
400 {
"value",
true, {
"value",
NULL}},
401 {
"value",
true, {
"valu",
NULL}},
402 {
"value",
false, {
"value1",
NULL}},
403 {
"value",
false, {
"valu1",
NULL}},
404 {
"value",
true, {
"v",
"a",
"l",
"u",
"e",
NULL}},
405 {
"value",
false, {
"value",
"value1",
NULL}},
406 {
"value",
true, {
"value",
"value",
NULL}},
407 {
"value",
true, {
"lue",
NULL}},
408 {
"value",
true, {
"lu",
NULL}},
409 {
"987 value 123",
true, {
"value",
NULL}},
410 {
"987 value 123",
true, {
"value ",
NULL}},
411 {
"987 value 123",
true, {
"987 ",
" 123",
NULL}},
412 {
"987 value 123",
false, {
"987 123",
"value",
NULL}},
413 {
"987 value 123",
false, {
"value",
"987 123",
NULL}},
415 {
"",
true, {
"",
NULL}},
416 {
"",
false, {
"a",
NULL}},
436 for (j = 0; j <
value.b_nob; ++j)
448 &
value, (
const char **)substrings,
false);
466 {
"fdmi-filter-kv-substring",
468 {
"fdmi-filter-kv-substring-random",
482 #undef M0_TRACE_SUBSYSTEM
M0_INTERNAL void m0_sm_conf_init(struct m0_sm_conf *conf)
#define M0_ALLOC_ARR(arr, nr)
struct m0_fdmi_flt_id_arr fr_matched_flts
M0_INTERNAL void m0_fol_rec_fini(struct m0_fol_rec *rec)
const struct m0_fol_frag_ops * rp_ops
static void fdmi_fol_test_basic_ops(void)
void(* fs_get)(struct m0_fdmi_src_rec *src_rec)
static struct m0_sm_group * grp
static void fdmi_fol_test_filter_kv_substring_random(void)
M0_INTERNAL void m0_be_tx_fini(struct m0_be_tx *tx)
static struct m0_fdmi_src_rec * dummy_rec_pointer
static void fdmi_fol_test_filter_kv_substring(void)
M0_INTERNAL int m0_fol_fdmi_src_init(void)
static void dummy_fol_rec_assert_eq(const struct m0_fol_rec *rec1, const struct m0_fol_rec *rec2)
struct m0_fdmi_flt_opnd_pld ffo_data
int(* fs_node_eval)(struct m0_fdmi_src_rec *src_rec, struct m0_fdmi_flt_var_node *value_desc, struct m0_fdmi_flt_operand *value)
int const char const void * value
static void fdmi_fol_test_sudden_fini(void)
void * m0_fop_data(const struct m0_fop *fop)
void(* fs_put)(struct m0_fdmi_src_rec *src_rec)
int(* fs_decode)(struct m0_buf *buf, void **handle)
int(* fs_encode)(struct m0_fdmi_src_rec *src_rec, struct m0_buf *buf)
M0_INTERNAL void m0_fol_rec_init(struct m0_fol_rec *rec, struct m0_fol *fol)
union m0_fdmi_flt_opnd_pld::@169 fpl_pld
struct m0_be_ut_backend ut_be
M0_INTERNAL int m0_fop_fol_add(struct m0_fop *fop, struct m0_fop *rep, struct m0_dtx *dtx)
M0_INTERNAL void m0_fi_disable(const char *fp_func, const char *fp_tag)
static struct m0_sm_state_descr ffs_ut_fom_phases[]
static void m0_fi_enable(const char *func, const char *tag)
static bool dummy_post_called
static void fdmi_fol_check_registered(void)
M0_INTERNAL struct m0_fdmi_src_dock * m0_fdmi_src_dock_get(void)
void m0_be_ut_backend_init(struct m0_be_ut_backend *ut_be)
M0_INTERNAL void m0_fol_fdmi_src_fini(void)
M0_INTERNAL int m0_buf_alloc(struct m0_buf *buf, size_t size)
void * m0_alloc(size_t size)
M0_INTERNAL void m0_fol_fdmi_post_record(struct m0_fom *fom)
#define M0_BUF_INITS(str)
static void fdmi_fol_test_filter_kv_substring_match(struct m0_buf *value, const char **substrings, bool expected)
struct m0_sm_group * m0_be_ut_backend_sm_group_lookup(struct m0_be_ut_backend *ut_be)
struct m0_ut_suite fdmi_fol_fini_ut
M0_INTERNAL void m0_buf_free(struct m0_buf *buf)
M0_INTERNAL void m0_fop_fini(struct m0_fop *fop)
static void fdmi_fol_test_ops(enum ffs_ut_test_op test_op)
M0_INTERNAL bool m0_fol_fdmi__filter_kv_substring_match(struct m0_buf *value, const char **substrings)
struct m0_fop_type m0_fop_fdmi_rec_not_fopt
M0_INTERNAL uint64_t m0_rnd64(uint64_t *seed)
M0_INTERNAL void m0_sm_init(struct m0_sm *mach, const struct m0_sm_conf *conf, uint32_t state, struct m0_sm_group *grp)
static void dummy_fdmi_post_record(struct m0_fdmi_src_rec *src_rec)
void m0_be_ut_tx_init(struct m0_be_tx *tx, struct m0_be_ut_backend *ut_be)
struct m0_fdmi_src_ctx * fsr_src_ctx
void(* fs_begin)(struct m0_fdmi_src_rec *src_rec)
static struct m0_fop * fop
void m0_be_ut_backend_fini(struct m0_be_ut_backend *ut_be)
struct m0_fid * fmf_flt_id
struct m0_fdmi_src fsc_src
struct m0_uint128 fr_rec_id
#define M0_UINT128(hi, lo)
static struct m0_sm_trans_descr ffs_ut_fom_trans[]
struct m0_ut_suite fdmi_fol_ut
bool fsdc_filters_defined
void(* fs_record_post)(struct m0_fdmi_src_rec *src_rec)
M0_INTERNAL struct m0_fdmi_src_ctx * m0_fdmi__src_ctx_get(enum m0_fdmi_rec_type_id src_type_id)
M0_INTERNAL void m0_sm_asts_run(struct m0_sm_group *grp)
void(* fs_end)(struct m0_fdmi_src_rec *src_rec)
struct m0_pdclust_src_addr src
struct m0_fop * m0_fop_alloc(struct m0_fop_type *fopt, void *data, struct m0_rpc_machine *mach)